It's been a while since the last devlog. And it's also been a while without any work being done on this game. I haven't forgotten about the game, but it was necessary to put the development of this game on pause for a while. While the development of this game has been paused for the vast majority of the time between posts, there have been brief periods of time that I have spent developing this game, which we'll discuss later on in this post.
Also, just a heads-up: I do not intend to make a Devlog post for April, but I do intend to make one for May. The original intent behind these posts is to publish them on the 1st of each month unless it lands on a Saturday, then it'll be published on the 2nd of that month. I intend to get back to that schedule.
What Happened?
In short, life has forced me to put the development of this game on hold for a while. This is obviously beyond my control. For nearly the entire time from the previous devlog installment to the beginning of January 2025, almost no progress has been made on updating the game for this very reason.
Pretty much as soon as January hit, I got a lot more free time and started working on my various projects again. Some of which actually helped indirectly with the goal of taking Solar Lander off of the Unity engine. Others I just wanted to get out of my way and I thought they'd be quick to do so. Turns out only one of the three projects I tried to knock out of my way was able to get done quickly. But at least it's finished. During the time I spent trying to knock these projects out, I spent almost zero time developing Solar Lander. But there has been work done on Solar Lander during this time, which we'll discuss later.
Over the last couple of weeks though, I've spent almost zero time on any of my projects, which I really shouldn't have considering the fact that I do have enough free time to get work some done on these projects each week. For this, I apologize.
What has been done?
In the time I spent working on Solar Lander, I managed to get some stuff working with my game engine, such as buttons. Here's a screenshot of the main menu in the non-Unity version of the game.

The text is a bit rough, as I'm using prerendered font sheets, which only looks good in a pixel-perfect text alignment and size. Also, the way I'm generating these font sheets is very manual, and I don't really care for that. I have started a project to automatically generate the font sheets, but I'm not sure that this is the best solution. I do have other ideas, such as procedurally-generating the font sheets at run time. There's also the option of simply not using font sheets at all, but instead rendering the font directly to the screen, or maybe to a separate texture that is then rendered to the screen. I haven't decided yet.
There are other element types that I have to get working in my game engine, such as sliders, toggles, edit fields, dropdowns, and scroll views. I also have to integrate the control system into the game engine, but thanks to another project that is now paused, I actually have a control system to integrate. And this control system works exactly like Solar Lander's current system.
By the way, the control system and input system are two distinct systems. The input system takes user input from the operating system and converts that input into a uniform format that the rest of the game can use. The control system is what allows game-specific controls to be defined, and allows users to change the key, button, and axis assignments to those controls, along with changing how the controls respond to user input.
When you're modifying input assignments and responses, you're interacting with the control system. When you're moving the joystick around or pressing buttons and keys, you're interacting with the input system.
By the way, Solar Lander's loading screen (for the non-Unity version) is working now, but may only appear for a few frames if that. In some tests, I don't see it at all, while in other tests, it appears for just one frame. Currently, it's set to only appear after the splash screen while the game's menus are being loaded. Eventually, I'm also going to make it appear when loading each level, but I suspect that the screen will also only appear for a few frames at most.
What's next?
As far as Solar Lander's development is concerned, the next steps are to get the other UI element types working properly in my game engine. I'll work on improving the font rendering later (perhaps last). The toggles and sliders should be the easiest to implement, so I'll work on those elements first. Some elements, such as the input feedback elements, should also be fairly easy to implement. The more complicated elements will be the scroll view, and all of the elements (such as the drop down and text edits) which rely on them.
I also need to modify the text generator to output information on how many lines of text was generated, and where each line starts and stops. This actually might be fairly easy, and I have a few ideas of how this might be done.
Oh, and all of the game's content is going to be vector graphics. Currently, it's a mixture of vector graphics (planet's surface) and sprites (space craft, exhaust particles). The sprites and particles are going away in the next version.
[ 2025-03-17 16:00:19 CET ] [ Original post ]