The sheer volume of trains/trolleys/mine carts in games with static wheelsets

inlimbo

Newcomer
The sheer volume of trains/trolleys/mine carts with static wheelsets in our games

In the grand scheme of things this is a non-issue, but have you ever noticed how many virtual trains and their like lack working, rotating wheels?

I was watching a Let's Play of Skies of Arcadia tonight for god knows what reason when I noticed the mine carts in Moon Stone Mountain did possess working, spinning wheels (or at the very least least one did), which caught me off guard. This got me thinking about all the trains in games that don't: GTA 3/San Andreas/4/5, Infamous 1/2, Half-Life 2, THUG 2, Hitman: Contracts, Uncharted 2 -- my memory's not what it used to be, but the list is long.

I can understand why this happens. In GTA 3, and possibly San Andreas, the wheels and trucks of the subway train are merely a single texture. Why waste any memory on a subway car rigged with actual wheels? I guess that could go for open world games in general, though in Infamous 2 we're talking one lonely tram that roams New Marais - it could've used some love. But that case could be another common explanation: it's a detail so tiny or considered so inessential it's easily overlooked or deliberately not prioritized. And in some cases, like Half-Life 2, you've got a common asset that's usually static and thus not rigged for moving parts repurposed for rare and brief instances of activity (though this doesn't explain the razor trains).

But none of that explains Uncharted 2, barring the possibility they overlooked it, so considering that game's train level is a high profile set piece my question comes to this: is there any other internal logic at play that accounts for so many examples of this? Is it ever an optimization consideration outside of open world games, if it even is there? Or is just mostly overlooked?

edit: I guess you can tell those train wheels in Uncharted 2 are just barely there as an element of the level, likely intentionally, but you start the level on the side of the train and you're hanging off the side enough that you'd think they'd at least be spinning. Even the sagging remnants of those skylights you can knock out get a little looped animation.
 
Last edited by a moderator:
All those cars/trans/trolleys/minecarts are not left in neutral speed and have parking brakes applied, so wheels are always locked tight. :D
 
Guess that explains why Naughty Dog had to move the world around their train instead of the other way around. ;)

And I was wrong about GTA3. The trucks and wheels are separate textures. And I assume that's one instanced quad across each train car, so making that same quad spin should have a negligible impact on memory and performance, right?

edit: or it would only be instanced if they were actually rigging the wheels to move. As it is each car has gotta be a wholesale, static 3d model. So maybe performance and memory do enter the equation? Or maybe it just didn't seem worth it.
 
Last edited by a moderator:
But none of that explains Uncharted 2, barring the possibility they overlooked it, so considering that game's train level is a high profile set piece my question comes to this: is there any other internal logic at play that accounts for so many examples of this? Is it ever an optimization consideration outside of open world games, if it even is there? Or is just mostly overlooked?
I just watched a load of YouTube game clip to check. I didn't see any wheels because they are tight under the actual trains, until one part hanging on the side and you could see them. Reason for not turning the wheels? Not worth the bother. People by and large aren't looking at the wheels, and you'd need to model them separately and rotate them where they almost never get seen. The investment isn't worth the benefit.

For solving rotating wheels, you'd either rotate a mesh, or rotate a texture. Neither is hard, but if the wheel's are 3D, you're adding model complexity and a little overhead.

I think it's more convenient to say that the wheels are turning at a rate that is an exact multiple of camera framerate so although they are turning, they appear to be static. This would need motion blur to correct, but no-one wants to go there and risk the wrath of Globalisateur. ;)
 
I'll accept that in Uncharted 2's case. In retrospect it's a pretty lousy example. And watching through the cutscene just before it makes it clear they were optimizing, given the train in the cinematic has a functional undercarriage markedly different from the one in game. And, yeah, you don't often have a direct line of sight on it anyway. I just couldn't a recall of a better example of a developer known for its polish and attention to detail overlooking this specific thing.

I understand the practicality at work here but it's still a little baffling how common this is. Rockstar North went through the trouble get GTA 4's third rail-powered metro train to spark the tracks occasionally and still it just glides along as ever.
 
Last edited by a moderator:
Wow that is weird, especially is Rockstar's case given the other inconsequential stuff they do make functional such as those concertinaing crash barriers in V. Dammit inlimbo I'm going to be staring at train wheels in every bloody open world game from now on! :)
 
Wow that is weird, especially is Rockstar's case given the other inconsequential stuff they do make functional such as those concertinaing crash barriers in V. Dammit inlimbo I'm going to be staring at train wheels in every bloody open world game from now on! :)

Especially considering they did small things such as this in GTAV.
 
Because for those train models, the likely only option to do it (with any level of convenience) was probably make the object skinned (ie, rig it like a character so the wheels were bones, then make the bones rotate with an animation.), back in the day for the games you mention that sort of thing was really expensive. So you don't bother, because engines weren't flexible enough to do things like have mounting points and child objects and logic based rotation effect applied based on the current velocity of the parent (consider how comprehensive an editor would be to allow an artist/designer to setup something like that - and do it efficiently), and it wasn't worth the programming time to get it to work efficiently for such a limited case when there is the matter of shipping the game to worry about.
 
It's just resource management.

the train in GTA V looks way more realistic than the trolleys in Eternal Arcadia with or without the rotating wheels.

Having rotating wheels in the low polygon models help conveying realism when it's like, 100s of polygons for a trolley.
 
Back
Top