Sponsored By

Concept of dynamic content in mobile games – Part 1

Dynamic content for mobile applications is a subset of data that can be deployed to all active users instantly, without a need of submission to stores nor any user’s action.

Marcin Zasina, Blogger

September 15, 2015

14 Min Read

Dynamic content for mobile applications is a subset of data that can be deployed to all active users instantly, without a need of submission to stores nor any user’s action.

If you don’t know yet how powerful it can be, hear my story out.

Imagine a game developer or a small studio starting their adventure with mobile games development. They have passion for games, some skill and knowledge, couple of great ideas and some limited resources. After some time, with a great effort and commitment, the first version of their game is finally finished. They show it to their family, friends, to the local game-dev community, and everyone loves it. Great success! Let’s release it right away, they say! Let’s share it with the whole world immediately! But it’s not possible. Not yet…

As you may know, some mobile stores require a review process before an app can be distributed. That process takes from one to two weeks. 

Our developers submit their game to all stores, and not to be idle, start working on the feature set for the next update. After 6 days, when their game is still not approved, unfortunately they realise there is a nasty bug in the submitted version. A very cheap InApp which brings ridiculous amount of in-game currency. Although it makes perfect sense for testing, released to the audience breaks game’s economy, user’s experience and reduces potential income. People can unlock all game’s features right away, without any effort and almost for free. It’s not acceptable.

suck

The only thing they can do is to reject submitted version, fix the bug and submit it again. Fixing it may take 15 minutes but they lose the whole another week for the new review process. What if there are campaigns to promote the game already started? That sucks, they lose time and money…

Eventually they fix it and resubmit. A week after, when their game is finally approved, they decide to release it to the audience.

Very excited and curious of player’s feedback, they follow reviews in all stores. And then reality comes back. People don’t like it… They find the game too easy to play. They get too many boosts during the gameplay which makes their game not challenging enough. It’s not well received, they need to to do something about it. The only way to fix it is to release a next update where they reduce amount of boosts given to players. Update, that needs to go to stores review first. Meantime they have only two options. They can either take their game out from all stores or keep providing experience below players expectation. But players never forget. A bad rating in the store or couple of bad reviews can bury their dream forever. Their game may never recover. None of those options is good enough.

ctrl

Even, when we forget the stores approval delay, to propagate our hot fixes latest update needs to be downloaded by our players.

We need a better process here, something that puts more control in our hands and allows us to react faster. Let’s design a solution which gives us ability of making immediate changes to our game without a need of submitting a new version to stores. A tool that we can use to react to issues and to adapt to user’s needs as soon as we get their feedback. Having more control over our product is always better.

We need the concept of dynamic system.

As I mentioned at the beginning of my article, dynamic content for mobile applications is a subset of data that can be deployed to all active users immediately. Among others, it can include values critical to the game. Values determining:

  • in-game currency conversion for InApps

  • prices of products in virtual currency

  • XP progression schemes

  • values controlling a gameplay

  • text for in-game strings

Another piece of game data included in dynamic content system can be assets like:

  • textures

  • sounds

  • scripts

By replacing textures we can refresh our game. Make it attractive again for users who already might got a bit bored with the way it looks like. But the real power comes with scripts. We can use scripts to define layouts of menus in our game, not only to change textures of scene’s elements but also their positions, animations and behaviours. We can totally re-skin the game. With scripts describing game’s mechanics, we can create new modes, different levels or change the flow of our game.

Finally, combining critical data and dynamic assets allows us to extend our features. We can add totally new products to the in-game shop, create new store sections or make special offers for our users.

Another great advantage of dynamic content is the size reduction of the initial bundle available to download from the store. Some people will more likely download smaller packages with limited content so the rest of the content could be deliver later.

Good system needs to be able to change existing content, add new one and remove one not needed anymore. Every piece of critical information should be instantly changeable and effective before restarting the game, but in the way it doesn’t confuse the player. Imagine that the player is in the 4th minute of 5 minutes turn. If we change the length of the turn to 3 minutes he still should be able to finish his 5 minutes turn. We shouldn’t change the rules in the middle of the game. 

We should consider the concept of dynamic content when we design our game to maximise it’s flexibility. For example if you sell virtual products rather do that with virtual currency than InApps. Managing InApps is more difficult and with virtual currency you can easier adjust the conversion of money to products. You can change that conversion with dynamic content.

Finally, users shouldn’t experience any loading times. Downloading and reloading the dynamic content should not be interruptive for them. Game needs to be playable before dynamic content is downloaded, and functional since the beginning even with a limited feature set. Users don’t like loading bars, they don’t want to wait.

So far I only described basics of the concept. I will extend it in the next article – “Dynamic content taken even further – Part 2”

Stay tuned!

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like