Skip to content

Comment on Making game engines is a waste of time – I probably won’t stop making them

Comments

I'm reminded of Jonathan Blow's talk, "Preventing the Collapse of Civilization" [1]. Are we going to end up with a generation of game developers who don't understand the internals of their game engines? The unreal engine 5 demo has really wowed everyone but could we maybe reach a point in the future where these amazing game engines are struggling to compete against really inefficient game code?

[1] https://www.youtube.com/watch?v=pW-SOdj4Kkk

Please don't use multiple accounts like this, or for voting. It's against HN's rules: https://news.ycombinator.com/newsguidelines.html.

One reason why I’m not a fan of Unity. Game engines are leaky abstractions. You hit a point where you need to know how things in general work - even if you don’t know the implementation verbatim.

Most of anything to do with programming is a leaky abstraction so hiding source code from developers and saying “you don’t need to know that” is charming at best, idiotic at worst.

Net code issues, rendering equations and HSV knowledge, audio buffers and DSP, input controller and output display latency/VR, psychology, down to IEE754 optimizations. The more you know, the better for you.

As soon as you want to do something the engine doesn't provide you have to start learning. This happens way more frequently than you'd think.

I still think a JASS-like code editor would have been better than blueprints for giving news a mental framework for transitioning into C++.

I'm curious what you mean by JASS, a search brings up things about card playing

Warcraft 3's scripting language it used in it's world editor.

Looked like this:

http://world-editor-tutorials.thehelper.net/dialog/dodialog....

I don’t see this as realistic. Particularly when engines like UE4 and probably 5 share their source code and have a layer writing in amongst the engine cruft. Further engines like Unity whilst they don’t provide source don’t really mean you can make anything other than the simplest games without understanding what’s going on under the hood to a reasonable degree. Less technically adept game developers can get a good head start but generally will need to lean on technical colleagues or contractors.

Game development as a craft also requires a lot of creative problem solving which lends the people seriously involved in it to naturally push and probe at the edges of their knowledge.

In C/C++, dependency management is not as convenient as in Rust. There's Conan, but you have to install it. Rust comes with Cargo.

So, in C++, there are more game engines developed using a minimal amount of dependencies, and in Rust, there are more game engines developed using more external dependencies.

As the majority of people transition to Rust, even the people working on "lower level" code will also forget what internals are about.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.