Slide 1

Slide 1 text

ϦΞϧλΠϜήʔϜαʔόʔ։ൃ ٕज़ελοΫ·ͱΊ DELT#8
 PRESENTER : NODA KOHEI

Slide 2

Slide 2 text

͸͡Ίʹ ఆٛ ▸ ϦΞϧλΠϜήʔϜαʔόʔͱ͸ ▸ ⭕ Latency͕ϓϨΠϠʔମݧʹେ͖ؔ͘ΘΔήʔϜ ▸ FPS, TPS (Call of Duty, Fortnite) ▸ MOBA (League of Legends, Ԧऀӫ༾) ▸ ❌ Hearthstone, Shadowverse ͷΑ͏ͳίϚϯυܕͷήʔϜ

Slide 3

Slide 3 text

͸͡Ίʹ എܠ ▸ ϦΞϧλΠϜήʔϜαʔόʔ։ൃͷͨΊͷαʔϏεɺOSSɺϥ Πηϯειϑτ΢ΣΞ͕ॆ࣮͖ͯͨ͠ ▸ Photon Engine, Monobit Engine (MRS, MUN) ▸ AWS GameLift ▸ Agones, Open Match ▸ Etc

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Կ͕ҧ͏ͷʁ ͲΕΛ࢖͑͹͍͍ʁ

Slide 6

Slide 6 text

͸͡Ίʹ ൃදͷ໨త ▸ ͜ΕΒͷιϑτ΢ΣΞɾαʔϏε͸ͦΕͧΕʹΧόʔ͢Δൣғ ͕ҟͳΔɻ ▸ ϦΞϧλΠϜήʔϜαʔόʔ։ൃʹඞཁͳٕज़ελοΫΛఆٛ ͯ͠ɺιϑτ΢ΣΞɾαʔϏε͕Χόʔ͢ΔൣғΛࣔ͢ɻ ▸ ૊Έ߹Θͤ΋঺հɻ

Slide 7

Slide 7 text

ϦΞϧλΠϜήʔϜαʔόʔ։ൃ ٕज़ελοΫ

Slide 8

Slide 8 text

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

Slide 18

Slide 18 text

MATCHMAKING MATCHMAKING ▸ ϧʔϧʹج͍ͮͯϓϨΠϠʔΛूΊɺϚονΛ࡞੒͢Δ ▸ ϓϨΠϠʔͷ͞·͟·ͳଐੑΛར༻͢Δ ▸ ϨʔςΟϯά ▸ ϩʔϧ ▸ ࡞੒ͨ͠ϚονΛ DGS ʹׂΓ౰ͯΔ ▸ 4ͭͷίϯϙʔωϯτ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT

Slide 19

Slide 19 text

MATCHMAKING MATCHMAKING CORE ▸ ϚονϝΠΩϯάͷϦΫΤετΛϓʔϦϯά ▸ ఆظతʹϚονϝΠΩϯάϩδοΫΛݺͼग़͢ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT

Slide 20

Slide 20 text

MATCHMAKING MATCHMAKING LOGIC ▸ ϓʔϧ͞ΕͨϚονϝΠΩϯάͷϦΫΤετΛධՁ ▸ ෳ਺ͷϓϨΠϠʔΛҰͭʹ·ͱΊͯϚονΛ࡞੒͢Δ ▸ ྫ) Ϩʔτ͕͍ۙϓϨΠϠʔΛϚονͤ͞Δ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT

Slide 21

Slide 21 text

MATCHMAKING DGS ASSIGNMENT ▸ ࡞੒͞ΕͨϚονʹରͯ͠ DGS ΛΞαΠϯ͢Δ ▸ ϓϨΠϠʔͷϨΠςϯγʔ෼෍ͷ࠷దԽ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT

Slide 22

Slide 22 text

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

Slide 29

Slide 29 text

DGS MANAGEMENT ALLOCATION ▸ ෳ਺ͷ DGS ͔ΒϚονΛ࣮ߦ͢Δ DGS Λܾఆ͢Δ ▸ ཁ͸ۭ͍ͯΔ DGS Λ୳ͯ͘͠Δ΍ͭ PROVISIONING DEPLOYMENT AUTO SCALING ALLOCATION SERVICE FRONTEND MONITORING

Slide 30

Slide 30 text

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)

Slide 43

Slide 43 text

UNITY (GAME LOGIC) LITENETLIB (NETWORKING) OPENMATCH Dedicated Game Server
 (DGS) Matchmaking
 DGS Management
 UNITY + LITENETLIB + MESSAGEPACK + OPENMATCH + AGONES UNITY (SCHEDULER) AGONES MESSAGEPACK (SERIALIZATION)

Slide 44

Slide 44 text

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