Prototyping and hacking something togetherI’d been thinking of making a word game for a while. Separate from that, I’d also been thinking of making a puzzle game with a grid of colored areas. The latter might sound like an absurdly specific thing to want to make a game about, but I’d been playing a lot of Sudoku variants during the winter, and ones where the best way to solve the puzzle involved coloring the grid based on some property were always my favorite. There’s just something aesthetically appealing about it.
Individually these thoughts weren’t super actionable, but combined there is some actual design direction. A colored grid that you place letters on, with the letters needing to be placed in the right colors to form words seemed like the obvious idea. I tested it out by manually building a tiny crossword, assigning colors to the grid, moving the letters off the grid, pretending to forget what the words were, and trying to fill out the grid with just logic. This is what my first iteration Google Spreadsheet looked like:
The way I was imagining the UI at this point was with an elaborate deduction game matrix showing “is it possible for this group of letters to be placed into this area”, so that’s how I organized the spreadsheet. This first playtest as workable, but had a couple of problems. It was a bit too hard to get started, but more importantly it turned out that the puzzle was ambiguous, and it was hard (impossible?) to place the areas in a way that would guarantee non-ambiguous puzzles.
So for iteration two, I used two sizes of areas, and revealed one of the words but not its location at the start. I was dubious about the first idea, it felt very non-elegant, but it turned out to be brilliant. Not only did it give way more freedom in how to construct the grid and avoid ambiguities, it made the deduction a lot more tractable and fun.
This was promising enough to whip up a puzzle generator for real testing. It was basically the crudest thing that could possibly work, less than 200 lines of C++ with a word list nicked from the original Wordle. The generator created puzzles as plain text, and then I solved them in a text editor.
The game continued to be fun when played for real rather than knowing the solution in advance. From timestamps, it looks like I played this in a text editor for an hour and half. Again, promising enough to make a UI and test it out on a friend. Again I wanted to move quickly, so I just took the UI of a Javascript game I’d made a few years earlier (
https://linjat.snellman.net/) and hacked it to show these new puzzle grids rather than the old ones. The interaction design was very different from how I’d envisioned the game originally, and how I’d been playing it in the text editor. The deduction matrix that I’d thought would be the centerpiece is nowhere to be seen. I never missed it, and no playtester ever asked for anything like that.
The first playtest went well. I handed a friend a phone with the game loaded, and asked them to figure out what the game was about with no documentation, tutorials, or guidance from me. They figured it out quickly enough. But more encouragingly, they didn’t hand the phone back after solving a level and change the topic, but continued playing for a few more levels.
Going from the first idea to a playable prototype that somebody voluntarily played multiple games of in a couple of days felt pretty satisfying. This is what that first iteration of the game looked like:
And this is what I wrote about it at the time:
Anyway, it feels good enough already and the known problems are tractable enough that I’ll probably throw it over the wall in a week or two. The only absolute blockers are honestly finding a better name and making a daily puzzle mode.
The estimates for both what was still needed and how long it’d take were pretty far off