New engine, new look
I’ve previously written about choosing a game engine, having tried out so many options and eventually settling on Ebitengine. I do think that it’ll have its moment, but right now there are two main reasons I need to move away from it.
The first is that there isn’t a huge amount of support for Ebitengine, which makes it hard to find resources and there isn’t a huge amount of information for LLMs to consume. This isn’t Ebitengine’s fault, and me moving away does create a chicken & egg situation I’ll admit, but for the first game I’m going to release, I could do with some support.
The second is that I wanted to separate the game engine from the UI. A few reasons for this, that will grow with time, but partly just so that the interaction can be changed more easily in the future without the gameplay changing. It creates a great separation of concerns barrier to work with.
There’s a rule I’ve heard of when doing creative work, or possibly any work.
Do something new in an old way, or do something old in a new way. Don’t try and do something new in a new way.
Without wanting to re-invent anything, I’m going to use tried-and-tested tools for making my game. I’ve been using them for a while now and have found it much easier to find information about them, and for LLMs to generate good code.
The game engine itself, the ‘headless’ part that carries the game logic, is a good old-fashioned .NET application. So many games are written in C#, it’s a natural home. The interface uses Avalonia, which means most of the UI is written in XAML with C# for logic, and it’s cross-platform for almost everything. For now I’m going to stick with Windows, Linux, and macOS.
Sneak peek
This new setup has allowed me to get much further than I have before, and moved beyond just making prototypes or designs.
One of the things that I couldn’t pick between in the style was to have a DOS-like terminal interface, or to have a graphical interface. I decided, I think reasonably, to have both.


Now that I’ve got some wheels in motion, I can start to play through the game and work towards an alpha I can have a few friends test out.
There is still much to do and decide. The aircraft options, crew issues, maintenance, airport slots, weather. The list goes on – I can’t wait.