This is a continuation of Concept of dynamic content in mobile games – Part 1
From the last article we learned how powerful the concept of dynamic content is. But does it have a price? Unfortunately nothing comes for free. How bad is it then?
First at all our users need to be connected to the internet to download the new content. Then the process of content's deployment has some risk and requires some effort. We are operating on game critical values after all so we need to be very careful not to break user’s experience. Content needs to be carefully prepared by the Content Owner, process supervised by the Release Manager and game precisely tested by QA to ensure it’s high quality after deployment. Sometimes all those roles may be filled by one person, it depends on the scale of your game. But what if some of those resources are not available? Imagine we want to release a special offer only for Christmas Eve but it’s Christmas and people have a day off.
- Sometimes people are not available
We need to find a way to provide same dynamic content but release it less often. Solution is easy. Let’s release part of the content as inactive. It will be there, deployed to all active users, but it won’t be effective yet, waiting for activation.
We can identify two ways of controlling the lifetime (or even lifecycle) of dynamic content - time and event based.
First one allows us to schedule the lifecycle of content in time. It can be active for example:
- after 1st of September,
- only for Christmas,
- every second weekend of every three months except New Year’s Eve;
As you see rules may get very complex. We can even schedule content’s lifetime recursively - for every Christmas for the next 10 years, so we don’t need to worry about it anymore. Of course we would refresh it from time to time, but if we forgot it’s still there.
Event based lifecycle is controlled by user’s actions. When we develop our game we should identify meaningful metrics and inform our dynamic system about them. Those metrics can be:
- user levelling up,
- user making first (third…) purchase,
- user winning/losing his first (third…) game,
- many many others;
To be more flexible you need to think of as many meaningful metrics as possible. As a good example, we can make our players a special offer right after they complete the tutorial to encourage them to play further, or offer them special boost after they lose their first game to retain them.
It’s already pretty awesome, isn’t it? But how can we take it even further?
Remember when I mentioned that players don’t forget when we provide poor experience? But how can we know if the new feature we work on will be well accepted? Other people may have different taste than us and although we already did a market research, we can never be certain of their expectations. So how do we guarantee best experience?
- Which type of person you are?
Let’s deploy our dynamic content feature to some of our users and measure their reaction. Or even let’s deploy
one version of it to some and different version to others and then compare results. We call it A/B testing.
A/B test is an experiment in which we divide a subset of our players in different groups and provide slightly different content to each group. When the experiment ends we select the content which brought best results and deploy it to everyone. To determine which group brought best results we can measure
revenue and retention between them.
To measure user’s reactions we need an analytics system, but that's another story.
I will talk about how to build dynamic content system in the next article - "How to put it all together? Dynamic content – Part 3" Stay tuned.