Bug Fixes And A Search For The Perfect Game Engine


This week I spent some time fixing some serious bugs and restructuring a bit of code. The most serious bug was the glitchy cursor-controlled object rotation. There were several causes for this issue, all seemingly independent of each other. Mostly it had to do with external factors affecting the screen to world projection of the cursor position. And apart from a curve tracing algorithm based on a Bézier curve formula, I didn't add much new functionality to the project. Something else tracing-related that I'm researching is tracing the exit point of a collision. Essentially, I want to build a tracing algorithm that can handle things like internal reflection within collision objects. I've already thought of several workarounds, but I want the code to be as robust as possible and ideally not require any additional setup outside the algorithm.

Anyway, how about something completely different: language and engine selection. I've been doing a lot of research lately about areas such language design and program architecture. I've come to the realization that quite a bit of the programming concepts and paradigms I've previously learned have issues. Some of them, for example in the case of OOP, are very serious. The good news is that there are valid, even great solutions to many of these issues. The bad news is that there's no consensus and the solutions that do exist are scattered throughout different languages and frameworks. Ideally, I would create my own language, on top of which my engine, on top of which my games. It is something I've been considering more and more, but I'd likely have to write it entirely in my free time (which I barely have any of), and it's very unlikely I would have an MVP in time to develop this game using it. At the moment, all I can do is figure out the best currently-existing language and engine to write the game. I've considered giving Bevy, a small Rust-based engine, a go, but I'm still not sold on the language, and I would have to learn a new language in order to figure that out. Another option I'm considering is migrating the project from Unity to Unreal. I have much more experience in Unreal, so this shouldn't be too difficult. Unreal is also much more efficient to work in (from my experience).

Ignoring everything I said about language and engine selection, Unity is simply difficult to maintain. Both Unity and Unreal have their issues, and there's no doubt about that. However, I feel that Unreal's issues are at least balanced by its features, transparency, speed, and rendering capabilities. I also think Unreal, while nowhere near being the perfect engine I'm searching for, seems to be closer step compared to Unity. If nothing else comes along, I'll be migrating the project to Unreal.

Leave a comment

Log in with itch.io to leave a comment.