Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integrating a Cloud Service Joe Overview Example from our games Support in UE4 to achieve that.

Similar presentations


Presentation on theme: "Integrating a Cloud Service Joe Overview Example from our games Support in UE4 to achieve that."— Presentation transcript:

1 Integrating a Cloud Service Joe Graf @EpicCog

2 Overview Example from our games Support in UE4 to achieve that

3 Cloud Based Events Timed gameplay changing events –The limited time draws players in Used to make your game “evergreen” –Retains players longer –Adds to the fun

4 Gears of War Gears of War 2 –Used to make gameplay balancing changes –Primarily, to create custom Horde events Gears of War 3 –Added the ability to change standard game modes Restrict weapons or change which ones were present –Allowed for custom playlists for matchmaking

5 Infinity Blade Infinity Blade 2 –Used to support social challenges, ClashMobs –Custom INI files detailing the challenges Infinity Blade 3 –Added the ability to patch configuration settings –Used to run special helmet events –IAP sales –The treasure chest in the Hideout

6 What’s Needed Cloud Service to deliver files Game support to download files Game support to merge files into game

7 Cloud Service System (game) cloud storage –Upload of files with start/stop times –Listing of files with full meta data –Serving of files to game client

8 Game Downloader Reads list of files from the Cloud Service –Verifies signatures to detect out of date files –Catches tampered with files too Downloads any missing files –Caches files to device with per device encryption –Optimization to reduce server bandwidth costs

9 Game Merging Gets the list of event files For each file, determines how to merge –INI & loc files get merged into the config cache –Content files replace/add to existing

10 Caveats Game must design for this –Must make sure that game is data driven via INI or DataTable objects –Takes planning from the beginning Not everything can be updated –E.g. very early engine config values

11 Game to Service Interaction Cloud Service(s) IHttpRequest IHttpResponse

12 Class Overview FHttpModule IHttpRequest IHttpResponse

13 FHttpModule Module for generic HTTP management Performs ticking Handles lifetime management

14 IHttpRequest Abstract interface to a platform specific request object Contains –URL –Verb (GET, PUT, POST, DELETE) –Headers –Payload Asynchronous submission to end point

15 IHttpResponse Abstract interface to a platform specific response object Created upon request completion Contains any headers & payload data

16 TJsonReader/TJsonWriter Base template classes for parsing/creating JSON payloads Generally not used directly

17 OnlineJsonSerializer Macro based serialization for native types without reflection Facebook account serialization: BEGIN_ONLINE_JSON_SERIALIZER ONLINE_JSON_SERIALIZE("id", UserId); ONLINE_JSON_SERIALIZE("username", UserName); ONLINE_JSON_SERIALIZE("name", RealName); ONLINE_JSON_SERIALIZE("gender", Gender); ONLINE_JSON_SERIALIZE("locale", Locale); END_ONLINE_JSON_SERIALIZER

18 FJsonObjectxConverter Used to serialize JSON to/from a UObject Uses UObject reflection system Easiest to use

19 Questions? Documentation, Tutorials, and Help at: AnswerHub: Engine Documentation: Official Forums: Community Wiki: YouTube Videos: Community IRC: Unreal Engine 4 Roadmap lmgtfy.com/?q=Unreal+engine+Trello+ http://answers.unrealengine.com http://docs.unrealengine.com http://forums.unrealengine.com http://wiki.unrealengine.com http://www.youtube.com/user/UnrealDevelopmentKit #unrealengine on FreeNode


Download ppt "Integrating a Cloud Service Joe Overview Example from our games Support in UE4 to achieve that."

Similar presentations


Ads by Google