I Built a Cross Platform, Multiplayer, Domino Game

Dominoes is probably the most popular and most important game in Jamaica. It's certainly the most popular table game. It's a standard fixture at parties, wakes, after church gatherings and socials, and at random school and college happenings. There are a few popular variants, most played with a double-six domino set: Cutthroat, French, Partner. Partner is the most popular. It's a 2v2 battle usually played under the watch of raucous spectators. Dominoes is a deeply social Jamaican game.

I was pretty good at the game. Played with family. Played with friends and hallmates at the University of the West Indies. Played while in grad school in NYC. Now I'm physically far from any serious domino playing community and hadn't played in almost a decade and a half. That is, until last year when I went to a wake. I played a few sets and was reminded just how much I loved it. I know there is no substitute for the chaotic, social, table slamming fun that is an in-person game. But I figured I'd see just how much of the authentic experience I could reproduce in a mobile app.

At the core of it, the problem I wanted to solve is a personal one: a bunch of friends spread all over the world chatting in a WhatsApp or Signal group should be able to say "we should play some domino" and be able to get right to it no matter what devices they use. All the mechanics of Jamaican style dominoes should feel natural. Everything after that is just brawta (Jamaican for "a little bit extra, a bonus").

So I've built a domino game. It makes it easy to join a lobby and play against strangers anywhere. You can team up with a partner and take on the world. You can also create private tables and groups and invite friends for more small scale sessions.

Domino game screenshot Domino game screenshot Domino game screenshot

The technical stuff

I built the game with Flutter so it works cross platform: Web, iOS, Android. Backend is a custom game engine/server built with JavaScript/Node.js.

It's pretty close to release, just doing some iteration on the look and feel. I'm a good engineer, but a not-so-good graphic designer. I'll likely do a more detailed project write up at some point.

← Back to posts