Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

UI Manager: A little bit of nothing

Today I decided to think about completely changing the way something is done in my game, the UI. As it stands now, UI related stuff is all independent, each scene is handling it's own UI. But I know I'm going to have some UI elements that can be accessed from many different places, and some UI elements will be on screen in multiple scenes. So it made sense to actually build out a UI Manager to deal with all of this.

The real issue is that I'm travelling soon, and won't really have the ability to work on my game over the next few days. Plus, I'm just not in the mood to dig in deep for troubleshooting and figuring out how to fix the issues that will inevitably pop up in the code. So instead, I just had Gemini give me what I asked for and added it. But I didn't actually make any changes to the existing stuff. 

So this means I have a UI Manager, with some functionality (an autoloading singleton with placeholders for expected UI elements), ready to go without actually putting it to work. I know that when I dig into changing the existing functionality I'll have a lot of troubleshooting to do. But that's a problem for future me. For now, everything still works as it did. 

So, what exactly is the UI Manager going to do? For now, nothing. But in time it's going to intercept the calls for displaying things like my pause menu or my settings screen. It will handle opening my player's inventory, or the player menu. It will draw the HUD over other scenes where it's needed. 

It feels great to have another powerful subsystem built, even if it is untested and unimplemented. It feels like (almost) every time I get to work on the game I step away with something big accomplished. But there's still so much more to go before I can even think about gameplay.

Support this post

Did you like this post? Tell us

Leave a comment

Log in with your itch.io account to leave a comment.