A Light in the Gloam, a dungeon crawler built in Godot
A Light in the Gloam comes out on Steam on 13 October.
It is a first person grid crawler. Four directions, no free camera, a party of three, ten floors, and fights that take turns. I loved playing Shining in the Darkness back in the day and have wanted to make something in that shape for a long time.
The idea I kept coming back to is the lantern. It works more like a key ring than a light source: wading through a flooded ward, seeing through a false wall and crossing a shaft on a rope are all things the lantern learns, and each time it learns one, floors you thought you had finished open up again. That is most of the structure of the game.
The other rule is that you save in town and not in the dungeon, so every trip down turns into a question of when to stop. Coming back up with a full bag and a hurt party counts as a win.
How it is put together
Almost none of the content is placed by hand. The monsters, items, spells, shops, loot tables and the mazes themselves are generated by Python scripts into JSON, and the game reads the JSON. Editing the JSON directly does nothing lasting, because the next build overwrites it.
That sounds like extra work, and it bought one specific thing: the test suite can walk all of it. There is a whole class of bug in a game like this where something exists and nothing reads it. A string with no route to the screen. A piece of armour no shop or chest ever grants. A staircase with no prop drawn on it. A lantern power that opens nothing. None of these crash, the game runs fine, and the content is simply dead.
So there are checks in both directions: every item is obtainable by some route, every enemy turns up in some encounter, every encounter sits on some floor, every ability opens something that was closed before. The suite is at 365 checks now, and most of them exist because something was quietly broken and I found it by accident.
The other habit worth keeping is proving each check by breaking it on purpose. A guard you have never seen fail is a guess.
The art and the audio
The art, the music and the sound effects were generated with AI tools from prompts I wrote by hand, then run through my own scripts to downscale them, quantise them to a fixed palette and trim them. The text and the Brazilian Portuguese were drafted with a model and edited afterwards.
Nothing is generated while you play. There is no model in the build, the game makes no network calls of any kind, and every asset was made before it shipped, so what you get is the same as what everyone else gets.
It is on the store page too. I would rather write it here than have somebody discover it.
Languages
The game is in English and Brazilian Portuguese, both complete, written alongside each other rather than translated afterwards.
Where
A Light in the Gloam on Steam, out 13 October.
Leave a Reply