Creating a free 2d mobile game in Unity and why (I think) it failed.

Updated: Mar 10

First Published Game!

Space Jumper



Asset store description:

A casual space adventure that takes you beyond a typical 2d platform game. Unlock new levels by solving challenges and puzzles. Collect all the items while avoiding UFOs, stars, and the edges of space.




Released Feb, 26, 2019

This was my first project making a complete game from scratch, by myself, as a 3d artist with limited code experience. I created everything from design, graphics, coding, and sound, to asset store publishing and marketing.


Looking back almost a year after release, I've had lots of time to think about what went well and what I would have changed.

76 total scripts

Some Stats

Released to - Google Play Store

Price - Free

Production Time - About 6 months

(in my free-time).

Levels - 14

Scripts created - 76

Out of pocket expenses - $300 (paid ads, website, other. Not including time)


Total downloads - about 180

(almost all from ads)


Money made -$300.00


Why Free?

Based on my research free apps are the only ones that do well. After all, who would pay $1 when they could spend $0.

Following my market research, I decided the game would be free. I also looked into free to play options, with in-game purchases but given my limited resources and time this options was not feasible.

Attempting to make some money off my efforts, I decided to go with in-game ads, even though I do not like in-game ads. My goal was to keep the ads minimal and non-intrusive. The goal was to test out this options to receive some payment for the game.


A little about the ads.


I set myself a $100 budget for ads to boost downloads, and to hopefully get a good raking on the play store. Having never run ads for anything, this was definitely an experiment. The results give a good insight into how the game preformed.

The graph below shows the results of running Facebook ads for one month.

As the graph demonstrates, retention of active users drops off and only a fraction of the people who visited the store downloaded the game.


Within the game, ads ran if the player lost 3 lives. Watching an ad gave the player the opportunity to get an extra life, watching the ad was optional in this case. Ads also ran if the player passed 5 levels without losing 3 lives or choosing to watch ads to get more lives. At the end of the games run, I had made $1.01 from the in-game ads.

What could be improved?


Solidifying game play at the start.

My main focus was to make the controls fun, which meant I didn't spend enough time on the overall experience. What is the point of the game? Collect the orbs? Level up? Time trials? Puzzles? Flipping between these ideas wasted the limited time I had to work on the game (at the time I was working full time as a 3d artist).


Emphasizing rewards and accomplishments.

There are no "Won level" screens, bonus levels, upgrades or any of the feedback used in many other games to keep player's attention. These are game tools that trigger dopamine hits and keep players coming back. In retrospect, I should have looked into Facebook more prior to designing the game to see how they utilize these tools.


Having spent more time on these aspects, I am confident it would have helped with retention; however, I'm still not convinced it would have ultimately made the game a success.


Building a community.

Using a free, ads based model, I would have needed hundreds of thousands of consistent players to make any substantial income, something that wasn't achievable with the resources I had, paying for ads to get users.

A goal for future projects, and something I think would have made a difference, is building a community for the game prior to release.


This would have helped on two fronts:

  • To get needed user feedback.

  • To build a group of people interested in the game and build a base of people who would potential buy it.

I did not post WIP images or participate in online discussions (Twitter, Reddit, Unity forums ex..) that could have helped expose some of the issues with my project before releasing the game.

Refining effects.

The term "juice" is thrown around quite a bit in regards to this concept. Space jumper has quite a bit of juice in my opinion but there were a few things I just didn't implement that would have added to the juice of the game.

















The one effect I regret not adding to the game is UFO abductions. This would have added another level of challenge and possibly added to the juice level.



Also, upon reflection I didn't need to create a website, as this didn't add to the overall downloads or experience of the game.


What went well.


I created a game and released it on the Play store!!

To me this was worth taking on this project. There were so many steps involved that I would have never encountered in my typical work. I learned so much about game creation and expanded my coding knowledge and experience.



Increased my comfort with Unity and C#.

Creating a full game with menus, saving options, and all the other elements required for a full game experience, forced me to explore areas of game development that I was resistant to exploring before.


Player_v3

Visualizing the raycasts.

One of the most complex scripts of the game was the player controller. I went through a few variations before I got it to work the way I envisioned. It turns out "jumping" from planet to planet and then smoothly interacting with them is a bit tricky.


I solved this particular challenge using ray-casting, turning on and off planets, and distance checking.






Menus

These ended up being a bigger challenge than I anticipated. After a lot of trial and error, test after test I settled on the final menu format. In the future, I hope to refine the menus and make it easier to use them in other projects, but for now I am very happy with how they turned out (especially given how frustrating they were).


Run-time generated collectable items.

Trying to make my life easier, I made a few scripts and prefabs that helped generate the collectable items at run-time: one generated a number of items along a line and another generated items around the planets.


Sounds, Music.

Space Jumper is probably best played on low volume. I can't claim to have the best sounds and music but I created them all myself using LMMS.


One track has even become the official "spaz" dance theme song at my house. My wife and I enjoy having occasional dance parties to the theme song.

This is a cycling eerie track, used for incoming danger and UFOs.

This is a background track used in most of the levels.


This is the promotional video used for the asset store and for ads.


Some scene shots.

Keeping the scenes simple.
Outrun space lava!

What is next for Space Jumper?


At this point in time, I don't plan on returning to this project but I do want to, at some point. The consequences of not solidifying things upfront has made the project a bit messy and will need some love and attention to get it into a manageable state.


Some of the biggest changes that I would like to implement are an upgrade system to unlock different ships, add a survival mode, procedural level generation, and more explosions.


I am not sure if I will stick with ads, if I can get some of the changes implemented, my hope is that the game could hold retention enough to see some returns. Currently, there are two other options I am entertaining, making the game $1 and/or adding in game purchases.


Overall, I am very happy with the game. Going into it, I was hoping for more monetary success but despite that, it was well worth it for experience and the opportunity to expand my skills and knowledge. The process highlighted things I need to consider for future projects and increased my coding knowledge for other projects I have planned.


I'll be posting work on future projects on twitter.


Wish list:

Procedural levels.

Different name?

Better tutorial.

Alien abductions.

Rewards, upgrades and achievements.

More levels and puzzles.

Survival mode.

IOS release.

Portals.

More explosions!

Better sounds/music.


Upgrade sketches

Space Jumper can be downloaded here.

Update: 3/10/2020


Created a webGl build so Space Jumper can be played online.

(warning, has UI/Menu bugs but otherwise converted ok)


#Unity3d, #MadeWithUnity, #indiedev

Brandon Gillespie

Cwisbg@gmail.com