DEV Community

Cover image for Runtime toolkit I built for my game
Rap2h
Rap2h

Posted on • Updated on

Runtime toolkit I built for my game

I lost a lot of time for my first game not having implemented a proper debug toolset on day one. Here is what I have done for my second game.

Autosave

First of all, we need autosave during tests. When playing, if I have to change something, restarting at the beginning could be a chore. Also, autosave is something that can be difficult to implement later. I implemented raw autosave, which takes all the game state and dumps it in a file.

Runtime debugger

It could be considered like cheat codes for doom in a more convenient way. Here is a screenshot of the in-game tool I developed. I can toggle this menu anytime when the game is running by pressing @.

Image descriptionBreakdown of the most important features below.

Teleport

The debug feature I use the most is teleport, heroes can visit any place anytime.

Image description

Add sprite

Instead of having to go back to the editor, I can add a sprite during gameplay to the current screen. Sprite properties are not automatically added to the code, but copied to the clipboard when I position and configure the sprite on the current screen; I can copy it into the code when the placement process is finished.

Image description

Database

To check the balance of everything, but also missing translations, list of spells, items, etc. Having it available at runtime helps me understand broken mechanics without reading code

Image description

Random or superheroes

To skip some scenes or try different ones, I can upgrade or change heroes, even during a battle, which is convenient to validate balance and interactions.

Log game state

When I want to see all the variables of the game and their current state. Maybe I should add a game state editor directly also.

Add time, items, xp, gold, etc.

There are also one-click options to add skills, all objects to inventory, reputation, gold, days, and so on.

What next?

The next tool I want to develop is an arena mode, where I can select heroes and set their attributes, then enemies (number, levels, etc.) to quickly test and improve balance. This tool would also be interesting for beta testers.

https://store.steampowered.com/app/3010290

Top comments (0)