romanwck

Turbo Madness Racing

Turbo Madness Racing is a mobile racing game. It was released on the Google Play Store in September 2016.

Are you a born racing driver? Show your skills and beat the best times of your friends! Dare to face new challenges and become better. But be careful: the physical laws won’t make your life easy. Can you beat the developer’s best times?

Overcome the challenges of the unique levels with many different vehicles. Can you beat the best times of the developer? Collect coins to upgrade your car and drive faster. Achieve achievements by mastering tasks.

Making Of

Turbo Madness Racing originated as part of an “Android App Development” seminar during my final years of high school. Each student was required to develop an Android application throughout the course of the seminar and document the development process in a seminar paper.

I set myself the goal of developing a mobile game and releasing it on the Google Play Store, all within a period of 2 months. Since I wanted to keep my options open to publish on other platforms as well and already had experience with Java, I decided to go with libGDX—a free, open-source, cross-platform Java framework for 2D and 3D game development. I had the idea for a top-down racing game that leverages the device’s gyroscope for steering input and the touchscreen for throttle control.

To build circuit tracks fast without having to paint the whole track by hand, I’ve implemented tile-based maps with auto-tiling that picks the right tile based on the neighbor tiles. The tile map was also used for generating invisible colliders with Box2D to detect whether the player is driving on course or going off-road, to dynamically adjust the speed. Box2D handles the collision detection between a rotated rectangle (car) and an axis-aligned square (invisible world collider). Box2D is also used to define three invisible trigger zones per course that the player must pass through in sequence for a lap to be counted.

I’ve added a variety of cars, all with unique acceleration, speed, and handling, added different circuit courses with time trial challenges to earn stars, and an in-game shop to spend stars in order to unlock new cars.

Lastly, I’ve added music and sound effects and localized the game in English and German.

Launch

After a brief development phase, the game was ready to be released on the Google Play Store. Originally titled Turbo Madness, the app was competing with hundreds of other apps for those keywords and didn’t appear in the search results for the exact phrase even after a couple of days. Appending the keyword Racing made the crucial difference to create organic visibility.

I decided to offer the app at a fixed price point of 1.19€. In hindsight, upfront one-time payments don’t work particularly well in the mobile market. While the store page had more than 5,000 visitors just from organic traffic, the app only reached low double-digit sales.

Turbo Madness reached #1 among new paid racing games when it launched.

It climbed to #41 among all new paid games in the following days.

Overall, I am happy with how the release went. Although the launch wasn’t a success story, it taught me what it takes to take a project from the idea to releasing it, as well as early learnings in mobile pricing models, SEO, and marketing.

Beyond the Launch

My seminar paper where I documented the development and design decisions of Turbo Madness Racing was awarded a prize at the graduation ceremony for my high school class as the best seminar paper in the department of computer science.

Screenshots

Tags