Simon Karman

Cloud Consultant and Game Developer

Tiny Towns

A remake of the Tiny Towns board game with Krmx.

Created by Simon Karman

Published on 2024-02-20

A remake of the Tiny Towns board game with Krmx.

Board games have been part of my life since primary school. Not just playing them, but creating my own games too. There's something special about the strategic thinking, social interaction, and that satisfying moment when a well-planned move pays off. But as a developer, I've always wondered: how can I bring that same real-time, multiplayer experience to the digital world?

The Technical Challenge

That question recently led me to build Krmx – a TypeScript library that works as a message broker for real-time state synchronization between multiple React clients. Think of it as the perfect foundation for multiplayer applications, especially board games. With Krmx, multiple players can interact with the same game state in real-time, seeing each other's moves instantly.

Learn more about Krmx: krmx.dev.

Enter Tiny Towns

Last year, I received the perfect birthday gift: Tiny Towns. In this clever resource management game, you play as the mayor of a tiny forest town where small woodland creatures have built a hidden civilization. The concept is beautifully simple yet challenging – you have limited space and scarce resources, so every decision matters. Plan carefully, construct buildings efficiently, and don't let your town fill up with wasted materials. The player who builds the most prosperous town wins.

The game immediately struck me as ideal for a digital remake. The clear rules, visual grid-based gameplay, and turn-based mechanics seemed perfect for what Krmx was designed to handle.

Building the Digital Version

I decided to recreate a simplified version of Tiny Towns using my Krmx library. Starting from the Krmx Starter template, I built a web-based version that captures the core gameplay mechanics:

  • Real-time multiplayer: Multiple players can join the same game and see each other's moves instantly
  • Grid-based building: Players place resources and construct buildings on their personal town grids
  • Resource management: The same strategic resource placement that makes the physical game engaging
  • Turn synchronization: All players stay in sync throughout the game

The result is a functional digital board game that demonstrates both the capabilities of Krmx and the potential for bringing physical board games to the web.

Try It Yourself

Want to see it in action? The complete project is open source and available on GitHub. You can clone the repository and run it locally to experience multiplayer Tiny Towns in your browser.

Happy gaming!

By Simon Karman|2024-02-20