Eternity Devlog: Game State Management and UI Progress Update

Hello, Galaxy Explorers!

This was a great week for Eternity! We’ve been focusing on refining the game’s structure, working on our game state management system, and starting to implement the UI’s wireframe in the engine.

We’ve made considerable progress in defining our game state management system, which as y’all know is a way of organizing a video game so that each major “mode”—like the main menu, pause screen, and actual gameplay—has its own separate logic. This makes it easier for developers to switch between modes and keeps the overall code more organized.

We took this principle and applied it to UI, so it now allows us to seamlessly transition between various screens in the game. We’re using a State Software Pattern approach, making each screen – including the Main, Intro, Fleet Selection, In-Game, and End of Game screens – a unique state.

We’ve made a significant decision to distinguish between two types of states: Primary Screens and Panels (or sub-screens). Primary screens define the major functionalities of the game, while Panels are “subscreens” like Pause, Options, Save/Load, and In-Game panels (Starmap, Management, Techtree, R&D, Manufacturing, and Notifications).

To make this happen, we created two separate state managers – one for the primary screens and another for panels. This enables the panels to be managed independently from the primary screens. The result? The flexibility to open multiple panels simultaneously, and open or close panels without transitioning from the current primary screen. Pretty neat!

Another exciting part of today was beginning to implement the UI’s wireframe into the engine. Visualizing these UI transitions in action made the game feel more real. We’re still ironing out the finer details, but it’s coming together nicely.

We’ve also been exploring potential fleet compositions for the player to choose from. The design of different ships and capabilities is an intriguing process, as we’re aiming for a balance that will offer various strategic choices to players. More on that soon!

Overall, the challenges we faced today were mostly tied to managing state transitions and establishing how our panels and screens interact. But seeing it all come together was worth it. The game is taking shape and we’re eager to share more with you soon.

We’re looking forward to the upcoming complexities, but also the exciting solutions we’re going to find. The journey of Eternity’s development is full of surprises, and we can’t wait to tackle the next challenge.

That’s all for today, space voyagers. Stay tuned for our next devlog!

Happy exploring!