SlideShare a Scribd company logo
1 of 28
Photon vs UNET: Battle of the Giants
Unite Europe 2017
Christof Wegmann | Founder & CTO of Exit Games
Who I am – Christof Wegmann
• 2003 Founded Exit Games
Turnkey BaaS for Mobile Phones (Series40/60, J2ME, BREW, …)
• Since 5 Years: Focus on Photon RTMP
210,000 Registered Developers
150 Million Monthly Active Players in the Photon Cloud
Runs on ToastTM
Photon Products
Bolt
Thunder
PUN
Video
Multiplayer Messaging On Premise
TrueSync
Quantum
Client Hosted Advanced
Relay Deterministic
Dominating Architectures
1) Client Hosted (Host Authority)
2) Adv. Relay (Distributed Authority)
3) Deterministic (Full Client Authority)
What is Client Hosted Architecture?
• One Client is the host and others
connect to it
• Unity == Socket Server
• Option to run as dedicated server
(headless)
Client Hosted
C1
HOST
C2
C3
Advanced
Relay
Punch or
direct IP
C1
HOST
C2
C3
P2p Relay
P2p Relay
UNet Bolt + Thunder
…
Headless Dedicated Server
C1
C2
C3
HEAD
LESS
Container
HEAD
LESS
HEAD
LESS
HEAD
LESS
HEAD
LESS
Build your own AWS Gamelift
PlayFab Multiplay
- Regions
- 24x7 NOC
- Automation
- Alerting
- Deployment
- Auto-Scaling
- …
Advantages Client Hosted
• Host is authoritative
• Simulation right inside Unity
• Local LAN discovery + play
Issues Client Hosted
• Host migration
• Dedicated server: Heavy and so
expensive (stability)
• If relayed: 4x hop!
What is (Advanced) Relay Architecture?
• All clients connect to “room”
• Room can act as pure relay or
(lightweight) dedicated server
• WebHooks, properties and optional
server side code (NO Unity)
Advanced Relay Architecture
C1
C2
C3
Adv.
RelayClient
Adv.
Relay
Properties
Server Side Code
WebHooks
WebRPC
Event Queue
Operations
Responses and Events
Advanced Relay is a lightweight dedicated server
High efficiency (CCU, CPU, RAM)
Advantages Relay
-Just works everytime...
-Multicast, Webhooks, Properties,
Code, …
-Cost-effective
-BIG Photon titles use THIS
Issues Relay
• LAN only works with server
• Might add a bit of latency
• Can use 3PP networking of Steam,
PS4, XB1 or Switch
What is Deterministic Architecture?
• Client simulates everything
• Input send>wait>sim (input delay)
• Needs deterministic gameplay code
Unity is not Deterministic
• Physics (Replace!)
• Animation System (Display only)
• Floats (Replace!)
• Random (Replace!)
Deterministic Architecture
TICK
Peer
1
Peer
2
ALL Simulation Local (delayed)
Input sent to REMOTE and LOCAL
milliseconds
Input DELAY (4 ticks)NOW
b a
a a
20 40 60 80 100 120 140
Each client sends input
to all others.0 1 2 3 4 5 6
Peer 1
Peer 2
C1
C2
C3
Relay
Advantages Deterministic
• Low Bandwidth requirements
• Easy to Implement Replays
• High # of Moving Units
Issues Deterministic
• Determinism Tricky to Implement
• Lag = Latency of Slowest Client
• Difficult to Support Late-Joins
“There is No Single API
to Rule Them All.”
Photon Products
Bolt
Thunder
PUN
Video
Multiplayer Messaging On Premise
TrueSync
Quantum
Client Hosted Advanced
Relay Deterministic
Photon Quantum
Unity only: Brawler, Moba, Coop, RTS
Fully Deterministic
• Path Finding (NavMesh)
• Fog of War (integrated into simulation e.g. vision
checks)
• Low network overhead (inputs sent between players)
• No network interpolation required (no artifical delay
added for interpolating gamestate)
• State of the art prediction/rollback deterministic
simulation without lockstepping
• Built-in resistance to cheats that rely on modifying the
game state (making yourself invulnerable, etc.)
• Simulation without Unity to verify game results.
Zero Runtime Allocations
• No GC from simulation
code
• Everything is pre-
allocated and re-used
• Blazing fast
performance

More Related Content

Similar to Photon vs UNET: Battle of the Giants

Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overviewJordi Cenzano
 
Photon For Unity
Photon For Unity Photon For Unity
Photon For Unity Dat Pham
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively MultiplayerPaul Furio
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder Amazon Web Services
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 ConferenceChristof Wegmann
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will neverTrueConf
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Priyanka Aash
 
Secur view internet camera with 2 way audio
Secur view internet camera with 2 way audioSecur view internet camera with 2 way audio
Secur view internet camera with 2 way audiosonn jita
 
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSIONLarge-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSIONAnand Bhojan
 
London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...Kieran Kunhya
 
P 49 nas e2040 nas-e2080 nas-e2016
P 49 nas e2040 nas-e2080 nas-e2016P 49 nas e2040 nas-e2080 nas-e2016
P 49 nas e2040 nas-e2080 nas-e2016Ben Quah
 
Training material wmt 2012 ctnc
Training material wmt 2012 ctncTraining material wmt 2012 ctnc
Training material wmt 2012 ctncNuttaphol Wongmun
 
Media on demand and infotainment system on buses
Media on demand and infotainment system on busesMedia on demand and infotainment system on buses
Media on demand and infotainment system on busesThanarung (Bob) Thanathiti
 
Online games: a real-time problem for the network
Online games: a real-time problem for the networkOnline games: a real-time problem for the network
Online games: a real-time problem for the networkJose Saldana
 
Rollup-as-a-service and why it matters to the next-gen of dApps
Rollup-as-a-service and why it matters to the next-gen of dAppsRollup-as-a-service and why it matters to the next-gen of dApps
Rollup-as-a-service and why it matters to the next-gen of dAppsTinaBregovi
 
Ryu SDN Framework
Ryu SDN FrameworkRyu SDN Framework
Ryu SDN FrameworkAPNIC
 
Adobe AIR for mobile games
Adobe AIR for mobile gamesAdobe AIR for mobile games
Adobe AIR for mobile gamesJames Wrightson
 
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly
 

Similar to Photon vs UNET: Battle of the Giants (20)

2015 snl l30_live_encoding_cdn_stream
2015 snl l30_live_encoding_cdn_stream2015 snl l30_live_encoding_cdn_stream
2015 snl l30_live_encoding_cdn_stream
 
Brightcove live tech overview
Brightcove live tech overviewBrightcove live tech overview
Brightcove live tech overview
 
Photon For Unity
Photon For Unity Photon For Unity
Photon For Unity
 
Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively Multiplayer
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder
 
Lets Play Together
Lets Play TogetherLets Play Together
Lets Play Together
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 Conference
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will never
 
Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.Breaking Smart Speakers: We are Listening to You.
Breaking Smart Speakers: We are Listening to You.
 
Secur view internet camera with 2 way audio
Secur view internet camera with 2 way audioSecur view internet camera with 2 way audio
Secur view internet camera with 2 way audio
 
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSIONLarge-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
 
London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...
 
P 49 nas e2040 nas-e2080 nas-e2016
P 49 nas e2040 nas-e2080 nas-e2016P 49 nas e2040 nas-e2080 nas-e2016
P 49 nas e2040 nas-e2080 nas-e2016
 
Training material wmt 2012 ctnc
Training material wmt 2012 ctncTraining material wmt 2012 ctnc
Training material wmt 2012 ctnc
 
Media on demand and infotainment system on buses
Media on demand and infotainment system on busesMedia on demand and infotainment system on buses
Media on demand and infotainment system on buses
 
Online games: a real-time problem for the network
Online games: a real-time problem for the networkOnline games: a real-time problem for the network
Online games: a real-time problem for the network
 
Rollup-as-a-service and why it matters to the next-gen of dApps
Rollup-as-a-service and why it matters to the next-gen of dAppsRollup-as-a-service and why it matters to the next-gen of dApps
Rollup-as-a-service and why it matters to the next-gen of dApps
 
Ryu SDN Framework
Ryu SDN FrameworkRyu SDN Framework
Ryu SDN Framework
 
Adobe AIR for mobile games
Adobe AIR for mobile gamesAdobe AIR for mobile games
Adobe AIR for mobile games
 
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
 

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Photon vs UNET: Battle of the Giants

Editor's Notes

  1. Why not call relay distributed authority? I know I‘m picky... In the end PUN can be client-hosted if master client is authoritative, and both bolt and thunder DO use relays (not in the advanced sense you describe, but relayed nontheless)... Whatever... The thing is: do you really want to use the word RELAY as a first class approach and not as a transport technology? In the end PHOTON products use relay when needed, but they go beyond it... In my mind is more like: - full client authority (deterministic) – TrueSync and Quantum; - distributed authority (each client auths eachs owned objects and snapshots updates to others) – Default on PUN (possible in Bolt and Thunder – although messages go through clients); - host authoritative – all products can do it, PUN both ways (client machine or server plugin);
  2. Just a note: deterministic (not our products, but in general) ALSO permits LAN play... The only `limitation` of our deterministic products is that we designed them to use photon relay as the sole transport option (because reasons)...
  3. Remember my classification? Lol... Host migration is issue on host-authoritative (check), and not an issue on: distributed auth and deterministic... So my classification is awesome... #3 is why I don‘t like RELAY as a 1st class approach... Now you‘re saying approach #1 (client hosted) is also relay...
  4. ATTENTION: reducing costs, saving bandwidth, this were concepts I put in my INTERNAL comparison… Not sure if we want to touch this here (sorry, I think I mentioned this to you when I saw the new handouts first time). The danger is that thing about customers wanting price reduction based on punch uses (not CCU).
  5. IF using distributed authority instead of relay: - clients have authority over owned objects; - send periodic updates to others; - normally uses relay as transport;
  6. If talking about distributed authority: Easiest to prototype; Cheapest solution often works best;
  7. If we‘re talking about distributed authority: Difficult to implement physics-based games; Needs to trust clients;
  8. Think in ticks Only update if all input arrived (even if no input arrived!)
  9. Input for every frame – but low (dial up modem bandwidth) Replay files are small, other techiques tend to be very LARGE (spectator games, easy to store and redistribute) Only chnages with input == # of players You can have THOUSANDS of units (issue with the other models), as long as you have the guts to make the deterministic code FAST (Quantum)