One key to video game success is to be constantly releasing small updates. This alone might be a compelling reason to develop expandable games.
There are a plethora of reasons why games are successful, but what's for sure is that players want to feel their favorite games are alive. They demand you to solve annoying bugs that affect gameplay, they like to have extra content to play through, and they love to see when you are able to introduce community proposals into the game!
This ideal situation means:
- You are going to be dealing with the app stores very frequently, which will delay your updates.
- This will impact your ability to appropriately schedule updates, limiting your marketing strategy.
It's not all bad news though. There are ways to add new content to your game and having control of when new updates are launched at the same time, so you can keep your customers happy and make reliable marketing campaigns.
What are expandable games used for
Imagine you are creating a game with lots of levels, say a match-three game, such as Candy Crush. You'll have to design a lot of levels. Developing triple digit levels takes a lot of time, and you still have to figure out the kind of levels that are going to work best with your audience.
Should you spend all your efforts, money and brains designing all levels for the very first game version?
You could do all of them at once, but luckily, you don't have to. You can set a system that allows you to publish new levels independently of when new versions are published to the stores.
When well structured, using a downloadable content system will help you free your team from publishing all the small tweaks and updates to the stores. Following I'll detail how you can expand your game using DLC.
First steps to develop expandable games and bypass stores
This is the basic outline you should consider to expand your games. I'll stick to the match-three example I started with, but it can be applied to any kind of game you're developing.
Use a mechanism to define your levels with an XML file or JSON document.
- It could be the complete level definition, or just a meta description and a binary file to be downloaded and imported into your game.
- You could include any information you need:
- Level order in a map
- Images shown to the user
- Price in virtual coins (when needed)
- Publish date (for extra control)
- Version of the content
Make your game check for new content every time it's executed.
- Either from the splash screen or the map screen.
- In case the new levels are premium content, you could check while players are at the in-game shop.
Download new or updated content when it is found, and import it into your game. This is where DLC comes into play.
Let the user know that new content is available.
- Automatically scroll the map screen to show the new levels, whether they're locked or unlocked.
- Set a "New" badge, or banner notification on the content category that got updated in your shop.
Now that you know the mechanism, publishing new content should be easy:
- Create the new content
- Create the XML file or JSON document that defines it
- Make it available on the content server
By doing this, all your active players will have access to new content automatically.
What can you make of this mechanism
The advantages of developing your match-three game (or any game) in small pieces of downloadable content are plenty! You get a more flexible game that can adapt faster to make players happier about the game.
Let's dive into some scenarios in which it is beneficial for you as well.
Scenario #1 Difficulty adjustment
Let's say your analytics reveal your game has a severe player drop at level 6, indicating that maybe this level is too difficult for most players. You don't want to have a majority of frustrated players, because they could decide to cop out of the game.
You could address this player drop rate by adjusting some key parameters in the level. In a matter of hours, all players in all devices would have the updated level 6, avoiding all store delays. Having a quick reaction to player behavior is really important to optimize your business model.
Scenario #2 Bug fixing
Some bugs, especially in the first versions of the game, are unavoidable. Imagine you have a bunch of players complaining about an annoying bug that happens only in certain levels.
If the bug is easy to fix, you could have the error free level up and running as soon as you solve it. It makes your players happier, and hopefully, more loyal to the game they like playing.
Scenario #3 Game extension
As mentioned before, you don't have to release the complete package of levels at once. You could launch with a fraction of the total, and make your game download follwing levels according to the player's progression.
What are the upsides?
- Your game is smaller, meaning it's easy to download and test. Win-win situation.
- Your game is ligther on the device because it simply takes the minimum necessary space. In case a player needs to free disk space to install new games or apps, your game will appear at the bottom of the disk-usage list, and will be more likely to live another day. Once again, a winning situation.
- Your game is updated and players will have downloaded the levels only when needed. They will always have the latest version, which is bugfixed, and with the latest additions to keep them loving the game. Player engagement is also a winning situation.
Once you get the hang of the technique, I'm sure you'll be able to implement more complex solutions and deliver players a better gaming experience.
That's all for now! I hope this introduction on how to expand your games got you thinking of new interesting ways of using DLC and server code in your games.
How do plan to use this? Please, leave a comment.
This was originally posted in Gamedonia blog.