Preparing for Soft Launch
This article is the second in a series covering best practices when implementing live service games in ChilliConnect. In this article we give you our top tips on preparing for soft launch.
Game development is not easy, but if you are reading this you probably already know that! Developing a game from the initial idea to a working build that is ready for release can feel less like a flowing and exciting creative process and more like a long, never ending journey. So when you start to see that glimmer of light at the end of the tunnel and your game is almost ready for release it is very tempting to rush into a global, all platforms release without first taking the opportunity to test and refine your game in a limited live environment, or soft launch.
We won’t cover the benefits of a soft launch in this article (it’s been written about extensively elsewhere) but will look at how to ensure your Game Backend and Live Ops platform is correctly configured, ready for the big day. Once your game has entered the live phase, mistakes and problems can be frustratingly slow to remedy, therefore taking time to review your server side implementation ahead of soft launch can save a lot of pain later on and make sure the “test-analyse-refine” cycle works smoothly.
1. Create a Support Plan
A large part of any soft launch is teasing out those bugs and edge cases that inevitably only real players out in the wild will ever uncover. It’s important that you have the right process and tools setup before your game goes live that will allow you to gather information on bugs and also respond to players support enquiries in a timely manner.
You don’t need to go all out in the first instance, especially for a small scale soft launch. For your first release you might want to simply monitor store reviews to collect feedback, or even provide something as simple as an email link from within your game. However, once you start attracting a greater number of players, or kick off paid User Acquisition campaigns, you’d likely benefit from using a fully featured support solution such as ZenDesk or Helpshift.
Regardless of what options you implement, you should ensure that you have the ability to collect the ChilliConnectID of any players that are having problems, either by adding the ID to any tickets created in your support system, any emails sent to your support address or even simply displaying in a debug menu. Using a players ChilliConnectID allows you to view their account from the ChilliConnect dashboard giving you access to their save state, economy data and so on. You’ll also be able to run Support Scripts against that player account to fix problems, create workarounds, or gift them free items as means of compensation for any issues they have experienced. You may also want to consider implementing the ChilliConnect Messaging feature to enable your team to send players personalised messages and gifts.
2. Review Your Telemetry
One of the main purposes behind a soft launch is to collect player behaviour data which can be used to refine and improve your game. Platforms like ChilliConnect will capture KPIs such as retention and revenue for you out of the box, but game-specific event data is arguably even more important. Although it might seem obvious, prior to soft launch you should review in detail what data you need to collect and ensure that it is granular enough to provide you with the insights you require. Also be careful and resist the temptation to measure everything – you don’t want to be overcome with irrelevant data and miss the important insights!
Many developers will create a telemetry specification that outlines what events are to be captured in the game and the parameters of those events. Think about what the main progression path through your game is and ensure you have telemetry that helps you understand how players are following or dropping off that path. First time user experience is also important – ensure that you are measuring the steps that you expect, or desire, players to take during that vital first play session and the key milestones thereafter.
As well as specific events, you should also consider the properties of players when those events occur. Soft currency values, progression (XP or Level for example) are all common attributes to record as standard along with each event and will help you build up a detailed picture of the player journey.
Once you’ve determined which data you wish to capture, you should test it. This might be obvious, but too often we see cases where developers are recording events from their game, but parameters are missing, or incorrect. Once a player has installed, played and churned from your game, the opportunity to capture data from them is almost certainly gone forever. For this reason it’s vital that you test you are capturing events correctly and then remember to continually review this as your game grows in popularity.
3. Anticipate Initial Iterations
The ability to make changes to your game based upon the interpretation of the data you have collected and without having to distribute new builds is a fundamental requirement of running a successful live game. With ChilliConnect you can tweak or modify any element of your game by using the Catalog feature. As well as core monetisation elements such as In App Purchases, the Catalog can be used to define content and metadata that can be used to configure almost any element of your game.
If you can anticipate before soft launch what variables, settings, or content, you might want to change or test, you can add these as Catalog items and have your game fetch them from the ChilliConnect at runtime. Adding as many game elements to the Catalog as you can results in greater flexibility to make changes once your game is live and increases speed of iteration. This enables you to make significant changes to your game without going through the hassle of distributing new app updates.
Some game elements you might want to consider including as part of your Catalog in a typical live service game would be:
- Initial currency and inventory
- Rate of accumulation for “grind” currencies
- Game balancing variables such as difficulty settings
- Completion rewards
- Player messaging
All these elements and many more can easily be added to your Catalog and once integrated with your game the entire “test – analyse – refine” cycle becomes quick and easy, all controlled from the ChilliConnect dashboard in real time!
4. Optimize ChilliConnect API Calls
As well as getting an idea of how much revenue your game has the potential to generate, soft launch is also a great opportunity to review your own costs, and you should use this time to optimise ChilliConnect API calls. Remember, you can review what API calls your game is making from the ChilliConnect dashboard under the Billing option in the left hand menu. Some quick wins that we commonly see include:
- Use the AddEventBatch method. This allows you to send up to 20 metrics events in a single API call rather than individual elements using the standard AddEvent method.
- Cache Catalog definitions. When a player logs in to your game, ChilliConnect will return a “CatalogVersion” for that player as part of the response. You can store this version locally on the players device and check if it has changed on each login. This way, it’s possible to download and locally cache Catalog definitions and only reload them when required.
- Limit save game frequency. Player Attachment Data is often used to implement Cloud Save in ChilliConnect, but you should think about how often you need to sync the save state. Usually on every player change is overkill and results in lot of needless server updates.
If you need help in optimising your API calls then get in touch with our team on firstname.lastname@example.org. Our aim is to give your game the best possible chance of success and we are happy to work closely with developers to minimise usage costs.
5. Check Your Integrations
Gone are the days when games were simply standalone executables containing everything they needed to run in a neat package. For any modern game developer, especially those developing for mobile platforms, there are now numerous external dependencies. Even the simplest hyper casual games will contain SDKs from advertising networks, attribution platforms, customer support platforms, social platforms and of course Live Ops and Game Backend platforms such as ChilliConnect.
Central to these external dependencies are the Store APIs that generally provide functionality such as In App Purchase validation and Push Notifications, but also enable some player account services if you chose to use them. Unfortunately the configuration of Store APIs is often non-trivial. ChilliConnect provides some resources to help you find your way (see our Push Notifications and In App Purchases guide) but prior to launching you should check the details of each configuration, understanding how it needs to be defined and where you will get it from. You should also ideally have test devices and accounts setup for each platform. Before each release perform basic tests to ensure that services are working as expected, particularly In App Purchases and Push Notifications.
The best practice in using ChilliConnect is to have different Games defined for each environment – Development, Test and Live are common definitions. Using this approach ensures it is much easier to keep settings for the different environments separate