Launching Marches & Gnats game

Last year I tried Advent of Code for the first time. I didn’t solve everything, but I liked the format: daily coding puzzles with a story around them. That gave me the idea to build my own version, and to try my hand at making a game.

That’s how Marches & Gnats started.

I wanted to do a few things differently:

  • More focus on story: I set the game in mid-19th-century Estonia, during the Romanticism period and the Cultural Awakening. I’m from Estonia, and it felt like a good way to explore that period of history.

  • A more interesting to compete: Advent of Code mostly rewards speed — who solved the puzzle right after it was published. I wanted mine to measure efficiency instead. Competing on how well you solved something is more fun, I think.

  • A shared tool across quests: Instead of starting from scratch each time, I wanted a common base you can reuse. In this case, it’s a Turing machine that powers all the quests.

The hardest part wasn’t coding but writing. I had ideas for characters and the setting, but turning them into proper narratives was new for me. I used ChatGPT a lot to help shape the stories. They’re not always perfect, but I’m improving.

The most fun part is inventing quests. They’re not just “add these numbers” or “divide these numbers”, but small adventures wrapped in story. I try to publish one new quest every week.

On the technical side, I kept things simple: Django with SQLite. As usual, it took longer than I expected. For example, I tried using django-unicorn for a more interactive frontend, but ended up removing it.

You can play it here: https://mng.quest

Marches & Gnats main page