Log #2 - Better Menu-ing

2025-08-27

This might be sort of a boring update, but I still wanted to detail it regardless...

Until recently, any time a menu was needed in my project it would be coded up from scratch with the same functionality and a similar general layout to other menus. This setup worked alright, but any time I'd change any UI colors or fonts all the spacing and legibility could get messed up between all the different menu objects, and it would be kind of a headache to fix everything manually.

Before:

The inventory grid (red) inventory action submenu (orange) and settings list (yellow-green) all use separate sets of code. Note the weird spacing in the settings menu.

So for the past couple of days, I've put some work into a new single object type to remedy this! It can display passed lists and get player input. UI components like textboxes or the inventory/settings screens can create, interface with, and close menus of this type when necessary.

After:

All highlighted windows (blue) are now copies of the exact same menu object, with different arrays passed in.

This change was inspired by looking at some older RPGMaker games and noticing the engine itself would generally provide games with a consistent windowing framework that could be styled across the board for displaying UI elements.

As much as I like designing little interfaces for specific purposes, I couldn't help but feel like my game won't delve deeply enough into resource or stat management to warrant anything beyond a classic list-based UI, so I think this new system should work well to help streamline development a bit.