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!