> §01 · Context
It was supposed to be a card
Two friends were getting married. I thought I would make them something better than a card: a small game, a few jokes, their faces in pixels, done in a fortnight.
Thirteen months later there are 107 scripts, 393 dialogue files and three endings.
The premise stayed the same the whole way through. You arrive in Vowmarsh the day before a wedding. The town has done this before, many times, and has opinions about how it should go. You have a day to get through it, and everyone you meet wants something from you first.
What made it grow
- The jokes need a system. A one-liner in a card is free. A one-liner that fires only if you already met Glenn, and only before the speeches, needs a dialogue tree, a flag, and somewhere to keep both.
- A town needs a shape. Once there is a square, people expect a shop, a station and a pub. Each one is a scene, and each scene wants to remember what happened in it.
- Three endings is really three games. Everything you touch has to survive being reached from three directions.
> §02 · Build
Learning the whole pipeline
I had never opened Godot. The list of things I did not know turned out to be the actual project: tilemaps, a hub-and-scene structure, autoloads for shared state, dialogue as data rather than code, save games, input locking so a cutscene cannot be walked out of, and how to make flat pixels look lit.

The parts I am happiest with are the boring ones. A single SignalBus autoload means a scene never has to know which other scene is listening. Errands live in their own manager, so a quest is a data file and not a special case buried in a scene. The dialogue is JSON, which is why there can be 393 files of it and why I can still find anything.

Where it is
Unfinished, honestly. The town is built, the systems hold, the three endings exist and the wedding it was made for has been and gone. It is the project I keep going back to, which is roughly the opposite of how a wedding present is supposed to work.
> §03 · Why it is here
The same job as the paid work
Nobody commissioned this and nobody is paying for it, which makes it the clearest example of the thing I actually do: somebody says a sentence, and then comes the long boring part where it has to be finished.

The web work is the same shape with a deadline attached.