Hacker News new | ask | show | jobs
by astrophysics 2463 days ago
Basic games like...Quake 3?
2 comments

Yup. Quake 3 is basic. I remeber that the whole game had a "measly" 150.000 lines of code or so. It doesn't do a ton of things modern games do. The list of things expected from modern games these days in comparion is far too long to list here. These things have become elaborate world simulators. And all of these features add up.

The Unreal Engine is around 4 million lines without dependencies (e.g. PhysX, a proper audio engine, etc). You could try to do all that in C (good luck finding a good physics library with a plain C interface, btw.). But you need to have proper software design throughout the project and you will likely end up replicating some kind of inheritance or polymorphism scheme somewhere.

Quake 3 has 230.000 lines of code. If Quake 3 is considered basic, then any studio with less than 100 developers can probably reach for C.

The Unreal Engine is far more than a modern game. You wouldn't call Clang and editor just because Vi was compiled with it.

The Unreal Engine is less than a modern game. The actual game is obviously missing. Also, you need engine specific editing tools to make a 3d game that looks more advanced than minecraft. It is a mistake to exclude them just because the don't have to be shipped with the final product.

And Quake 3 was made by a team of roughly 20 people. Id Software was quite small until they started to work on Rage.

Quake's code is very tightly coupled to the actual game logic and difficult to pull apart and reuse for another kind of game. A lot of this can and often is more abstract in newer games. That said, quake is very well written and a good example for when C can shine.