In June, I shared Marches & Gnats (https://mng.quest), a programming puzzle game (similar to Advent of Code) where you solve challenges using a Turing machine.
Since then:
- I added 13 new quests, from arithmetic basics to Elementary Cellular Automata and Sudoku.
- Rewrote the Turing machine core in Rust, making evaluation much faster and able to handle heavier tasks.
- 102 players have joined, submitting 15000 solutions; 10 players have already solved every quest.
The hardest part turned out to be the storyline. I use ChatGPT to draft outlines. It does it quite well, but shaping them into something with real depth and atmosphere takes far more work than I expected.
Another challenge: since it's a competitive game, players quickly explored the edges of the rules. For example, submitting very long solutions that use transitions as a kind of memory. I love that kind of creativity, but it also undermines the original goal of solving a puzzle as efficiently as possible. So I've spent quite some time balancing mechanics to reward creativity without encouraging loopholes much.
The most fun part, though, is still inventing new puzzles.
As the next Advent of Code is still 5 months away, I decided to build my own programming puzzle game: Marches & Gnats (https://mng.quest)
It's a browser-based game where you solve challenges using a Turing machine and eventually create a higher-level programming language on top of it. The story is set in 19th-century Estonia (so hopefully you'll learn something new about my country's history along the way).
Has anybody stumbled upon a similar tool that does this in reverse? For example, I want to find a curl option that has a "redirect" word in its description.
Since then:
- I added 13 new quests, from arithmetic basics to Elementary Cellular Automata and Sudoku.
- Rewrote the Turing machine core in Rust, making evaluation much faster and able to handle heavier tasks.
- 102 players have joined, submitting 15000 solutions; 10 players have already solved every quest.
The hardest part turned out to be the storyline. I use ChatGPT to draft outlines. It does it quite well, but shaping them into something with real depth and atmosphere takes far more work than I expected.
Another challenge: since it's a competitive game, players quickly explored the edges of the rules. For example, submitting very long solutions that use transitions as a kind of memory. I love that kind of creativity, but it also undermines the original goal of solving a puzzle as efficiently as possible. So I've spent quite some time balancing mechanics to reward creativity without encouraging loopholes much.
The most fun part, though, is still inventing new puzzles.