How we built a game in React Native during the pandemic

By Mihovil Ilakovac — 3 min read
How we built a game in React Native during the pandemic
Contents

Here's a dear project I'd like to share with you. Together with good friends of mine Fran Grgić and Tin Ceraj, I've built a popular card game in Croatia.

The card game is called Bela, usually played in bars and with 3 other players. And it can get pretty heated while playing 😅

How do we play Bela during the lockdown? 😷

Of course, when the pandemic hit, we couldn't go to bars and meet up with our friends to play Bela. We were missing the experience when we noticed there isn't a Bela game for phones... Hmm, but most of us play casual games on our phones. We thought: "Let's just build it ourselves."

We started working on it sometime during the first half of 2020. The game engine was built in a matter of days, the initial app for Android, iOS, and web in a matter of 3 months. Of course, there had to be a server to enable real-time gameplay between four players. When we played for the first time the game we built, it felt pretty amazing.

After ironing out a lot of bugs, we published the app on all mobile stores. We launched the game on Reddit, shared in a couple of Facebook groups and it was all organic growth up to ~17000 players today. Nice 😎

It all grew organically 🔥

After our initial launch, we received some good feedback which was very encouraging to continue working on the app. We had a couple of iterations since then:

  • added Hungarian cards,
  • added public rooms,
  • added support for time per move, etc.

Most of the ideas came from players playing the game through Reddit, emails, BuyMeCoffee and we are thankful for the engaged community.

I would also like to share some stats which make us proud:

  • ~17000 total players and rising ♥️
  • ~1100 daily active users
  • peaks of ~100 players at the same time
  • ~4500 daily played games

Some people played the game for 9 hours straight, talk about love for the game 😄

If you want to try the game, this link will redirect you to the Play Store, App Store, or web: https://app.bela.fun/download

Tech stack 💻⚡

We had a good experience with using Javascript across the board, which helped us to iterate faster.

// Testing code highlighting
const stack = 'JS';
  • React Native for all platforms (Android, iOS, web) with one codebase 🥂
  • Backend running Node.js + Express + BeeQueue for workers
  • Everything is running on three Hetzner VPS servers
  • AI for bots is based on heuristics and the Monte Carlo Tree Search algorithm 🤖

I also have to mention, artwork for the cards is custom-made by Fran, which in my opinion, looks amazing.

So if you are a fan of playing Bela, go ahead, play a couple of rounds!