Game updates are a normal and expected part of the game lifecycle. Updates are used to optimize the gameplay, freshen the look or feel, to add exciting new capabilities, or to fix bugs. Skillz is a competitive, real-prize platform so there are additional considerations that have to be made when preparing and releasing game updates.
Non-breaking changes are ones that have no effect on fairness, perceived or actual. The game experience is identical to the release build, where players who play the new build will see no differences in it from the previous release. These changes should be compatible with the existing game tournament templates and gameplay parameters.
Breaking changes are changes to a new build that make it substantially different from the last release. This includes but is not limited to:
- Changes to the gameplay experience
- The way a user interacts with the game board
- Score, difficulty, time limits or durations
- Addition or removal of previously existing mechanics
- Game models
- Match results screen
- Any new content that is inaccessible to players on older versions
- Any other changes that require edits to gameplay parameters or their values
If any of these types of changes are being planned or implemented, or if there is risk of two players not receiving the idential experience, we consider this a Breaking Change.
Development of Breaking Changes
Develop the update using the
sandbox environment. The default behavior of the new game build should match the currently released client behavior. A player with the new build should receive the exact same experience as a player with the last release build, under the current tournament template's gameplay parameters.
The breaking change(s) must be enabled through a new gameplay parameter or through a change in an existing gameplay parameter's value.
Release Plan for Breaking Changes
When development and testing is complete, switch the environment to
production and follow the general steps below to release the update:
- Release the update to the app stores and games.skillz.com.
- Allow as much time as possible for users to update the new version, naturally.
- App store rollout timing is inconsistent, so players will receive access to the updates at different times.
- Auto updates often run overnight for users.
- Natural adoption via automatic and manual methods is ideal, as forced updates lock players out until they take further actions. This risks impact to daily active users.
- Once all platforms are confirmed to have access to the release, disable all previous builds from the Developer Console. This known as a forced update as it renders disabled builds, unplayable.
- Update all tournament templates to enact the new gameplay parameter key/values. This will enable the breaking changes for all players, simultaneously.
- The update is now complete, with all matches maintaining fair play.