Grotesque videogames

7 Likes

ok but ultima 6’s perspective is all fucked up and weird too

would it have been that hard to just make them isometric or dimetric or whatever

what’s with the weird forklift

6 Likes

I saw the weird modded forklift one day after posting and hoped no one else would ever notice

10 Likes

Im freaked out that I didnt notice it until it was pointed out.

3 Likes

kingpin’s models are grotesque on their own but the weird uncomfortable writhing of quake 2 animation at 0:45 really seals the deal
4 Likes

I think that was supposed to be heat distortion from the fire barrel? This scene direction is very weird.

No, all Quake 1/2/3 derived games had this unless their devs added custom character skinning. Basically, pre-Doom 3 ID engines, rather than using the skeleton-based character deformation that’s ubiquitous today, used a bunch of pre-baked model poses. Think sprite sheet, but with 3D models. This allowed them to precompute skin deformations (which back when this tech choice was made couldn’t be trivially supported in GPUs like they are now) but since of course this takes up a lot of memory, the vertex coordinates were stored with pretty low precision, thus the “vertex swimming” you see here, which is the vertices jumping from one low-precision position to the next.

It’s not a problem as long as you don’t do close-ups, but of course as game cinematography (which is inexistent in the ID games) became more elaborate you needed those close ups.

Half-Life modified the Quake engine to support skeletal deformation and basically originated the trend (along with swappable skins that skeleton-based animations allow) but for the anecdote the very first Alone in the Dark already had skeletal animations, it’s just that the idea kinda got lost along the way until Half Life brought it back.

5 Likes

Presumably id preferred the look of skinned joints over the penetrating polygons of earlier games, and felt the vertex imprecision was worth it?

I remember how big a deal they made of Banjo-Kazooie’s skinned joints. It eventually became reasonably standard in the latter years of the N64’s life. Were there any PSX games that had skinned joints?

IIRC the reason Quake 2 has issues with this is because id added animation interpolation to the engine and the animators had to manually transform the vertices while keyframing the animations, which had the side effect of vertex warping

2 Likes

God I remember watching like 5 minutes of some of those dour FPS games from the late 90s at my friend’s house (Kingpin, Soldier of Fortune, etc) and I think even then I thought those games were horribly ugly.

2 Likes

Carmack’s choice made sense at Quake 1’s time, because it was light on the CPU and being a shooter you’d never really get close enough to enemies for it to matter (and indeed it’s not a problem in any of the three Quake games), but also because it was very much in line with the precompute-everything approach he’d continue to be a fan of for a long time. He didn’t foresee it’d be a super poor fit for cutscenes because he didn’t think much of cutscenes in general (see his old plot-for-games-is-like-plot-for-porn quote). Other games that did stuff like Kingpin should’ve thought better, though, or modded it like HL1 did.

Once GPUs arrived he was also pretty vocal in interviews about the fact their solutions for skinning (just rewriting the vertex buffer on each frame, and then hardware matrix palette skinning) were either non-solutions or poorly thought out until vertex shaders arrived. That being said I think his approach had outstayed its welcome by Quake 3, and indeed he was already compromising on it in that game.

A bunch of late PSX games had skinned joints. Off the top of my head all the late Square games had it (FF8, FF9, Chrono Cross, Vagrant story for example), although it’s worth noting their specific variant only allowed one bone per vertex (ie 3 bones per triangle max). Soul Reaver did, too, and probably had the same limitation.

A funny one I remember is Omikron: the nomal soul, which had a PS1 version that didn’t come out, but on the other hand I’ve looked at the PC version’s data quite a bit. It’s got the same kind of 1-weight-per-vertex approach, but on top of that a given triangle can only be weighted to two bones that have a direct parent-child link, ie conceptually you have non-skinned joints with “socks” between them. You can smell the bone stack from here.

@iguferon the interpolation was meant to hide the vertex jumps, which had become really apparent with the higher resolutions new GPUs offered. Instead, all it did was turn vertex snapping into vertex swimming. Manually transforming the vertices was merely an option, one that was offered by not having a real time skeleton since that meant you could replicate any kind of vertex operator, not just the bone based ones.


It’s actually kinda super interesting, because these days that kind of vertex animation has come back with a vengeance for specific effects, except now we’re much better equipped to deal with precision issues. See that presentation from 38:19 onwards.

6 Likes

Playing with geometry shaders is great fun and is criminally underexplored for messing with the human body

1 Like

This was real hard to understand until I worked out you meant (modern) skin == mesh, not (Quake-era) skin == model texture. Also, ‘precompute skin deformations’ is a weird way to say ‘positioned the model mesh vertices by hand for each frame’. Yes, I still miss Milkshake3D.

The textures also wiggle! Abrash sez:

Early on, we decided to allow lower drawing quality for triangle models than for the world, in the interests of speed. For example, the triangles in the models are small, and usually distant–and generally part of a moving monster that’s trying its best to do you in–so the quality benefits of perspective texture mapping would add little value. Consequently, we chose to draw the triangles with affine texture mapping, avoiding the work required for perspective. Mind you, the models are perspective correct at the vertices; it’s just the pixels between the vertices that suffer slight warping.

Another sacrifice at the altar of performance was subpixel precision. Before each triangle is drawn, we snap its vertices to the nearest integer screen coordinates, rather than doing the extra calculations to handle fractional vertex coordinates. This causes some jumping of triangle edges, but again, is not a problem in normal gameplay.

2 Likes

Animators were calling them skins years before quakers/modders coopted the word to mean texture (to be fair, that’s again Carmack’s fault, as a non-animator, non-modeler, I’m-gonna-name-Newtons’s-method-Carmack’s-method kind of guy he used the term skin for textures in the readme for the Quake 1 tools).

They’re called skins because the deformers are called skeletons, a term that dates back to the original late eighties paper that introduced the technique. Those terms were chosen because said paper had a definite anatomical bent, aimed as it was towards deforming human models specifically, and so when 3d software integrated that they adopted the terminology too (personal example I can remember is 3D studio not-max 4 had it as a standard feature, but I think there was a 3DS3 plugin that allowed it already).

As for deforming the vertices by hand, maybe you did, but ID didn’t. There were nice shots showing their models’ skeletons in magazines back then. They were using 3DS Max’s character studio for Quake 3 for sure, but in the Quake 1 days it probably was Softimage 3D. The released Quake 1 tools were modeler-agnostic and expected an already deformed polygon soup as input which is probably what led toolmakers of the day to not bother with bones all that much.

2 Likes

Sure. It’s still hard to hear ‘[…] Quake […] skin […]’ and not confuse it with a Quake skin! I appreciate the clarifications, I’m learning heaps.

I think they used Alias PowerAnimator, hence why the actor entities were called ‘alias models’ in the code. Pretty sure it had IK/rigging support in 1995, here’s some bones from 1997:

2019-10-03%2014_18_16-Alias_wavefront%20PowerAnimator%20in%20Game%20Production%20(1997)%20-%20YouTube

uh 90s demo/sales reels for 3d modeling software is a goldmine of the grotesque.

2 Likes

does this count

Oh god the options are now in floating bubbles?!
http://cyberspaceandtime.com/Gaano9Y6KAU.video+related

meet me in world chat baby

2 Likes

why is there a forklift in this picture.
40%20AM

2 Likes
1 Like