Upgrade to Pro — share decks privately, control downloads, hide ads and more …

リアルタイムゲームサーバー開発技術スタックまとめ

pobo380
January 28, 2020

 リアルタイムゲームサーバー開発技術スタックまとめ

pobo380

January 28, 2020
Tweet

Other Decks in Technology

Transcript

  1. ͸͡Ίʹ ఆٛ ▸ ϦΞϧλΠϜήʔϜαʔόʔͱ͸ ▸ ⭕ Latency͕ϓϨΠϠʔମݧʹେ͖ؔ͘ΘΔήʔϜ ▸ FPS, TPS

    (Call of Duty, Fortnite) ▸ MOBA (League of Legends, Ԧऀӫ༾) ▸ ❌ Hearthstone, Shadowverse ͷΑ͏ͳίϚϯυܕͷήʔϜ
  2. 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
  3. 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
  4. 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
  5. DEDICATED GAME SERVER DEDICATED GAME SERVER ▸ ήʔϜλΠτϧ͝ͱʹݻ༗ͷϩδοΫΛ࣋ͭαʔόʔΞϓϦέʔ γϣϯ ▸

    ήʔϜΫϥΠΞϯτͱωοτϫʔΫܦ༝Ͱ௨৴ ▸ 4ͭͷίϯϙʔωϯτ GAME LOGIC NETWORKING SCHEDULER SERIALIZATION
  6. DEDICATED GAME SERVER SERIALIZATION / DESERIALIZATION ▸ ΦϒδΣΫτ ⁶ όΠτྻͷ૬ޓม׵Λߦ͏

    ▸ ωοτϫʔΫܦ༝Ͱૹ৴Մೳʹ͢Δ GAME LOGIC NETWORKING SCHEDULER SERIALIZATION
  7. DEDICATED GAME SERVER GAME LOGIC ▸ λΠτϧݻ༗ͷήʔϜγϛϡϨʔγϣϯ ▸ ෺ཧɺAIɺNavMeshɺͳͲΛؚΉ ▸

    ωοτϫʔΫܦ༝ͰήʔϜΫϥΠΞϯτͱঢ়ଶͷಉظΛߦ͏ GAME LOGIC NETWORKING SCHEDULER SERIALIZATION
  8. 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
  9. 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
  10. MATCHMAKING MATCHMAKING ▸ ϧʔϧʹج͍ͮͯϓϨΠϠʔΛूΊɺϚονΛ࡞੒͢Δ ▸ ϓϨΠϠʔͷ͞·͟·ͳଐੑΛར༻͢Δ ▸ ϨʔςΟϯά ▸ ϩʔϧ

    ▸ ࡞੒ͨ͠ϚονΛ DGS ʹׂΓ౰ͯΔ ▸ 4ͭͷίϯϙʔωϯτ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT
  11. MATCHMAKING SERVICE FRONTEND ▸ MatchmakingΛAPIͱͯ͠ఏڙ͢Δ ▸ APIྫ ▸ ϚονϝΠΩϯάͷϦΫΤετ ▸

    Ϛον࡞੒ΛήʔϜΫϥΠΞϯτʹ௨஌ MATCHMAKING LOGIC SERVICE FRONTEND MATCHMAKING
 CORE DGS
 ASSIGNMENT
  12. 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
  13. 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
  14. DGS MANAGEMENT PROVISIONING ▸ ϚγϯϦιʔεΛௐୡ͢Δ ▸ VM ▸ Container ▸

    Bare-metal PROVISIONING DEPLOYMENT AUTO SCALING ALLOCATION SERVICE FRONTEND MONITORING
  15. DGS MANAGEMENT MONITORING ▸ DGSͷεςʔτΛ؂ࢹ͢Δ ▸ ϔϧενΣοΫ ▸ ϥΠϑαΠΫϧ؅ཧ ▸

    Auto ScalingɺLoad BalancingͷͨΊʹඞཁ PROVISIONING DEPLOYMENT AUTO SCALING ALLOCATION SERVICE FRONTEND MONITORING
  16. DGS MANAGEMENT ALLOCATION ▸ ෳ਺ͷ DGS ͔ΒϚονΛ࣮ߦ͢Δ DGS Λܾఆ͢Δ ▸

    ཁ͸ۭ͍ͯΔ DGS Λ୳ͯ͘͠Δ΍ͭ PROVISIONING DEPLOYMENT AUTO SCALING ALLOCATION SERVICE FRONTEND MONITORING
  17. DGS MANAGEMENT SERVICE FRONTEND ▸ DGS Ϋϥελ΁ͷૢ࡞ΛAPIͱͯ͠ఏڙ͢Δ ▸ APIྫ ▸

    ৽͍͠ϚονͷΞϩέʔγϣϯ ▸ ৽͍͠όʔδϣϯͷσϓϩΠ PROVISIONING DEPLOYMENT AUTO SCALING ALLOCATION SERVICE FRONTEND MONITORING
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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)
  26. 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)
  27. UNITY (GAME LOGIC) LITENETLIB (NETWORKING) OPENMATCH Dedicated Game Server
 (DGS)

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

    Matchmaking
 DGS Management
 LITENETLIB + MESSAGEPACK + GAMELIFT ORIGINAL (SCHEDULER) MESSAGEPACK (SERIALIZATION)
  29. END

  30. 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
  31. 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