Shark Escape - 10th Anniversary
Back in 2014, my brother and I developed and published an Android game called Shark Escape. To celebrate its 10th anniversary, I thought it would be fun to look back at the game and do a bit of a postmortem.
As part of the anniversary I’ve published the game as an HTML5 project, so everyone can play it without needing to install it on an Android device. Check it out here!
Note that the achievements and leaderboards do not work, as they depend on Google Play Game Services. Also, the backgrond music will only start playing as soon as you interact with the game by clicking inside the canvas.
Development #
We originally developed Shark Escape in GameMaker Studio over the course of a few weeks1. Obviously, it was somewhat inspired by the mobile hit of the day, Flappy Bird. My brother handled the sprite work in GameMaker, while I coded the gameplay in GML. Although I had been experimenting with GameMaker for a few years, this was my first project fully written in GML rather than using the drag-and-drop functionality. The background music was created by a friend using an old version of Magix Music Maker, if I remember correctly.
Release #
We released Shark Escape on the Google Play Store on August 22, 2014. We included ads using the Google AdMob SDK, setting ourselves the goal of earning back the Google Play developer registration fee (which was $25 at that moment).

Updates #
While the game was feature complete at launch, we did release several updates over the years. Based on what I could recover from the Google Play Developer Console history, running old APKs in an emulator2, and checking the Git history, the highlights are as follows:
- Version 1.5.5 (November 2015):
- Added Powerup and Hardcore game modes;
- Overhauled the menu graphics;
- Added six additional fish skins;
- Integrated Google Play Game Services, adding achievements and replacing the old (local only) leaderboards.
The overhauled menu interface, including achievements and leaderboards. - Version 2.0.0 (December 2018):
- Updated the targeted SDK version.
- Added two additional skins, for a total of 9 options.
A total of 8 additional skins were added over versions 1.5.5 and 2.0.0. - Version 3.0.0 (May 2021 - internal release only):
- Rebuilt the menus in Unity as a proof of concept, to see if it would help us to better stay up-to-date with Android SDK releases and if it would help in other areas, like scaling and aspect ratio other than 16:9.
The menu reimplemented in Unity. - Version 4.2.0 (August 2021):
- After noticing an increase in downloads we ported the game to GameMaker Studio 2, allowing us to finally provide a 64-bit build.
- Changed the score font to match the menu redesign from version 1.5.5, instead of the font of the older buttons.
- Versions 4.3.0 (January 2022), 5.1.0 (January 2024) and 6.0.0 (December 2024):
- Upgraded GameMaker, dependency, and target SDK versions to comply with Google’s policies (and thus preventing the game from being removed from the Play Store).
- Version 5.1.0 also added a button that links to our other game, Highway Madness, which is curious considering we released that game way back in 2015!
The current build, version 6.0.0.
User acquisition #
Although the game was released back in 2014, we saw the largest increase in user count only seven years later, during the pandemic. To our surprise, somewhere in mid-2021 the number of installs suddenly increased.

Expenses and income #
- The Google Play Developer registration fee was $25.
- The GameMaker Licenses were always relatively cheap because we upgraded from legacy versions. I couldn’t find the invoice, but the total cost for upgrading to GMS and later to GMS2 was probably around €30–€40.
- Ad Revenue: The game made total of €100,90 through ads.
While we did achieve our goal — earning back the registration fee — this is, of course, far from a livable wage! That said, most (amateur) game developers never make a single dollar from their games, so I think it’s pretty cool that two teenagers managed to make a hundred bucks 😄
Remarks #
1: Exactly when development started is unfortunately lost to time. Back then, our version control was nothing more than an external hard drive containing a ZIP file for each build of the game.
2:
This unexpectedly presented a bit of a challenge: early versions of the game were built for ARMv7 and Intel Atom (both 32-bit targets), meaning they wouldn’t run on the AVD emulator (at least on ARM64 macOS hosts), even when using the oldest available image (Android 9). To run the older builds, I used a physical device, in this case a Pixel 6a as newer devices like the Pixel 7 also do no longer support 32-bit apps. Even then, I had to pass the --bypass-low-target-sdk-block
parameter to adb, or it would complain about the targeted SDK version (which of course was severely outdated). The original builds date back to 2014, and GameMaker was never known for their quick support of newer SDK versions.