Let me take you through some of the keys to designing a store that users will enter frequently and hangout in for long periods:
- Put the store where users can find it and make it a natural part of the game loop
- Create items that players use in your game every day
- Make the store experience an interesting one
- Limit continuous game play
Put the Store Entrance Where Users Are
Getting users to naturally enter the store as part of the game flow is very important. Let's check a few methods for achieving this. If your game has levels, it should be easy enough for you to add a button to the store from the screen that notifies the user about a successful level completion. Is your game is a 'survival mode' type game or an 'endless runner'? No problem. These games have limited sessions that usually end with a summary screen. This will be the right place to put your store button. Designing other types of games? If you implement the 4th tip you would actually break the game to sessions and would be able to use the session end screen. Alternatively, you can add the store button to screens that notify the user about achievements.
You can also use virtual goods that require users to activate or equip them and use the store as the interface for picking the active character/vehicle/weapon. This will help you get users to the store more frequently.
Add Items that Players Need Regularly
Ok, so the store is now accessible from every screen in the game but why would a user want to enter it? Let's think about the real world. The store that we enter the most is the one that sells the product we use and consume every day. Let's create some goods like that and make them easy to buy with game coins. How easy? The user should be able to collect enough coins in 1-3 levels or a few minutes of game play. The good itself should be regularly consumed and should make it easier for the user to collect more coins. If you do this correctly you end up with a consumption loop that brings the users to the store almost every time they user plays the game.
Here is how to make a effective regular use good:
- Make it complement the game store (bananas for a monkey, fuel for a car, ...)
- Price it so that users can earn enough to buy it within a few minutes of game play
- Create an item that is fun to use and makes the game more engaging with it
- Give the item powers that will make earning coins easier
Design an Engaging Store
You should also give the user reasons to spend time in your In-App Purchase store. Think of ways to make the store engaging and interesting for a long time - extend the variety, add some mystery and try to keep it fresh. If you want to look at a good example of store variety - look at CSR racing. That store has over 2 million items you can buy. You can also add mystery by using silhouettes to hide an item until the right time has come. This helps in keeping the user engaged and curious about what the store has to offer. The last bit is to keep your store fresh by adding items, unlocking items and even featuring seasonal items and limited editions.
Add Limits and Breaks to The Gameplay
If you want to really play it like the pros, you need to limit the user ability to play endlessly. This is a bit tricky so you will need to approach this carefully and be careful not to annoy your users. The best way to do it is by experimenting with different levels of limitations and measuring the impact on users until you reach the sweet spot. If you do choose to explore this direction, you should design a resource that is consumed naturally in gameplay and automatically adds up as time goes by. Candy Crush Saga, has 'lifes' and in other games you can see fuel or energy. When the user runs out, she can choose to do one of three things: buy more, stop playing and come back later or wait inside the game. If you followed the rest of the advice, the option of staying inside the game and visiting the store should be a likely choice for a user who wants to kill some time.
Will be happy to discuss more about this or any other game economy design topic. You can reach me on twitter at @y_nizan.