Best Practices in Patch Management; Part 1 of 3
Learn about the best practices for online game patching to ensure the best possible experience for your gamers in this three-part series.
Massively Multiplayer Online (MMO) games for PC and Mac are bigger and more complex than ever – and so are the updates necessary to keep them running for your gamers.
Despite advances in high-speed household internet connections, developers and publishers want to prevent long patch times, especially if a patch prevents a player from getting into the game for a considerable length of time.
A secondary concern is keeping Content Delivery Network (CDN) storage and bandwidth costs down, as well as keeping only a manageable amount of patch data on patch build machines.
This means having a mechanism for keeping a smaller subset of patch data while maintaining a way to ensure that every gamer is able to patch to the current version of the game regardless of the state their game is in, or how long it has been since they last updated their local version of the game.
Reliable Game Asset Delivery is Essential
The conversion process (from download to install to play) is an essential part of your revenue chain, especially in games where micro-transactions are involved. The first part of that chain cannot be the weakest link if you want to retain players. If players find your game to be too cumbersome or lengthy when it comes to updating, they may abandon it, costing you the potential revenue from in-game transactions and more.
Make Your Patch Management Efficient
Game asset management boils down to creating the smallest possible patches with the fewest number of patched files per release. This works to reduce the amount of time players spend downloading game data.
The process of patching a game is fundamentally the same regardless of the game or the platform on which the game runs:
- Starting from a baseline version of the game, make changes to the game code to address bugs, add new or remove deprecated content.
- Compare the “new” version of the game to the baseline or previous version.
- Create a list of files that were changed.
- Deliver changed files to the user.
- Overwrite the old files on the user’s machine with the newer files.
This rudimentary approach requires the entire file to be delivered and applied no matter how small the change per file. A very small change (perhaps only a few kilobytes) to a large game data file could result in gamers needing to download many megabytes of data. This increases the time for a patch to download and apply, plus it consumes bandwidth resources which can cost your players and your company more money.
Rather than replace entire files, create patch files that represent only the binary differences for each file that has changed. This minimizes the total size of the patch and the time players spend patching the game, plus it helps to reduce your costs for CDN storage and delivery.