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

Slides:



Advertisements
Similar presentations
ContentQuizzesDropbox DiscussionsePortfolio Design Click on a tool name to explore new features: Welcome to 10.3 & ePortfolio 4.3 SLATE: New Features.
Advertisements

Epic’s Build Tools & Infrastructure
Game Framework & Sample Projects
Networking in UE4 Joe
Building Mobile Apps in the Cloud – Comparing Approaches.
Programming in UE4 A Quick Orientation for Coders Gerke Max Preussner
The Slate UI Framework Architecture & Tools Gerke Max Preussner
Extensibility in UE4 Customizing Your Games and the Editor Gerke Max Preussner
E-PORTFOLIO FACULTY TRAINING SEMINAR CTL ePortfolio Faculty Training Seminar – Session IV April 29, 2011 Session IV Review: GROUPS + Teaching Applications.
Concurrency & Parallelism in UE4
Ellucian Mobile: Don’t text and drive, kids!
29 Oded Moshe, Director of Product Management Beta Release May 3rd, 2010 Official Release May 24, 2010.
Engine Overview A Programmer’s Glimpse at UE4 Gerke Max Preussner
XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda.
Chapter 8 USING ACCOUNTING APPLICATIONS. Organization of Accounting Applications.
Game Framework & Sample Projects
| Basel Discovering Windows Azure Mobile Services and Media Services Ken Casada
Niklas Smedberg Senior Engine Programmer, Epic Games
In association with Technion and Qualcomm. Project supervisor: Tatyana Finkel. Technion Israel Institute of Technology.
To Deliver Videos to Students. web design manager, WICHE.
Course Management System An application that can be added to a web server to create a flexible web-based environment for creating and managing online courses.
Project 1 Online multi-user video monitoring system.
What is SharePoint? Module 1. Module Overview  Defining SharePoint  Understanding How SharePoint is Used  Interacting with SharePoint.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
An XMPP (Extensible Message and Presence Protocol) based implementation for NHIN Direct 1.
Groups and Collaboration Sam Wilson Hub Liaison. overview Purpose – what are they for? Creating a Group – getting started Customization – making it your.
THttpServer class Sergey Linev (GSI). Some history Development was inspired by JSRootIO why not achieve similar functionality with online ROOT application?
Sympa Mailing List Server
Java CGI Lecture notes by Theodoros Anagnostopoulos.
Enabling High-Quality Printing in Web Applications
Motif 2.0 Summary Motif is built on the strength on Macromedia and Double Click. The heart of Motif is the Motif Ad Kit – let you create preview and publish.
The 1:1 meeting scheduler that runs itself The 1:1 meeting scheduler that runs itself.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Building Cross-Device Xbox LIVE Games John Bruno Xbox LIVE Services Avi Ben-Menahem Xbox LIVE on Windows.
Forms Training. Tested Formatted The Template Library.
Standards-based trackable E-learning in a Disconnected Environment NetGenica.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Social Media 101 An Overview of Social Media Basics.
Proprietary & Confidential Java WebStart Created by Bob Hays.
Game Data Anywhere Using Xbox LIVE Cloud Storage Michael Alyn Miller Data Storage Architect Microsoft Corporation.
HTML5 AND THE FUTURE JAVASCRIPT PLATFORM Marcelo Lopez Ruiz Senior Software Design Engineer Microsoft Corporation.
Module 7: Advanced Application and Web Filtering.
OCS Remote Viewer Release 0.12 March 21, 2007 Confidential.
Web Technologies Lecture 1 The Internet and HTTP.
ASP.NET SignalR SoftUni Team Technical Trainers Software University
A Technical Overview Bill Branan DuraCloud Technical Lead.
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
Configuring Drupal Information Systems 337 Prof. Harry Plantinga.
Copyright © 2012 Pearson Education, Inc. or its affiliate(s). All rights reserved
Share Enhancements David Webster. Introduction Me: David Webster Alfresco Engineer Joined April 2010 UI The Session: Share Enhancements:
Public Web Steering Committee Meeting
Organizational IT Stack
Backdooring enemies with a Proxy …..
Node.js Express Web Applications
ASP.NET SignalR SoftUni Team C# MVC Frameworks Technical Trainers
Node.js Express Web Services
Application with Cross-Platform GUI
OGSA Data Architecture Scenarios
Testing REST IPA using POSTMAN
intro to notifications in iOS 10
E-Portfolio Faculty Training Seminar
IS 4506 Server Configuration (HTTP Server)
EParcel Service.
Social Media Marketing Strategy Template
Academy Hub An eUnomia Factory Solution.
Techniques to Invoke Web Services from SAS
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Academy Hub An eUnomia Factory Solution.
Cloud Migration Training
Social Media Marketing Strategy Template
Presentation transcript:

Integrating a Cloud Service Joe

Overview Example from our games Support in UE4 to achieve that

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

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

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

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

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

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

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

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

Game to Service Interaction Cloud Service(s) IHttpRequest IHttpResponse

Class Overview FHttpModule IHttpRequest IHttpResponse

FHttpModule Module for generic HTTP management Performs ticking Handles lifetime management

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

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

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

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

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

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 #unrealengine on FreeNode