posted by
onToday, 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 professionals and friendly hobbiest game developers, we realized just how out of our depth we were when we discovered that we hadn't even both installed git on our computers before we lost wifi (my bad!). Train Jam was absolutely a once-in-a-lifetime experience for me, and I'm glad we managed to partake in it before it shut down. I've never been surrounded by so many talented people, and the excitement and beauty of the whole trip far outweighed the intense imposter syndrome feelings throughout.
So back in May, I sent over a simplified drawing I had done on my phone to describe a sort of box-pushing sokoban game where the user was a wizard[2] who could cast spells to affect its surroundings. I scribbled a grid puzzle that would require a spell to complete on my phone and sent it over:
The crux was to have the difficulty of the puzzles come from both:
- the regular diffculty of manipulating your surroundings in particular orders that a sokoban game tends to have
- an added layer of which spells you had access to in a given level, which orders and targets to perform those spell casts, and how each of those affected the level manipulation aspect
My hope was that being a turn-based grid-based puzzle for one player, we'd be able to avoid a lot of the difficulties people have around the complexity of the systems, the interactions between players and each other or players and the game, etc. We talked about project setup and then met up for some IRL game jamming at his house across the bay. We quickly learned that despite shaving off a lot of the more complex things to do in a game, we were starting from scratch so we still had a plenty steep learning curve to overcome.
We've both grown a lot as developers since Train Jam 2017. It was cool to see how we approached this game versus our previous attempt. Back then, we made a list of features that we wanted and then tried to make them all work without necessarily having a broader vision, nor any idea how to program an engine to get the game to work like we wanted to. This time around, we talked about various architecture designs and weighed their pros and cons with plenty of experience from our day jobs. We settled on responding to player input with a queue of actions and generally modeled the game loop after board games and the ways that players are instructed to modify the game state in those after they take their turn. Where we ran into difficulty with art assets previously, I now knew how to sketch some art on my phone while I took BART over.
From my time on cohost, I had learned that a key part to making any video game is having a "little guy."
Once we needed more than just a character, a little guy, and a box, I downloaded some free assets from itch. By the end of a week of off-and-on work, we had a game that was playable. It had a level that could be completed, it supported undo, and I was just about ready to start making levels.
As things progressed over the months since then, we've done a lot of designing and redesigning. I 100%-ed Patrick's Parabox and most of Recursed for some puzzle and systems design inspiration. We booted up levels of Baba is You, Stephen's Sausage Roll, and even some Zelda games to understand their ways of teaching and exploring interactions. We talked about how the various spells should work and the ways they should modify each game object.
Time passed and each of us took breaks from thinking about or working on this game, but here and there, I'd make some progress on spells or the UI side, or Jules would have some refactor to the engine that would make adding new stuff a lot easier or cleaned up a bunch of bugs all at once. We also added our friend Brendan to help with art and sound. (He composed the main menu theme!)
By the end of August Jules had constructed a Level Editor that made level creation and revision much easier. It supported loading any level straight from the pause menu in debug mode. It allowed us to create new levels to test out buggy behaviors. It prevented me from setting up levels with the buttons on the same layer as the player by accident. And it allowed users to save and load each others' levels.
We released the itch.io alpha on cohost shortly after it was announced that cohost would be shutting down. We got a bunch of great feedback from folks in DMs and on Discord. Today marks another alpha release with a lot of that feedback being addressed.
There's still a ton of stuff to be done, art assets to swap out, sounds to add, etc. But I'm already really happy with how far we've come. This is a game that I feel like better shows off what a great game development team Jules and I are, and I'm excited for the future.