a swirl of green, pink, blue, yellow, and orange

graham builds

a blog about #game development rss feed icon

Working on a game called Nimnim

posted by graham on October 13, 2025

Background

Every game of Magic: the Gathering can technically be won by making another player try to draw a card when there are no cards left in their deck, a strategy called “milling.”1 In custom fan formats like Dandân2, there is a single deck shared between the two players, which encourages milling as a more serious backup strategy if the whole “making your opponent lose life” thing doesn’t work out. Recently, I became curious what a custom format might look like if milling was not only a backup but the only strategy? Constraints breed creativity, after all.

Nim is a much older game than MTG about trying not to be the last player to remove an object from a central pile. Every turn, each player can choose to pick up one object, pick up two objects, or pick up half of the remaining objects. It’s often used as an example game with easy rules to implement in introductory computer-science classes, since the game strategy is solved and coding that strategy is simple to do. Part of what makes the strategy so simple is that both players always have the same actions they can take each turn, and

Crowdpleaser Words

posted by graham on January 12, 2025

As part of the thinky puzzle games discord, some folks began running the Confounding Calendar project, which I got to experience for the first time this past year (2024). My favorite entry from those was a game called “Alphabet Soup for Picky Eaters” which is a combination of a code-breaking word-guessing game and a bunch of absolutely delightful little guys of different colors to make use of the yearly Confounding Calendar chosen color palette. If you haven’t played it, I highly recommend doing so.

After playing it, I felt a similar feeling to how I felt when I first played Wordle. Here was a game that was a delightful 10-15 minute puzzle, it didn’t overstay its welcome, and it also happened to have a handful of solutions that could all suffice. I began imagining trying to make a version that could handle the “new word every day” and more importantly “new set of rules every day.”

This weekend, I had some free time and needed a distraction for a handful of reasons, and so I finally decided to dive into making a prototype. I’ve been building UI-heavy browser-focused games in

Wizard Sokoban

posted by graham on September 30, 2024

Today, my friend and I launched another new version of our puzzle game named Wizard Sokoban (working title). You can play it on itch.io for free, though it works best on a computer using firefox:

I wanted to take some time to discuss the journey we’ve been through getting here because I’m proud of what we’ve made so far and I’m excited for what it’ll be after we’ve applied another few rounds of polish.

Our second time game developing

In May of 2024, my friend Jules and I found ourselves simultaneously unemployed for the first time in our professional careers. With no structure to our days, we talked about some side projects that we’d been meaning to try out when we had more time. He mentioned wanting to try out Godot, and I mentioned that I had an idea for a puzzle game that could be pretty fun and simple to make.

We’ve been playing video games together for over a decade, and we most recently took on the idea of making our own when we went on a vacation to take part in Indie Train Jam 2017 from Chicago to Emeryville.1 Surrounded by