Live Ops Event Configuration
Live Ops Event Configuration
Background
Most of the game irregular modes are LiveOps events.
LiveOps events are designed so, that events could be added without publishing a new app build.
When the game app starts, it downloads a LiveOps Game Balance and Resources required to display active LiveOps events
from backend server.
LiveOps events are imported from Google Sheets to the game by LiveOps Importer console app, operating on the backend
server.
LiveOps Importer
LiveOps Importer sources are located at:
Assets/Server/PHP/LiveOps/.Importer
Development environment:
http://<server url>/Tal/Development/LiveOps/Debug/ForceRun.php
Release environment:
http://<server url>/Tal/Release/LiveOps/Debug/ForceRun.php
For LiveOpsImporter to run, it should be able to access Google Sheets from the server where it is running.
https://docs.google.com/spreadsheets/d/1_PiDmvi9t69hme3eot3qDYP40Bg2SP4lE111jrjJy3E/edit#gid=0
In this document, each LiveOps event has tab(s) associated with it.
Tab BpSeasons contains a configuration of rewards for each Battle Pass season.
IronChallenge, InBattleDrop, OnboardingEvent, ResourceBrawlEvent - contain configuration specific for related event
types.
To configure a new Battle Pass season - it is a good idea to copy an existing one of the same type and then make changes to
it.
Id: should be unique and should fall into a range allowed for this battle pass type.
Name, Header: These drop-downs are referencing Localization tab. Name and header of the Battle Pass to be shown in
the game.
ChestQueue: controls how free/paid Battle Pass influences chest opening queue.
Price should be one of prices included in Tal Balance Export / Common / LiveOpsProductMap
Tier / Country configuration can be found in Tal Balance Export / Shop Settings / PaymentTiers
TierGemCosts: can be populated if needs to set price in gems, instead of real currency
StageUnlockScores: [Only actual for Holiday and Infection Battle Passes]: score to unlock each stage / reward
PaidRewards, FreeRewards - reward for each stage depending of paying or free user.
RepeatableStages: rewards for repeatable stages in the end of the battle pass
ℹ A reference for reward names format for different rewards can be found in Tal Live Ops Bundles / Additional Info
document.
https://docs.google.com/spreadsheets/d/1r9IZKqD9UGLqJ0VwxkVcUKnXIft6EHLQ7VsTtgF6I8c/edit#gid=11827821
⚠ Do not use same season ID multiple times on different dates - this might prevent players to play this Battle Pass
second time or they will not be able to receive some of the rewards.
Should advertise and match rewards, given by the current Battle Pass.
Season Ids, date range, rewards, etc. are configured in one place
These events doesn’t have ability to change event name or visual dynamically
Once events are configured in the Google Sheets, they could be imported into the game with the use of LiveOps Importer web
interface.
Each LiveOps event type has its own button to import. This allows importing and testing them separately.
After clicking a corresponding button, import is starting and displays progress messages while it is running.
If there’s any critical error - it would be shown in red and then stops the import
In most cases previous messages and error message allows to find the reason of the error. It might be wrong data
format, etc.
The error should be fixed in the source Google Sheet and then import should be started again.
New event would not be available for the game, until import completes successfully.
Although this is possible - this may cause Backend issues (e.g. making count of stages more / less) or bad user
experience (e.g. changing rewards, which player has already received - players begin to complain they received
different reward than displayed in the game).
⚠ Always test events in Development environment first and only then import to Release / production.
2. Game Designer imports new events into Development environment of the game with the use of LiveOps Importer
a. QA is able to use Debug Menu to force start events for future dates, add score to receive any rewards, checks visual,
localization, etc.
4. Game Designer fixes any errors found by QA and reimports events into Development environment.
5. QA / Dev / Game Designer imports completely tested LiveOps events into Release environment
Game Designer can configure many events at once for any future date range.
Game designer should be careful when selecting event start / end dates.
- Game UI has a limited space to display game event icons.
- Many events running in one time may result in a bad user experience - too many icons and popups will be shown in
the Main game window.