Those early Quake-engine swimming textures were something special in Kingpin.
And they’ve kept them for the remaster! It looks fucking shit.
My understanding is that it’s an artifact of the vertex compression system used in Quake 2 engine games. That engine didn’t support skeletal animation, so basically every frame of character animation was its own model. So, not fixable without an engine upgrade and redoing every animation from scratch.
I finished Kingpin back in the day. The thing I remember it being most notable for was using the word “fuck.” A lot. People would open doors and start shooting at you while screaming, “Fuuuuuuccker.” It was supposed to feel gritty and adult themed but I think it was mostly just funny.
It tried some interesting stuff with letting you interact with characters in ways other than killing them. Kind of novel for an FPS at the time but nothing special at all today. Plus that trailer doesn’t look good at all.
All integer (!), and not floating-point based UV mapping. 'Cause FP was all like slow and stuff back in the Second Age.
The renderer interpolating the vertex data in realtime is what causes the swimming artifacts in the first place, so I doubt speed was the overriding consideration. But since the animation system required storing sometimes dozens of slight variations of each model, storage space would have been a huge consideration. So they used a lossy compression scheme that represents each vertex as three short integers and an index into an array of precomputed 3D offsets to nudge the vertex closer to its “actual” position. Basically 3:1 compression compared to storing each vertex as three 4-bytes floats.
Vertices are composed of “compressed” 3D coordinates, which are stored in one byte for each coordinate, and of a normal vector index. The normal vector array is stored in the anorms.h file of Quake 2 and hold 162 vectors in floating point (3 float ).
To uncompress vertex coordinates, you need to multiply each component by the scale factor and then add the respective translation component:
MD2 models are frame-by-frame animated. A frame is a screenshot of an animation. To avoid jerky and ugly animations, we use linear interpolation between vertex coordinates of two consecutive frames (the current frame we are drawing and the next frame).
Yikes. No doubt considered an acceptable solution back when everyone was running at 640x480. And of course more intended for quick running/walking/death animations, not the slow, closeup, cinematic use that Kingpin forced it into.
Did this game require the CD to be in the drive for the red book audio to be played?
What’s the count?
I said what’s the muthuf***n’ count?
@rei I am pretty sure the original game did, like Quake and Quake 2.
I’d shell out for a remaster of this. Also Anachronox, please.