Grid Game Toolkit

I've always wanted to have a tool to quickly prototype various grid-based puzzle games like Crosswords, Sudoku, Hashiwokakero, etc. Sure, pen-and-paper can get you pretty far, and we used it extensively for our last Ludum Dare entry Skyland, but it is a bit clunky to share when your playtesters are located remotely.

After looking at many examples of such games (krazydad has been an amazing resource), I think they all use a very similar vocabulary:

  • A grid of fixed size (but possibly with irregular shape)
  • A fixed set cell types (with numbers, symbols, lines)
  • On-the-border or around-the-border hint system (using numbers or colors)
  • Solution can be fully expressed on the grid as a static snapshot (unlike many videogames like Sokoban or Snakebird where you need to record a sequence of actions)

So I decided to build the Grid Game Toolkit, a framework for building such games with the following goals:

  • Adding new games should be easy with minimal programming skills (e.g. with scripting or Rust trait implementation)
  • Should work well both on desktops and on touch-based devices (I really want it to work on my Android-based e-reader)
  • Can import puzzles from major providers like crossword newsletters and sites like https://www.nonograms.org/ as well as from PDF-based sources
  • Have built-in puzzle editor with a programmatic solution finder

It's a perfect opportunity to learn Rust better, so I will be using Bevy game engine that worked well for our previous game jam.

The MVP will support Japanese Crosswords, Sudoku and one more puzzle type. I hope this will be diverse enough to expose important design decisions, but also small enough to implement over the winter holidays.

If you want to stay in the loop, I will be posting regular development updates on Mastodon and will be using this blog for longer posts.

Till the next time!

Rebooting the blog

It's time to dust off this blog and give it move love! As a first step I revamped the infrastructure behind it to get more comfortable with editing and deploying the blog.

Previously, the blog was built with Jekyll, hosted in Google Cloud Storage Bucket and served with Cloudflare CDN. It had the benefit of fast load times and simple https certificate management, but the deployment process was far from ideal and involved manual rebuild and synchronization of folders to the cloud bucket.

Since I've relocated most of my git repos to Sourcehut, I decided to try sourcehut pages for hosting. This turned out to be extremely easy to set up thanks to an excellent guide in Zola documentation.

Overall, I'm quite happy with the new solution. It's easier and faster to deploy and also looks simpler from development perspective as I don't need to worry about version of Ruby and various plugins necessary in Jekyll.