Update log
Full Gunboat God update
The complete published notes, normalized for clean reading and source attribution.
Extracted changes
- Workshop
- Events
- Gameplay
Whast was I thinking?
Here’s an interesting bit of useless trivia. Some time ago I thought I would be able to build all of Gunboat God’s levels by carefully sketching on a piece of grid paper, then manually typing object position values into the game’s code. *For every single object, in every single level*.
So…I built one level this way and quickly decided I was never going to do that again. It was (not) fun while it lasted!
I got straight to work on an internal tool that I could use to help me build the levels. Let’s take a peek behind the curtain.
Workflow
Before doing anything on the computer, I decide what the level type is going to be, based on where I expect the player to be at a certain point in the game. Level types include outgun, clear out, laps, collision course, and many more. Then I think about the basic structure of the level, ie: a single idea of what “challenge” or “vibe” the level is going to throw at the player.
Finally, I sketch!
Every level in the game has a sketch like these. The final result in the game won’t look exactly the same, but the sketches will always be a handy reference point.
Developing a useful tool
I developed the level layout tool progressively as needed, and by the time I had finished building all of the levels in the first biome, the tool was essentially complete and ready for full-steam-ahead-development of the remaining biomes.
I could add most of the hazard types, manipulate level regions (which determine enemy spawns), and add other miscellaneous objects.
The red copy of the player is shown on the screen so I always know the player’s dimensions, to ensure I’m laying out things nicely (Hmmm... can the player squeeze through that gap over there? Yep!).
Levels purely filled with hazards can be frustrating experience, so adding floating stones to the game was a way to break up the flow of a level and open up space to move around.
Stretch it out
The most satisfying part of level building is implementing the finishing touches to achieve that *chef’s kiss* sweet spot of difficulty and flow. I recently did a full sweep of level improvements where I nudged and stretched out levels that felt too cramped and frustrating.
Everything finally comes together when I add enemy spawns. This is done purely in code, since that’s not something that needs to be visualised, and it’s easy to write out the relevant enemy code for each level.
At the end of the day, this is a super useful dev tool that allowed me to blast through mission development efficiently and test things as quickly as possible. It's just for me though! It won't be a feature in the final game.
That’s all for now!
Best, Tom
Source
