Tips and Advice

Most developers in the SOOMLA community rely mostly on organic discovery through the app store. The good thing about getting installs for free is the price. The bad thing about it is usually the quantity. There are many resources about how to get more visibility in search results int he app stores and if you are lucky enough you might also get featured. However, there might be a time where you would want to experiment with advertising a bit. This post is a must read if you are going to do that.

Now, it’s really not a secret any more that Facebook advertising is the best channel for player acquisition in mobile games. Most companies name it as their first channel and some of them claim that more than half of their installs. However, advertising your app or buying users as some call it requires a lot of experience. This post will give you a clear recipe for your first attempt in this field in a way that is relatively bullet proof.

Here is the recipe in bullet points:

  • Find the IDFAs of your best users
  • Implement Facebook SDK and add revenue events (IAP + Ads)
  • Create a custom audience
  • Expand the audience by creating a lookalike audience
  • Create an ad group and a campaign that promote your game to the best audience

Pulling the IDFA from the device and building your list

The most critical step in this method is to build your list of IDFAs. There was a lot of talk about Apple rejecting apps that take the IDFA but the reality is that as long as you show ads to your users (most apps do) you are probably fine. You can guess that the magnitude of the reaction was mainly becuase so many people do it. I had to work hard to find some guidance about hos to do it. Here is what I found in StackOverflow – IDFA retrieiving – this answer just give you the client side code. There are still two things you will need to figure out:
  • Figuring out what defines a good user – I would recommend 3 lists:
    • Users who passed x levels or broke the record y times
    • Players who used their collected coins to buy advantages
    • People who chose to watch incentivized videos or take some other offer for some ingame coins
    • Whales – people who paid in your game
  • Build a server solution to collect the IDFAs you want to store.

Tracking revenue events with the Facebook SDK

Getting more installs is nice but it would be a lot better if the users will generate more revenue than the price you had to pay for bringing them in. When that happens, you can keep buying users knowing that with any users you are generating more money. The easiest way to know that is to implement the Facebook insights SDK and more specifically the app events that allows you to correlate the source with the outcome so you can measure the effectiveness of each ad-group. Here are the official instractions from Facebook dev portal.

Creating a custom audience

Custom audience is basically a list of users you upload to the facebook platform. In step 1 we created lists of highly targeted users that actually played the game and engaged with it. Put the IDFAs in a CSV file, go to the facebook ads manager, click on the audiences item on the left side menu, hit the “create audience” button on the right hand side and then select Custom Audience and Data File options. You will be presented with a screen that allows you to upload your CSV file. 

Finding users that look alike your best users

Lookalike audiences are a simple way to find more users like the ones that already worked well for your game. Facebook would allow you to expand a custom audience to 1% or 5% of the population of the counrty you are targeting. You should choose one of your custom audiences and expand that in a certain country. Note that this feature works well when the custom audience you are using as seed is 2,500 users or bigger. 
Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
Game design

I recently came across this slideshare from Dori Adar, the creative director of TabTale. Dori puts the highly gamified app – Tinder in standard under the prism of game design principles and tries to explain its popularity. He attributes much of the success to something called the hunter loop – a highly effective action and reward loop that is embedded in our brains very strongly since the times where hunting was a survival instinct.

Dori also explains how to build a hunter loop in your game in order to increase user engagement and retention. Basically, how to make the game more fun for users by leveraging their primal instincts. The presentation has 95 slides but it’s a fast flicker with a single line or visual in every slide so you can go through it quite quickly.

If you want to better understand the psychological and biological aspects of why the hunter loop is so effective, I highly recommend this TED by Simon Sinek. In the talk, Simon explains the effects of dopamine in focusing us on goals and motivating us to achieve them (Minutes 8-10 in the talk). The example that Simon users is hunting for food and while mobile games can leverage the hunter loop, you can imagine that the dopamine levels are higher when the prey is real and reflects a very primal instinct as in dating apps.

So if you find yourself addicted to Tinder, you can blame it on the dopamine.

Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
Game Reviews

kaya game is tetris meets candy crushKaya is a cool game with really nice design that seems to draw some of its inspiration from the flat iOS 7/8 design. The game is available for iOS through this link.

Dropping and matching

The gameplay is pretty straight forward and might remind you of the game Tetris at the beginning. There are shapes you can drop from the sky except that in the game they are all kind of rocks. Unlike Tetris, the shapes don’t fit each other nicely and while some space can be saved by smart placement, there is no way to complete lines and remove them but instead, users can match rocks to get different effects.

Crank up the difficulty and make it fun

One of the areas where the game can improve is the difficulty curve. Completing the first 10 levels didn’t pause a real challenge for me when I tested the game. One way to add some difficulty is to follow the original Tetris game – in other words, making the pieces fall slowly adds another level of complexity. A more simple and immediate fix, is to add a global time constraint. I like it also when games mix these various modes in different levels to create harder and easier levels. That really adds fun to the game and increases player engagement.

Gamify game progression

This sounds like a silly advice but many games get it wrong. In order to get users engaged for a long time and retain them, the game designer needs to build a narrative for the game progression as well as a persistent world that the user will want to get back to. A lot of casual puzzle games lack that component and Kaya is not different. I would recommend coming up with a reason why should users bother about fitting the rocks in the place? Once there is a goal, the game can visualize the progress towards achieving it. Users will want to come back and play more to complete that goal.
Give users a reason to celebrate! Why are they stacking the rocks?

Celebrate success

Another aspect where this game is lacking is what happens when you succeed in a level. Instead of recognizing users achievement and celebrating his success, the user is immediately transferred to the next level. Some users like a pet on the back when they do something good, others wants to see that they collected coins that can buy them game advancements, and some players like to see that they beat their friends. Anything that can give the user a reason to feel good about completing the level will make him want to complete more levels.
Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+


Here at SOOMLA, we’re constantly working on developing new materials that will help game developers easily use our open-source. Our Knowledge Base provides lots of guides, tutorials, and examples, and we are currently working on expanding the video tutorial section.

Our newest video demonstrates, in a little less than 10 minutes, how to get started with cocos2dx-store.

The video will show you how to:

  • Integrate and setup cocos2dx-store
  • Download the cocos2dx-store-example called Muffin Rush
  • Run the example app on an Android device (in the video at 6:05)
  • Run the example app on an iOS device (in the video at 8:39)

SOOMLA’s cocos2dx-store Getting Started video tutorial

Find more information in our Knowledge Base

Our Knowledge Base provides a detailed tutorial of how to get started with cocos2dx-store, along with examples. The Knowledge Base also contains lots of useful information about the different entities SOOMLA provides, event handling, debugging tips, and more. We recommend you browse through the materials and take advantage of all the media available. If you still have questions after that, feel free to ask us at Soomla Answers.


Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+

In our quest to provide the ultimate game design framework, we can’t ignore developers’ efforts to easily create and maintain their game’s state and structure. Actually, this is what game design is all about. So we were looking into expanding the SOOMLA framework in that direction and LevelUp is what we came out with.

LevelUp is a set of objects, rules and behaviors for better game design and management. Using LevelUp, you can define EVERYTHING in your game. From Worlds to Missions, from Rewards to Scores, it’s all baked in and ready for use. On top of the game modelling, LevelUp provides a set of functions, events and configurations to help you manage your game state. You can increase or decrease scores, catch events to show notifications to the user, or open and close gates. And of course, everything is kept on the device in SOOMLA’s small encrypted database.

LevelUp Model Overview

When you combine all the 3 modules of SOOMLA (Store, LevelUp and Profile), you get a most powerful tool that can help you manage your game design better than ever. You define everything once and the framework takes care of everything else. Amazing! isn’t it? :)

To make this deal even sweeter, we are working on integrating this module with Apple Game Center and Google Play Game Services, so keep following this blog.

You can get LevelUp today for Unity3d and Cocos2d-x (v2 and v3). Make sure you go through the docs before you start modelling your game. The more you understand how it works, the better your game design will be. We’ll keep working to add more documentation, examples and tutorials so LevelUp will be easy to understand and work with.

Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
Fun Stuff

After working one year at a major corporate here in Israel, I can say one thing, it’s not for me, at least not right now.

Some background

At the beginning of my career as a software developer I found a QA gig at a startup company in Rehovot. The idea was pretty awesome, but too much politics and too little professionalism led to it’s closing. Obviously, I wasn’t really devastated when one day the CEO told us to pack our stuff and leave because I had bigger fish to fry back then, I was a full time student.

Oh well, the QA thing bothered me as well, “why would a computer science student do QA?” right?  So I decided to pursue a “real” job and wanted to become a software developer.

I went and found me another student job at a small company, not a startup though. They seemed to have it all figured out, they have been working for 20 (!!!) years at a competitive market, you gotta appreciate that. I can say that I did do a lot of code. Not all interesting and involving cutting edge technology, but still I got my hands dirty and wrote tons of code. The problem was, this company was so dependent on it’s legacy product that most of the code I did was for inner purposes and I began to lose interest.

So until now we have a failing start up and a small, well managed and experienced business.

The corporate experience

Fresh out of the University i decided to experience the “corporate” world. After working there for a few short months I could already see the advantages: free food and flexible working hours.
Now seriously, there are a few things I’ve learned from the corporate organization, for example, everything needs to work according to strict methodologies and procedures. This understanding now helps me plan and manage my time better. Also, I’ve learned the dynamics and politics of working in a large team, with people of all ages, shapes and cultures.

But the heart wanted more …

A new journey

I wanted to truly be part of something new and exciting, I knew that a start up was the only way to go and after being there for almost a month, I can say – it’s awesome.
Not only that I get to work with some of the amazing tech out there, I finally do things end-to-end and not one small piece of the puzzle. The best thing is to learn a whole lot of stuff every day and still feeling that I have so much more to learn – something I never had at my previous job.

This journey has just begun and it already feels like the right choice, will keep you posted :)

Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
In App Purchase Tips, Industry News

Google recently announced that they are considering adding In-App Purchase price ranges to the Play Store. This comes on the heels of Google’s loss in court that forced them to pay $19M in IAP refunds as well as the fire Google and Apple have been receiving for the poor control users have over their IAP payments especially when it comes to children. Apple also faced the same problems and were forced to add more controls and more transparency and today it’s Google’s turn. in app purchase price ranges to be added to google play store

Password requirement and price ranges

Google already made one change earlier this year. They improved the control users have over In-App Purchases by adding more configuration options regarding the password requirement. This week Google also hinted that they are going to display the price range of virtual goods offered in any app in the store.

What developers should know?

One impact of this change on developers is that these moves by Apple and Google potentially increase users’ trust in their stores. Developers that considered alternative stores should check to see where the wind is blowing with regards to store download volumes.
The more important change is how the new change might impact users’ decision to download the game or not. Parents might not allow their kids to download games with IAP items that reach $99 so savvy developers might limit the items in their in game store to $19.99 or $29.99. The change unintentionally gives advantage to games that focus on selling consumables. Even when the biggest item in the store is $9.99, payments can accumulate quickly if the game allows the user to purchase them over and over again. I expect to see more developers adopting a virtual economy model that includes single use items, resources and other consumables such as: lives, shots and fuel.
Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
Game Reviews

Angularis is one of those games that when you first look at them you have a feeling that with the right music it can put you in a trance. Something about it’s darkness and the beams of light I guess. The game is made with Unity for iOS and Android

Rotate and match  the light pattern

The gameplay itself is pretty easy to pickup. There are two short beams in the center which you can rotate left and right in 90 degrees at a time while there are 2 longer beams that come towards you. Every time, the beams are coming towards you, you should rotate the short beams to match the pattern of the longer ones. That’s it. 

Instant gratification for matching

While this can be fun for a short while, I think the game has more potential with some adjustments. The first thing I would do is make the longer beams closer together but moving slower. This gives a stronger sense of dimension, and in this case it will create a movement illusion. In addition, it will give the user a chance to read the next moves if he already matched the pattern and has a split second to look ahead. In other words, it gives the user instant gratification for matching the pattern early.

Diversify the difficulty curve

The other thing that can make a big difference here is to split the game into quicker patches and slower patches and even cool down patches. It makes the game less monotonous and give users some time to breath and enjoy what they accomplished. During cool down the game can add some visual elements in the sides of the screen as well as different music to create transitions between sections. 

Find your game progression scheme

The game is currently using Gamecenter for scores and achievements but is actually lacking the more basic sense of achievements – there is no sense of progress. Fixing it requires some work: the first step is come up with missions that are related to gameplay and are things the users can control. Here are some examples:

  • Do a 360 rotation to match a pattern
  • Do a 270 rotation when 90 degrees are needed
  • Match a future pattern before its turn reached
  • Survive the first quick patch
  • Match 10 patterns in the least amount of rotations possible
  • Reach a certain score
These are obviously just ideas, but they are much more interesting and actionable than the current ones. The next step is to communicate the missions to the users as they enter the game mode. This is pretty basic if we want users to be aware of the missions. The last step is to celebrate the completion and reward users for their success.

Upgradable goods will bring your users back

Another important suggestion is to take advantage of virtual goods to create a sense of progress and make the games more interesting. In games that have no levels, it is common to add upgradable virtual goods to give users something to work for and motivate them to keep playing. The options in this game are quite limited but there should be an opportunity to set this up around “temporary shields”. What I mean by temporary shields is the type of virtual goods that lasts for 10 or 15 seconds and provide immunity from traps, enemies and other stuff that will normally kill you. In Angularis, the main reason for the turn to end is when the user doesn’t match the beams on time. A shield might look like a round source of light that can connect beams even when the user fails to align them. Developing further on this concept means creating two main virtual goods:
  • Upgradable good – shields that has levels that increase their effectiveness
  • Single use / resource good – energy that is required to power the shield

The combination of these two usually provides better results. The single use goods, increase the engagement of users with the virtual economy and the upgradable goods give users motivation to come back and make it to the next level.

Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+

We are happy to announce the brand new Profile module, now available to the SOOMLA community.

The Profile Module

SOOMLA is always looking for new ways to help game developers make their games better. One of the key elements in modern game development is social network visibility, game developers want their games to interact with social network, this way the players become the evangelists of the game, and the game gets noticed, which leads to more players.

The Profile module helps game developers connect their game to the social web. With Profile integrated into your game, you can easily authenticate players using various social networks, allow the game to post on players’ feeds, get information about their friends, and much more!

Player Motivation

What is the player’s motivation to grant your game access to their social network? one word… Rewards!

Players love to get rewarded for preforming social interactions within your game, with Profile it’s easy to do so. The module allows the developer to attach a reward to almost every social interaction within it, when players preform it they get rewarded. Since Profile is a part of the SOOMLA framework, it’s easy to attach a reward which is bound to your Store virtual economy, meaning the player can get virtual item rewards for his/hers social interactions.

Get It Now!

As with all SOOMLA modules we try and cover as many platforms as possible, the Profile module is currently available for iOS (ios-profile), Android (android-profile), Cocos2d-x (cocos2dx-profile), and Unity3d (unity3d-profile).
Much like our other modules, this module is open-source, so there’s no reason for not getting it right now, and if you wish you can even contribute to the project.

Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+
Game Reviews

the tower is a fun action game that can give you ideas about virtual economies and game designThe Tower is a fun game from the makers of 2048 – Ketchapp (here is a link for iOS). If you want ideas for making great games, read on.

Simple mechanics – tap at the right moment

The goal of this game is to build the highest tower by adding bricks/levels on top of each other. Each brick is moving back and forth from right to left and tapping it at the right moment will place it perfectly on top of the existing tower. Missing the perfect moment to tap means that some of the brick is falling down and the building becomes narrow. The less wide the tower is the harder it is to land the bricks on top of it. Sound simple enough – it is! I personally find this mechanic extremely engaging. Another game that uses the same “tap at the right time” mechanic is CSR racing. While that game is far more advanced and rich in terms of the virtual economy and graphics, the basic mechanic is very similar – you have to shift gears by tapping at a very certain time and if you miss it you are likely to lose.

The height of the tower is the achievement and score

This game has an extremely simple system for keeping users engaged over time. Your goal is to always break your previous record. The only scoring and progress system is the height of the tower which makes for a very visual representation that contributes to users’ engagement with the score. Who wouldn’t want their tower to be the tallest? Of course, this system usually creates a problem of convergence – the higher the record the harder it is to break it. Lack of progress can lead to frustration unless there is a mechanism to handle it. In this game, the virtual economy gives the game an extra layer. Once users master the basic principals of building tall towers, they discover more depth that is introduced by the ability to turn collected coins into virtual goods that assist in reaching for the sky.

Focus on rating to get viral

The main social action in the tower is rating, there is no use of a facebook connect plugin here. There are multiple buttons to direct the user towards rating the game and before the user is redirected, there is a nice dialog that makes the transition smoother. There is one place for improvement here. For users who already connected on Game Center, I would recommend switching the rate button action to open Game Center instead of redirecting to the App Store. This allows users to rate the game without leaving the app.

Virtual economy with no in-app purchases – wait what?

One of the reasons I really like this game is that it uses virtual economy purely for engagement and not for monetization. This sounds almost crazy in today’s trends towards in-app purchasing but it shows the designer actually grasped the original purpose of virtual economies and their potential as a retention mechanism. While at first it seems like the game is about tapping at the right moment, the only way to build tall buildings is to master the use of the upgrades. After a few sessions, users already have one or two thousands of coins and can immediately start buying items that are priced in the hundreds:
  • Save Me
  • Extra lives
  • Headstart
  • Redo last move
  • Coin doubler
Most of these items are priced for real money in other games but the tower takes a casual approach and sells them for in-game currency. This adds the game another layer of complexity, increases retention and solves the game progression problem. A+ on the use of virtual economy here.
Show us you care Tweet about this on TwitterShare on FacebookBuffer this pageShare on LinkedInPin on PinterestShare on Google+

Join 3171 other smart people who get email updates for free!

We don't spam!

Unsubscribe any time


SOOMLA - An In-app Purchase Store and Virtual Goods Economy Solution for Mobile Game Developers of Free to Play Games