To any aspiring game developers out there: If you need AAA-equivalent graphics and are willing to tank the overhead, use UE5. Otherwise, homebrew everything in the language you prefer (use an LLM, make sure you understand the architecture perfectly).

Using a half-baked semi-supported game engine which you don't understand will destroy your project sooner or later. The cognitive overhead of understanding someone else's code is far, far higher than using your own. If you can't handle any of this, get a developer on board who can - you aren't equipped for this.

As mentioned there are plenty of engines mature and worthy to develop with, like Godot.

Advising to homebrew everything with an LLM just sounds insane to me. Cognitive overhead of what? Using well thought out and standardized libraries that have proper documentation? Creating a new engine with an LLM is only going to achieve the opposite of fully understanding your codebase.

Their bugs, their lack of design intentions for your specific project and your team's workflow.

Let's say you're making a visual novel. Do you need a fully 3d editor? No, so having Z coordinates on all your objects is a liability: you'll have bugs with Z-fighting sprites or your designer will accidentally place gameobjects at depth and not understand why they're not rendering, because this is a 2d game and they set the rendering layer correctly not thinking about 3d space.

Specify exactly what you need and execute that, using libraries for the low level stuff, and taking responsibility for as many design decisions as you can. It will save you so much frustration. If I could go back and give one piece of advice to myself when I was learning, it would be ditch the engine - they are false promises. One size fits all means it truly fits no one.

Engines like Unity or Godot are also well suited for 2D games and don't have the problem you have described. Also, there are quite a few game genres between visual novels and AAA 3D games.

You are right that you can often ditch the engine, but you should only do that as an experienced programmer who can assess the scope of the project. AI doesn't really change that IMO.

Thank you! That's exactly what I was about to write.

Just write your own SDL how hard could it be

Eh, what's wrong with using Unity or Godot or GameMaker?

Unity is a good example. It promises ease, but is packed with bugs which you can't fix: it will kill projects or force you to hack workarounds. All the time savings of using an engine are lost to incredibly frustrating, usually inscrutable bugs (because you can't access the code to diagnose them).

For example: race conditions in animation events (killed a game jam project), contact filters not being passed to 2d collisions in the API (added days of debugging to a simple prototype, has since been fixed), list/arrays causing the editor to bug out and require a restart after editing one (in the LTS version in 2026 - unforgivable).

Sure, don't roll your own SDL (but also if you can, do - you'll be a better game developer for it). Do for example roll your own animator - you don't need their features, clarify what you actually need and design for that. Do you want to trigger scripts with frames? Should those scripts be executed before the next frame, or with it? Do you need a bones/rigging system? How should those bones warp the mesh exactly for your visual style? A game isn't just a collection of scripts moving objects around, it's a pipeline of design intentions from bottom to top. Someone else's engine will be mediocre for your project at best, and inheriting their bugs and workflows is far more painful than designing and fixing your own.

Even with frameworks like monogame, you inherit their asset pipeline and rendering API decisions. Better to create exactly what you need, and understand it.

Even when you reach the deployment phase, you'll be hit with errors and incompatibilities you couldn't foresee. E.g. the Signalr .net library is incompatible with WebGL builds, so have fun maintaining an additional js signalr bridge for your WebGL build separate to your editor build.

[deleted]