portrait picture


balancing software engineering & infosec

Game engines are hard

posted on March 27, 2022, 6:53 p.m. in project, gaming

I enjoy a variety of games and play triple A titles and indie games alike. When there is an AAA release and the engine is buggy it will be all over the news, people will be disappointed, press will be horrible and talk about it again when a bugfix patch is released. Sometimes it is so bad the community has to step up.

For large titles with frequent changes, crunch time and forced release schedules this is something I understand. I do not appreciate it, but I understand how some bugs can happen.

Then there are game engines being sold to indie developers and small studios so they do not have to build their own game engine. We are talking about open source projects and commercial game engines here. For some reason I find some entertainment in trying to figure out bugs in these engines, especially as I know the stack pretty well.

Two engines I see being used pretty often are RenPy and RPG Maker MV.

It is amazing how much people can push RenPy to do things which are surely not visual novel related (which is actually why I know about it). But keeping a RenPy game running and simply walking away from your computer for an hour or two is also a pretty solid way to force the game loop into a bad state, bringing it basically to a halt. (We are talking 1 frame per 30 seconds.) If you are lucky you can still save your game before restarting the game. If I find some time over a weekend I will most likely try to hunt this issue down, I might have some ideas what to look for as I had a similar bug in a long running daemon once.

RPG Maker knows how to build game engines. XP and VX were super solid from my experience. With MV they moved to a HTML5 and JS stack. Oh the joy of running yet another chromeless browser to display a website. Funnily enough, whenever I start an MV game I get a "profile error". The solution? Only ever play one game using this engine. The engine also does not do well when you do not pay attention to it. But also do not pay too much attention during a replay of a game holding down a key to fast skip scenes - might also crash the engine.

If there is a game engine without a single bug I do not know about it. And based on the complexity and flexibility of a game engine I would be surprised if there truly is one. I have to admit I got the urge to write one from scratch. Not because I want to develop a game, but because I want to build a game engine and see how badly it will turn out.