Dedicated Game Server
(DGS)
Matchmaking DGS Management
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
MATCHMAKING
DEDICATED GAME SERVER
(DGS) DGS MANAGEMENT
TECHNOLOGY STACKS
Slide 9
Slide 9 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 10
Slide 10 text
GAME LOGIC
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
NETWORKING
SCHEDULER
SERIALIZATION
MATCHMAKING
LOGIC
SERVICE FRONTEND
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 11
Slide 11 text
DEDICATED GAME SERVER
DEDICATED GAME SERVER
▸ ήʔϜλΠτϧ͝ͱʹݻ༗ͷϩδοΫΛ࣋ͭαʔόʔΞϓϦέʔ
γϣϯ
▸ ήʔϜΫϥΠΞϯτͱωοτϫʔΫܦ༝Ͱ௨৴
▸ 4ͭͷίϯϙʔωϯτ
GAME LOGIC
NETWORKING
SCHEDULER
SERIALIZATION
Slide 12
Slide 12 text
DEDICATED GAME SERVER
NETWORKING
▸ ήʔϜΫϥΠΞϯτͱ௨৴͢ΔͨΊͷϓϩτίϧͱͦͷ࣮
▸ ࠶ૹ੍ޚɺϑϩʔ੍ޚɺίωΫγϣϯཧ
▸ ύέοτͷׂɺ݁߹
▸ ҉߸Խɺॺ໊
GAME LOGIC
NETWORKING
SCHEDULER
SERIALIZATION
Slide 13
Slide 13 text
DEDICATED GAME SERVER
SERIALIZATION / DESERIALIZATION
▸ ΦϒδΣΫτ ⁶ όΠτྻͷ૬ޓมΛߦ͏
▸ ωοτϫʔΫܦ༝Ͱૹ৴Մೳʹ͢Δ
GAME LOGIC
NETWORKING
SCHEDULER
SERIALIZATION
Slide 14
Slide 14 text
DEDICATED GAME SERVER
SCHEDULER
▸ ఆظతʹήʔϜϩδοΫΛݺͼग़͢ॲཧ
▸ ήʔϜΫϥΠΞϯτͰ͍͏ʮήʔϜϧʔϓʯ
▸ 1ϓϩηεͰෳͷήʔϜΛϗετ͢Δ߹ʹಛʹॏཁ
GAME LOGIC
NETWORKING
SCHEDULER
SERIALIZATION
Slide 15
Slide 15 text
DEDICATED GAME SERVER
GAME LOGIC
▸ λΠτϧݻ༗ͷήʔϜγϛϡϨʔγϣϯ
▸ ཧɺAIɺNavMeshɺͳͲΛؚΉ
▸ ωοτϫʔΫܦ༝ͰήʔϜΫϥΠΞϯτͱঢ়ଶͷಉظΛߦ͏
GAME LOGIC
NETWORKING
SCHEDULER
SERIALIZATION
Slide 16
Slide 16 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 17
Slide 17 text
GAME LOGIC
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
NETWORKING
SCHEDULER
SERIALIZATION
MATCHMAKING
LOGIC
SERVICE FRONTEND
MATCHMAKING
CORE
DGS
ASSIGNMENT
MATCHMAKING
SERVICE FRONTEND
▸ MatchmakingΛAPIͱͯ͠ఏڙ͢Δ
▸ APIྫ
▸ ϚονϝΠΩϯάͷϦΫΤετ
▸ Ϛον࡞ΛήʔϜΫϥΠΞϯτʹ௨
MATCHMAKING
LOGIC
SERVICE FRONTEND
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 23
Slide 23 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 24
Slide 24 text
GAME LOGIC
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
TECHNOLOGY STACKS
NETWORKING
SCHEDULER
SERIALIZATION
MATCHMAKING
LOGIC
SERVICE FRONTEND
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 25
Slide 25 text
DGS MANAGEMENT
DGS MANAGEMENT
▸ DGSͷαʔόʔ܈Λཧ͢Δׂ
▸ 6ͭͷίϯϙʔωϯτ
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
Slide 26
Slide 26 text
DGS MANAGEMENT
PROVISIONING
▸ ϚγϯϦιʔεΛௐୡ͢Δ
▸ VM
▸ Container
▸ Bare-metal
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
Slide 27
Slide 27 text
DGS MANAGEMENT
DEPLOYMENT
▸ ϚγϯϦιʔεʹରͯ͠DGS ͷ࣮ߦϑΝΠϧ܈Λஔ͢Δ
▸ όʔδϣϯΞοϓ
▸ ෳόʔδϣϯͷಉ࣌Քಇͷαϙʔτ
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
Slide 28
Slide 28 text
DGS MANAGEMENT
MONITORING
▸ DGSͷεςʔτΛࢹ͢Δ
▸ ϔϧενΣοΫ
▸ ϥΠϑαΠΫϧཧ
▸ Auto ScalingɺLoad BalancingͷͨΊʹඞཁ
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
DGS MANAGEMENT
AUTO SCALING
▸ ଓෛՙঢ়گͳͲʹԠͯ͡ϚγϯϦιʔεΛ૿ݮ͢Δ
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
Slide 31
Slide 31 text
DGS MANAGEMENT
SERVICE FRONTEND
▸ DGS Ϋϥελͷૢ࡞ΛAPIͱͯ͠ఏڙ͢Δ
▸ APIྫ
▸ ৽͍͠ϚονͷΞϩέʔγϣϯ
▸ ৽͍͠όʔδϣϯͷσϓϩΠ
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
MONITORING
Slide 32
Slide 32 text
طଘͷιϑτΣΞɾαʔϏε͕
Χόʔ͢Δٕज़ελοΫ
Slide 33
Slide 33 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
PHOTON ENGINE
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 34
Slide 34 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
MONOBIT ENGINE
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 35
Slide 35 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
AWS GAMELIFT
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 36
Slide 36 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
AGONES
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 37
Slide 37 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
OPENMATCH
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 38
Slide 38 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
UNITY
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 39
Slide 39 text
GAME LOGIC
NETWORKING
MATCHMAKING
LOGIC
SERVICE FRONTEND
PROVISIONING
DEPLOYMENT
AUTO SCALING ALLOCATION
SERVICE FRONTEND
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONITORING
UNITY-DOTS
SCHEDULER
SERIALIZATION
MATCHMAKING
CORE
DGS
ASSIGNMENT
Slide 40
Slide 40 text
αϯϓϧΞʔΩςΫνϟ
Slide 41
Slide 41 text
ORIGINAL
(GAME LOGIC)
PHOTON
(NETWORKING)
OPENMATCH
Dedicated Game Server
(DGS)
Matchmaking DGS Management
PHOTON + OPENMATCH
PHOTON
(SCHEDULER)
PHOTON
(SERIALIZATION)
PROVISIONING
PHOTON
(DEPLOYMENT)
AUTO SCALING PHOTON
(ALLOCATION)
PHOTON
(SERVICE FRONTEND)
PHOTON
(MONITORING)
Slide 42
Slide 42 text
ORIGINAL
(GAME LOGIC)
MUN
(NETWORKING)
OPENMATCH
Dedicated Game Server
(DGS)
Matchmaking DGS Management
MONOBIT + OPENMATCH
MUN
(SCHEDULER)
MUN
(SERIALIZATION)
PROVISIONING
MUN
(DEPLOYMENT)
AUTO SCALING MUN
(ALLOCATION)
MUN
(SERVICE FRONTEND)
MUN
(MONITORING)
ORIGINAL
(GAME LOGIC)
LITENETLIB
(NETWORKING)
GAMELIFT
Dedicated Game Server
(DGS)
Matchmaking DGS Management
LITENETLIB + MESSAGEPACK + GAMELIFT
ORIGINAL
(SCHEDULER)
MESSAGEPACK
(SERIALIZATION)
Slide 45
Slide 45 text
END
Slide 46
Slide 46 text
APPENDIX
Slide 47
Slide 47 text
APPENDIX
ࢀߟࢿྉ
▸ Proposal: RefCount allocation to host many room in same pod
▸ https://github.com/googleforgames/agones/issues/1197
▸ Amazon GameLift Developer Guide
▸ https://docs.aws.amazon.com/ja_jp/gamelift/latest/developerguide/gamelift-
intro.html
▸ Photon : LoadBalancing Application
▸ https://doc.photonengine.com/ja-jp/server/current/applications/loadbalancing/
application
▸ Monobit Engine : MUN 2.0 ͷγεςϜߏʹ͍ͭͯ
▸ http://www.monobitengine.com/doc/mun/contents/Server/Construction.htm
Slide 48
Slide 48 text
APPENDIX
ࢀߟࢿྉ
▸ Open Match ೖ
▸ https://medium.com/google-cloud-jp/open-match-super101-aaf3e54bd4e7
▸ Open Match Deep Dive
▸ https://www.slideshare.net/HammoudiSamir/open-match-deep-dive
▸ Photon Server Deep Dive
▸ https://www.slideshare.net/neuecc/photon-server-deep-dive-
photonwirephotonserver
▸ Unity Real-Time Multiplayer repository
▸ https://github.com/Unity-Technologies/multiplayer