Hacker News new | ask | show | jobs
by Animats 18 days ago
> First off let me get on my high horse and say the engineering in video gaming is generally more complex than the engineering I've done working in big tech.

Yes. Having done everything from mainframe OS internals to proof of correctness to autonomous vehicles, video games are the most difficult.

At the beginning, game dev looks easy, because the tools are good and modern hardware is very capable. But as you approach a big, highly detailed, photorealistic world, the easy approaches hit a performance wall. Then the necessary optimizations become insanely complex. That's the tyranny of the frame rate. That's why I've complained about game engines in Rust. Everybody writes My First Game Engine, then hits the wall about two years in.

The metaverse problem is even worse. All the problems of game dev, plus the problems of user-created content and large scale. With all the effort and money put into metaverses, none emerged that worked as well and looked as good as an AAA game title from the GTA V era. Roblox, Improbable, and Second Life are as good as it got. You'd think there would be some good examples still around, with small user bases, but there are not. There are a whole range of problems only metaverses have, and some of them are unsolved. For commercial games, much of the work takes place during level building and optimization. Unreal Engine Editor does much of the heavy lifting. Metaverses don't have that option.

The total failure of the metaverse industry comes partly from this. It's hard to do, and the problem was underestimated. Mostly by the people who really just wanted to sell their crap NFTs and coins.

The people and wage problem comes from too many people wanting to make games. It's like Hollywood. If you've spend any time around there, you've met the actress/model/waitress types. The male version has stand up comedy levels of ego. That pushes wages down.

4 comments

> You'd think there would be some good examples still around, with small users bases, but there are not.

Wouldn't VRChat qualify?

VRchat is impressive. It predates the metaverse boom, and it's not a big-world system. The metaverse was supposed to be like Ready Player One, but we didn't get there.
> At the beginning, game dev looks easy, because the tools are good and modern hardware is very capable. But as you approach a big, highly detailed, photorealistic world, the easy approaches hit a performance wall. Then the necessary optimizations become insanely complex. That's the tyranny of the frame rate.

This is really a self inflicted problem though because game developers insist on making easily marketed games (=pretty screenshots) over fun ones. You don't need insane optimizations to make the next Minecraft or whatever. And let's be honest, most games run like dogshit because they leave very easy optimization opportunities like unaddressed.

This is very interesting, what makes video game engineering so difficult?
The amount of things you're trying to simulate within the the performance contraints (games push computers to their absolute limits).

An example - a 3d humanoid character. You need code to manage the mesh, the animation (probably skeletal), the animations themselves, all the blending logic, probably specialised code and data for facial animations, and then you need to make sure all of that can mesh with both input driven locomotion and AI driven locomotion - and that's just one problem domain.

And I'm grossly oversimplifying what's involved even in that particular area.

>> games push computers to their absolute limits

The overwhelming majority of games actually don’t. Even 5+ year old rigs can run most modern games just fine.

> Even 5+ year old rigs can run most modern games just fine

AI-hardware demand is responsible for slowing down the AAA graphics frame-rate treadmill. Back when Nvidia and AMD were releasing improved mid-range consumer GPUs at a steady clip, there was incessant pressure on AAA games to have ever-increasing frame-rates and "photorealistic" graphic-fidelity. Making a game update at 144Hz at 4k resolution/max graphics quality, with no upscaling shortcuts would be a challenging problem, were it a common target.

In an alternate universe where the LLM boom didn't happen, we probably would have 24GB midrange GPUs (and 32GB/48GB Nvidia 5090 Ti), allowing for humongous textures, and likely games rendering at 8k, which 5+ y.o. rigs would struggle with except at low-quality settings.

Not on max quality. They can just run the game.
And many a game developer doesn't have to write any of this because it already is commodity software.
AHahahahah.

Yeah that's other part. What was PhD level computer graphics becomes table stakes a few years later and not only do you have to do that, but you have to top it a few years later.

Oh and all of these systems have to be aware of each other, because the higher fidelity they become, the harder it is to keep the seams hidden, because the seam between them become more jarring.

Sure, you have skeletal bone animation and all that stuff in 2003, but do your characters adapt their footstep placement to the terrain height? Does the run animation blend smoothly between states? Oh it blends smoothly but now player inputs feel unresponsive because you had the clever idea to make it inertial? Oh now do it all over a network at minimum latency because esports are a hundred million dollar industry.

It depends on what you're comparing to. Most game devs have no idea the complexity of Firefox, Chrome, Safari, Maps, Search, etc... Sure, compared to a CRUD app, games are generally more complex. Compared to those others they aren't even close.
It's a highly competitive field in which edge is sometimes obtained by better code, so everyone is constantly outdoing each other with new tricks.
The irresistible temptation to add more.
Roblox does not have a small userbase all kids are on it