Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I've been playing MediEvil lately and it got me wondering, what causes some of the old 3D games have "flowing" graphics when moving? It's present in games like Final Fantasy VII, MediEvil, i remember Dungeon Keeper 2 having the same thing in zoom mode, however f.e. Quake 2 didn't have this "issue" and it's just as old. The resolution doesn't seem to be the problem, everything is rendered perfectly fine when you stand still. So is the game refreshing slowly or it's something to do with buffering?

share|improve this question
5  
Can you link to a video that demonstrates the effect you're talking about? –  John Calsbeek Apr 5 '12 at 7:06
1  
youtube.com/watch?v=H-M6EPgs1JY&t=1m20s for example, each time the camera moves the screen goes nuts, it looks weird, the PS doesn't seem to have issues generating a straight line, so i don't think it's just pixelation –  dreta Apr 5 '12 at 7:59
1  
I can't see anything... perhaps I was so used to playing games back then that I don't notice the problems. But my first thought was that maybe you were seeing the affine texture tranformation mentioned in Mike's answer, which can make things seem to stretch weirdly based on the looking angle. –  Kylotan Apr 5 '12 at 18:30
    
@Kylotan it's specially noticeable in slower camera movements (e.g. around min 16 in dreta's YouTube link, you should notice it in the floor and walls.) I guess that's why PS games had so fast cameras in almost every game :) –  kaoD Apr 6 '12 at 5:27
add comment

2 Answers

up vote 22 down vote accepted
+500

I have only the most bizarre of citations for this, but it appears on the original PlayStation, the vector unit (which was usually used to transform vertices) was capable of fixed-point operations, and the rasterizer also used fixed-point math, but only integers could be passed between the two. So you're seeing quantization artifacts: polygon corners are getting snapped to the nearest grid point. Perfectly stable for a still scene, but fairly disconcerting in motion.

From a little bit of additional research, it appears that the original PlayStation had different resolutions at which the rasterizer could work, from 256x224 to 740x480. So you could pick lower resolutions to get better fill rate, but you'd see these sorts of artifacts, as the grid at low resolutions is coarse enough to easily detect with the naked eye.

share|improve this answer
    
IIRC on PC (to do with mesh animations) there were some problems (fairly recently actually, fixed around 2000-2005) with floating point calculations on the GPU - I can't remember what the exact issue was though but it resulted in very "disconcerting" character animations. I remember Star Wars The Phantom Menace exhibited this behaviour quite drastically. –  Jonathan Dickinson Apr 5 '12 at 9:38
    
@JonathanDickinson You aren't thinking of the "candy wrapper" effect on joints, are you? isg.cs.tcd.ie/projects/DualQuaternions –  John Calsbeek Apr 5 '12 at 16:25
    
Nope, it was some inaccuracies arising for reasons I just can't remember. –  Jonathan Dickinson Apr 6 '12 at 11:42
add comment

If you play Quake 2 in software mode, it actually does have some of the issues you mention. If you look at certian models at sharp angles in Quake 2, you'll see "swimming" textures. This is because many early 3D engines used affine texture mapping. This saves you the expensive per-pixel divide that gives you perspective correct texture mapping, but it means your textures will warp when viewed at sharp angles.

Also, many early 3D games (including Quake 2) used simple vertex morphing to animate their models as opposed to skeletal animation. The vertices are tweened between keyframes with linear interpolation. Naturally, this doesn't preserve the distances between vertices very well, so you end up with jelly vertex syndrome—the models jiggle a little bit as they animate!

share|improve this answer
2  
Correct, and the resolution of the meshes was only 256x256, so the movement of the vertices interpolated in non-straight lines. Kind of like trying to draw a smoothly animating sword swing in pixel art. –  Myrddin Emrys Apr 5 '12 at 20:54
    
Yeah the MD2 format only had one 3 Bytes / vertex. –  Tili Apr 6 '12 at 7:47
    
Quake 2 actually did do perspective-correct texture mapping, but only corrected every 16 (or 8 via a user option) pixels. –  Jimmy Shelter Apr 5 '13 at 23:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.