Kafka Streams Topology Testing: Mocked Streams 3.3 is out.

The Game Development Story of Penta

A story about the development of the mobile game Penta.

Finally, and what a relieve! Our first game Penta hit the Google Play Store and the Apple App Store. It is free, so download and review it! It has been quite an experience. Two months ago two friends and I started to develop the game as a side-project. Why? Mobile applications are exciting and we wanted to gain experience of developing and releasing one.

So, what is Penta? An addictive puzzle game for Android and iOS. The plan has been to write a fairly simple game, so we do not need to maintain it. Our game design was inspired by a simple game mechanic: The guessing of a number combination with hints whether a number exists, does not exist or is in the right position.

Game Design

We refined the mechanic to make the guessing of one person comparable to another. The finalized game mechanic can be summarized as: Guess as many secret number combinations as possible within 90 seconds. Each correct solution refills the decreasing time budget by 10 seconds. We designed the UI to display two lines, the previous guess with informative hints and the other as an input line for a new guess. Further, we added a global platform-independent leaderboard for the competition.


At this point in time, we were highly excited and motivated. We started to learn the basics of Android and iOS development and created our own assets like UI graphics and sound. The look is inspired by flat minimalistic UI design, but we gave it a nerdy monochromatic twist. The sounds are created with the Teenage Engineering OP-1 synthesizer. We chose appropriate sound presets and refined them. No additional costs or license fees. Still, we are no artists or sound designers. The first prototype was finished after a couple of days and, believe me, it is fun to interact with your own game design.


On the client-side we wanted to stick to the original SDK, so we used XCode and Eclipse. The leaderboard backend is written in Python with Django and the Django REST Framework. The data is stored in an SQLite database and OAuth2 is used for authentication. The backend is hosted on DigitalOcean, it is only 5$ per month! We manage it with Fabric.

Final Remarks

Now we have a version which is ready to ship. Of course, we had more tickets in the queue, but as Jason Fried said, the longer it takes to develop, the less likely it is to launch. So we played the card, fuck it - ship it.

Planning and design is quite simple. But execution is as always the hardest part. We started highly excited and motivated, but down the road we had to push and re-motivate ourselves to finish it. Now we are glad that we did it. It is our first game and we hope you like it.

One or two mails a month about the latest technology I'm hacking on.