Recently I had a discussion with the highly talented developer of a game called Chain Reaction. The story of this game is quite interesting. It started by the developer taking an off-the-shelf template for cocos2d-x and changing just one simple thing. The game became a success with about 100K very loyal active users. The discussion led to a series of experiments that I want to share with you.
Gameplay and level design
To give you some context, the game features a 2 dimensional world where a large number of balls bounce in linear patterns of the walls and different square obstacles placed on the screen. The player has 3 explosion balls he \ she can drop by tapping the screen. When one of the moving balls touches the dropped ball it explodes as well and any other ball that touches it will also explode. This creates a chain reaction which is the source of the name for the title. The challenge for the user is then to carefully select the best place to drop the balls to trigger the chain of events that will make most of the bouncing balls explode. Every level has a goal that defines the number of balls that need to be exploded to complete it.
The game has both levels and worlds:
- Levels in the same world differ by the number of bouncing balls and the number of balls that need to be exploded
- Different worlds have different obstacles in them
4 experiments we made to the store
Adding titles to store navigation
The store of chain reaction originally tried to follow the abstract design of the game so it had very little indication the in-store navigation. The first experiment was to add names to the navigation buttons so it will be clearer where they lead.
Starting off the user with initial balances
Chain reaction has 3 consumable goods:
- Extra balls – allow the user to try more than 3 times per level
- Duration balls – increase the explosion duration and improve the chances of a reaction with other balls
- Radius balls – make larger explosions and increase the chances of hitting other balls
Whenever a user downloads the game, the original setting was to start him off with a 0 balance. The second experiment we made was to give users a small initial balance
Clearer item descriptions
The store descriptions for the items were repeating the title of the item. For example the item “Duration Balls x 10” was described as “Purchase 10 extended duration balls”. We changed that to “Balls that last 25% longer – 50% off“
Limiting continuous play
One of the problems of the game is that you can try each level repeatedly until you succeed by sheer luck. That creates two problems:
- The game is not challenging enough. It’s simply a matter of time until you get through a level.
- The user default action is to just try again rather than explore the store
Adding a limit to how many attempts a user gets is very easy in chain reaction. There is already a limit of balls per session, we just pull the ball count to the game level. This means that the balls will serve as ‘lives’ you might have seen in other games. Then we simply added a cap of 30 balls and a time based replenishment – about 30 balls every hour / 1 ball every 2 minutes.
Here is what’s really cool – the first 3 items took less than 1 minute to implement. We just used the SOOMLA dashboard for that.
That’s it! Now we are waiting for the results to come in. Let’s see how much more revenue we got out of this.