I’m working on a toolbox to create games faster. It will contain features and components commonly used for making games with Godot.
The framework will be very opinionated and targeted to jam games. This means that I focus on solutions that are fast to use, not on solutions that are flexible but complex.
I am currently planning these features for Instant Godot (checked ones are already implemented):
game settings that are automatically loaded from a config file
UI for editing those settings in-game (including support for input remapping out of the box)
menu overlay system, including support for a pause menu
subtitle nodes adhering to BBC Accessibility Guidelines by default (but fully customizable by the player via game settings)
helper functions for saving/loading game state
credits/license management to keep track of used asset licenses (including a UI node to display those in-game)
in-game toast notifications for infos and errors (also utilized by the addon itself to show configuration warnings)
UI to connect events with methods on Autoloads
Audio manager for playing one-off sounds and background music (doesn’t stop abruptly, but instead is faded in/out)
Cutscene manager (probably using the overlay system to pause everything else for the duration)
Here is a screenshot of the in-editor configuration screen. The developer can specify which game settings to expose to the player. These can be custom values (like a mouse sensitivity), existing project settings, input actions or audio bus volumes.
Heyo,
I’m super interested in general purpose toolboxes like this!
I’m currently using SavoVuksan’s EasyMenus and Nathan Hoad’s InputHelper for my own template project.
EasyMenu’s already allows saving some game settings etc. but yours looks like it’ll be more flexible once done.
This sounds great! I have a disability that makes typing difficult, so shortcuts to get things done are especially useful to me. I wanted to let you know, even though I am new to game development and Godot, this sort of tool could be tremendously useful. Hope knowing there are people looking for it will encourage you to keep going!
Would you mind sharing what workflows work best for you?
Shortcuts is one thing. But apart from that, would it help you if stuff that is usually done via the keyboard is also possible by using the mouse?
For example the field shown below let’s you specify the name of an input action. It expect you to type the name. But I could also implement a “picker” where you choose the action from the list of all defined actions.
I have partly implemented the in-game UI for adjusting settings. The hard part is done: Creating editors for the different kinds of values. What’s missing is an editor for input actions. Also I’ve not touched project settings yet (neither in-editor nor in-game) since I’ll have to deal with all kinds of quirks there.
For now I have a pretty simple UI that exposes all settings of a given category.
So given the following in-editor configuration:
This will then enable the user to adjust those settings in-game. There are two layouts: table and stacked. The stacked layout is intended for mobile devices in portrait mode.
And since this uses standard Godot UI nodes, it can be styled via themes. There’s only very few hardcoded values, and I plan to make them adjustable via custom theme properties (and if possible, also via custom theme overrides).