zac bragg & marco williams · zac bragg & marco williams july 28th, 2016. an unity3d game...

Post on 03-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Zac Bragg & Marco WilliamsJuly 28th, 2016

An Unity3d game demoing live-game systems

Our internal testing & demo tool

Community sandbox for experimenting with the service

A good example of dynamic gameplay

https://github.com/PlayFab/UnicornBattle

Unified Player

Profile

Cloud Saving

Inventory

Management

Dynamic

Gameplay

Virtual Items,

Currencies, and

Stores

Friend Lists

Statistics

Tracking

Push Notifications

Real-money, In-app

Purchases

CDN-hosted

AssetBundles

Cloud-hosted game

logic

Community Forums

Multiple Classes &

Characters

Logins made simple [Authenticate.unity]

1. Sign-in with device Id (creating a new account if a new device)

2. Sign-in with facebook account (useful for accessing the same account across devices)

3. Change TitleId from the settings menu*

Character Select [CharacterSelect.unity]

1. View Saved Characters & Achievements

2. Create new characters

3. Buy additional character slots (up to 8)

Profile Screen (the central point for information and action) [Profile.unity]

1. Visit stores and manage inventory items

2. Start quests

3. View character stats

4. Access friend list and view leaderboards

Enemies do some stuff You do some stuff

???? Profit!

Design game configuration around TitleData.• Add quests post-launch• Tune existing config• Validate client actions

Design a tiered Statistics tracking system• Player and character-centric statistics• Achievement system• Leaderboards• Community forums• Segmentation @ the Player level

Use Cloud Script in-place of a dedicated game server• Update logic post-launch (check-in function)

• Access protected server API calls

• Quest details can be found under the “Levels” TitleData key

Each level has several properties that tell the client how to build the experience.

• Levels are comprised of multiple acts that will be traversed sequentially. Similar to levels, acts have their own properties

Each act defines multiple EncounterPools that the client parses, selects and randomly orders.

EncounterPools map directly to TitleData Keys

Rescuable heros and merchants can also be added

• The finished product!–Quests are accessible from the Profile Scene

Player

Characters

• Cloud-hosted JavaScript–Fills the role traditionally performed by a dedicated server–Protected environment; access to the Server API–Allows for logic to be updated post launch

• Methods used in UB–Create Characters with default properties–Delete characters–Transfer Items and Virtual Currency–Save progress to the PlayerData–Retrieve quest rewards–Subtract lives–Evaluate achievements

• Virtual Currencies–Gold - Standard–Gems - Premium–Lives - Regenerating 1 life every 5m

• Virtual Items–Character Tokens–Durables–Consumables–Containers–Keys–Premium VC Bundles

Unicorn Battle has many stores:– Character Slot Store: Used to sell Extra Character Slots– Extra Hearts Store: Displayed when a player has run out of lives.– Gem Store: For purchasing Gems, UB's premium currency– Gem Store MN: Gem store targeted at small spenders– Gem Store WH: Gem store targeted at big spenders– Gold Store: basic store where the player can trade gems for additional gold– Happy Hour: limited edition, corresponds to the TitleData Sales– Launch Party: limited edition, corresponds to the TitleData Sales– Profile Store: The basic store accessible from the Profile scene– Traveling Merchant: A store only found during some quests

Reasons for using stores:– Unique pricing (compared to catalog)– Segmented store overrides– Re-order items– Control over what’s on sale and when

6 Premium Bundles• Small• Medium• Large• Extra Large• Mega• Epic

All with corresponding GooglePlay & iTunes items

• Facebook linked accounts can import friends from their profile

• PlayFab Friends can be added manually• Custom tags act as notes• Rank on friend leaderboards

• Some calls within our API can take up to a second to return.

• When calls fail to return, providing a way to retry or refresh can help the client stay up with the current state.

● Optimized title data structures● Make game fully server authoritative● Refine the existing levels to simulate more data for segmentation / analysis● More UI polish needed● Events system that functions similar to the sales system● A gated DLC example

Zac Braggzac@playfab.com

https://github.com/PlayFab/UnicornBattle

https://play.google.com/store/apps/details?id=com.playfab.unicornbattle&hl=en

Marco Williamsmarco@playfab.com

Thanks for tuning in!

top related