Pixonic DevGAMM Talksã§ãDTOã®Anton Grigoryevã話ãããŸããã äŒç€Ÿã§ã¯ãæ°ããPvPã·ã¥ãŒãã£ã³ã°ã²ãŒã ã«åãçµãã§ãããšæ¢ã«è¿°ã¹ãŠãããã¢ã³ãã³ã¯ãã®ãããžã§ã¯ãã®ã¢ãŒããã¯ãã£ã®ãã¥ã¢ã³ã¹ã®äžéšãå
±æããŸããã 圌ã¯ãã¯ã©ã€ã¢ã³ãã®ã²ãŒã ããžãã¯ã®å€æŽããµãŒããŒã«èªåçã«åæ ãããããã«ïŒããã³ãã®éã«ïŒéçºãæ§ç¯ããæ¹æ³ãšãã³ãŒããèšè¿°ããã«ãã©ãã£ãã¯ãæå°éã«æããããšãã§ãããã©ããã話ããŸããã 以äžã¯ãã¬ããŒãã®èšé²ãšãã©ã³ã¹ã¯ãªããã§ãã
ç§ã¯äœããããæ¹æ³ãåŠã³ãŸãããç§ãã¡ããããã©ã®ããã«ãããã«ã€ããŠè©±ããŸãã ããªããåãã¬ãŒããèžãŸãªãããã«ããŠãç§ãã¡ã®çµéšã掻çšããŠãã ããã 1幎ååãç§ãã¡ã¯æºåž¯é»è©±ã§ã·ã¥ãŒãã£ã³ã°ã²ãŒã ãäœæããæ¹æ³ãç¥ããŸããã§ããã ãªããšèšã£ãŠããæŠäºããããã1åããŠã³ããŒãã150äžDAUããããŸãã ãããããã®ã²ãŒã ã§ã¯ãããããã®åäœãéåžžã«é
ããããè¿
éãªã·ã¥ãŒãã£ã³ã°ã²ãŒã ãäœæãããã£ããããWar Robotsã®ã¢ãŒããã¯ãã£ã§ã¯ãããèš±å¯ãããŸããã§ããã
ç§ãã¡ã¯ã©ã®ããã«ããŠäœããã¹ãããç¥ã£ãŠããŸããããçµéšã¯ãããŸããã§ããã ããããç§ãã¡ã¯ãã®çµéšããã人ãéããèšããŸããïŒããªãããã§ã«100åãã£ãããšãšåãããšãããŠãã ããã ãããã圌ãã¯åº§ã£ãŠå»ºç¯ã«ã€ããŠèãå§ããŸããã

Entity Component SystemïŒECSïŒã«æ¥ãŸããã å€ãã®äººããããäœã§ããããç¥ã£ãŠãããšæããŸãã äžçã®ãã¹ãŠã®ãªããžã§ã¯ãã¯ãšã³ãã£ãã£ã«ãã£ãŠè¡šãããŸãã ããšãã°ããã¬ãŒã€ãŒã圌ã®éããããäžã®ãªããžã§ã¯ãã ãããã«ã¯ãã³ã³ããŒãã³ãã«ãã£ãŠèšè¿°ãããããããã£ããããŸãã ããšãã°ãTransformã³ã³ããŒãã³ãã¯ãã¬ã€ã€ãŒã®ç©ºéã«ãããäœçœ®ã§ãããHealthã³ã³ããŒãã³ãã¯åœŒã®å¥åº·ã§ãã ããžãã¯ããããŸã-ããã¯åé¢ãããã·ã¹ãã ã«ãã£ãŠè¡šãããŸãã éåžžãã·ã¹ãã ã¯ExecuteïŒïŒã¡ãœããã§ãããç¹å®ã®ã¿ã€ãã®ã³ã³ããŒãã³ããééããã²ãŒã ã¯ãŒã«ãã§ãããã䜿çšããŠäœããè¡ããŸãã ããšãã°ãMoveSystemã¯Movementã®ãã¹ãŠã®ã³ã³ããŒãã³ããééãããã®ã³ã³ããŒãã³ãã®é床ããã©ã¡ãŒã¿ãŒã調ã¹ãããã«åºã¥ããŠãªããžã§ã¯ãã®æ°ããäœçœ®ãèšç®ããŸãã Transformã«æžã蟌ã¿ãŸãã
ãã®ãããªã¢ãŒããã¯ãã£ã«ã¯ç¬èªã®ç¹æ§ããããŸãã ECSã§éçºããå Žåãç©äºãç°ãªãæ¹æ³ã§èããå®è¡ããå¿
èŠããããŸãã ãã©ã¹ã®1ã€ã¯ãå€éç¶æ¿ã§ã¯ãªãæ§æã§ãã C ++ã§è€æ°ã®ç¶æ¿ãæã€ãã®è±åœ¢ãèŠããŠããŸããïŒ åœŒã®ãã¹ãŠã®åé¡ã ããã¯ECSã«ã¯åœãŠã¯ãŸããŸããã

2çªç®ã®æ©èœã¯ãããžãã¯ãšããŒã¿ã®åé¢ã§ããããã«ã€ããŠã¯æ¢ã«èª¬æããŸããã ããã«ããäœãåŸãããŸããïŒ äžçã®ç¶æ
ãšãã®å±¥æŽããããã§ä¿åããããã·ãªã¢ã«åãããããã®ããŒã¿ããããã¯ãŒã¯çµç±ã§éä¿¡ãããããªã¢ã«ã¿ã€ã ã§å€æŽãããã§ããŸãã ããã¯ã¡ã¢ãªå
ã®åãªãããŒã¿ã§ãããã€ã§ãå€ã倿Žã§ããŸãã ãããã£ãŠãã²ãŒã ã®ããžãã¯ã倿ŽããïŒãŸãã¯ãããã°ããïŒããšã¯éåžžã«äŸ¿å©ã§ãã
ã·ã¹ãã ã³ãŒã«ã®é åºã远跡ããããšãéåžžã«éèŠã§ãã ãã¹ãŠã®ã·ã¹ãã ã¯æ¬¡ã
ã«å®è¡ãããExecuteïŒïŒã¡ãœããã«ãã£ãŠåŒã³åºãããçæ³çã«ã¯ç¬ç«ããŠããå¿
èŠããããŸãã å®éã«ã¯ãããã¯èµ·ãããŸããã 1ã€ã®ã·ã¹ãã ãäžçã®äœãã倿Žããå¥ã®ã·ã¹ãã ãããã䜿çšããŸãã ãããŠããã®é åºãç Žããšãã²ãŒã ã¯éã£ããã®ã«ãªããŸãã ããããããã»ã©ã§ã¯ãããŸããããééããªã以åãšåãã§ã¯ãããŸããã
æåŸã«ãç§ãã¡ã«ãšã£ãŠæãéèŠãªæ©èœã®1ã€ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®äž¡æ¹ã§åãã³ãŒããå®è¡ã§ããããšã§ãã
éçºè
ã«æ©äŒãäžããã°ãåœŒã¯æ¢åã®æ±ºå®ã䜿çšããã«ã99ã®æ¹æ³ãšçç±ãèŠã€ããŠæ±ºå®ãäžããŸãã å€ãã®äººããã£ããšæãã åœæãECSãã¬ãŒã ã¯ãŒã¯ãæ¢ããŠããŸããã EntitasãArtemis CïŒãAsh.netãããã³ç¬èªã®ãœãªã¥ãŒã·ã§ã³ãæ€èšããŸããããããã¯ãç§ãã¡ã«æ¥ãã¹ãã·ã£ãªã¹ãã®çµéšããæžããããã®ã§ãã

ã¹ã©ã€ãã«æžãããŠããå
容ãèªãããšããªãã§ãã ãããããã»ã©éèŠã§ã¯ãããŸããã éèŠãªããšã¯ãåã«ã©ãã ãç·ãšèµ€ããããã§ãã ç·-ãœãªã¥ãŒã·ã§ã³ãèŠä»¶ããµããŒãããŠããããšãæå³ããèµ€-ãµããŒãããŠããªããé»è²-ãµããŒãããŠããããå®éã¯ãµããŒãããŠããªãã
ã³ã©ã ã§ã¯ãECSãæœåšçã«ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³ã§ãã ã芧ã®ãšãããããã¯ãŒã«ã§ã-ããå€ãã®èŠä»¶ããµããŒãã§ããŸãã ãã®çµæããããã®ããã€ãããµããŒãããŠããŸããã§ããïŒäž»ã«ããããå¿
èŠãªãã£ãããïŒããããŠãããªãã§ã¯ãã以äžäœæ¥ã§ããŸããã§ããã ç§ãã¡ã¯ã¢ãŒããã¯ãã£ãéžã³ãé·ãéåããŠãæå°éã®ãã¬ã€å¯èœãªããŒãžã§ã³ãäœãããããŠ... fakapã

æãåçäžèœãªããŒãžã§ã³ã倿ããŸããã ãã¬ãŒã€ãŒã¯çµ¶ããããŒã«ããã¯ãããã¬ãŒããããã詊åã®éäžã§ãµãŒããŒããã³ã°ããŸããã ãããåçããããšã¯äžå¯èœã§ããã 倱æã®çç±ã¯äœã§ããïŒ
çç±ãã®1ãæãéèŠãªã®ã¯çµéšäžè¶³ã§ãã ããããã©ã®ããã«ïŒ ç§ãã¡ã¯ãã¹ãŠãçŸããè¡ãããšã«ãªã£ãŠããçµéšè±å¯ãªäººãéããŸããã ã¯ãããããå®éã«ã¯åœŒã«ä»äºã®äžéšã ããäžããŸããã ãããã«ããªãã®ããã®ã²ãŒã ãµãŒããŒããããŸããããã«åãçµãã§ãã ãããã ãããŠãç§ãã¡ã®ã¢ãŒããã¯ãã£ïŒè©³çްã¯åŸè¿°ïŒã§ã¯ãã¯ã©ã€ã¢ã³ããéåžžã«éèŠãªåœ¹å²ãæãããŸãã ãããŠãç§ãã¡ãå¿
èŠãªçµéšãæã£ãŠããªã人ã«äžããã®ã¯ãã®éšåã§ããã ãããã圌ã¯åªç§ãªããã°ã©ããŒã§ãããäžé¢è°å¡ã§ã-åã«çµéšã¯ãããŸããã§ããã ã€ãŸã 圌ã¯ã©ã®ãããªã¬ãŒããããã®ãââå
šãç¥ããŸããã§ããã
çç±ãã®2-éçŸå®çãªå²ãåœãŠã 80 KB /ãã¬ãŒã ã ããã¯ããããã§ããïŒ 1ç§ããã30ãã¬ãŒã ãããããšãèæ
®ãããšã1ç§ã§2.5 MBãåŸããã5åéã®è©Šåã§ã¯æ¢ã«600 MBãè¶
ããŠããŸãã èŠããã«ãããããã ã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯ããã®ã¡ã¢ãªããã¹ãŠè§£æŸããããšããŸãïŒã¡ã¢ãªããã®èŠæ±ãå¢ãããšïŒãã¹ãã€ã¯ãçºçããŸãã 1ç§ããã30ãã¬ãŒã ãå¿
èŠã§ããããããããã®ã¹ãã€ã¯ã¯éåžžã«å¹²æžããŸããã ããã«ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®äž¡æ¹ã§ã
å²ãåœãŠã®äž»ãªçç±ã¯ãããŒã¿é
åãçµ¶ããå²ãåœãŠãããšã§ããã ã»ãŒæ¯ãã¬ãŒã ããšã LINQãã©ã ãåŒãPhotonã䜿çšã Photonã¯ãWar Robotsã§äœ¿ãæ
£ããŠãããããã¯ãŒã¯ã©ã€ãã©ãªã§ãã ãããŠããã¹ãŠãããŸãããããã«èŠããŸãããããŒã¿ãéä¿¡ãŸãã¯åä¿¡ãããã³ã«ã¡ã¢ãªãå²ãåœãŠãŸãã
æåã®åé¡ïŒã«ã¹ã¿ã ã³ã¬ã¯ã·ã§ã³ã«æžãçŽãããã£ãã·ã³ã°ãè¡ã£ãïŒãèŠã€ããå ŽåãPhotonã¯ãµãŒãããŒãã£ã©ã€ãã©ãªã§ãããããPhotonã§å®éã«è¡ãããšã¯ãããŸããã§ããã ãã±ãããµã€ãºãå°ããããããšã®ã¿ãå¯èœã§ã5Kãã€ãã§ããã ããããïŒ ã¯ã MTUããããŸã-ããã¯ããã±ãããå°ããªéšåã«åå²ããããšãªããUDPçµç±ã§éä¿¡ãããå®éã®æå°ãã±ãããµã€ãºã§ãã çŽ1.5 Kãã€ãã§ã5åãããŸããïŒå¹³åããŠããã以äžãããŸããïŒã
ãããã£ãŠãPhotonã¯ããã±ãŒãžãå°ããªãã®ã«åãåããåããŒã¹ãä¿¡é Œã§ãããã®ãšããŠéä¿¡ããŸããã ä¿èšŒä»ãé
éã éšåãå±ããªããã³ã«ã圌ã¯äœåºŠããããéããŸããã ããã«é
å»¶ãçºçãããããã¯ãŒã¯ã¯ããŸãæ©èœããŸããã§ããã
ããããã¹ãŠã®å²ãåœãŠã¯ã33ãå¿
èŠãªãšãã«çŽ100ããªç§ã®ãã¬ãŒã ãåä¿¡ãããšããäºå®ã«ã€ãªãããããã§ã¯ãã¬ã³ããªã³ã°ãã·ãã¥ã¬ãŒã·ã§ã³ããã®ä»ã®ã¢ã¯ã·ã§ã³-ãããã¯ãã¹ãŠCPUã䜿çšããŸãã ãããã®åé¡ã¯ãã¹ãŠè€éã§ãã 1ã€ã決å®ããããšã¯äžå¯èœã§ããããã¹ãŠãããŸããããŸãã ããããäžåºŠã«è§£æ±ºããå¿
èŠããããŸããã
ãããŠãéçºäžã«ãã£ãå¥ã®å°ããªåé¡-倿°ã®ãªããžããªã 5ã¯ã¹ã©ã€ãäžã«æžãããŠããŸãããç§ã«ã¯ããã«å€ãã®ãã®ããã£ãããã§ãã ãããã®ãã¹ãŠã®ãªããžããªïŒã¯ã©ã€ã¢ã³ããã²ãŒã ãµãŒããŒãå
±éã³ãŒããèšå®ãªã©ïŒã¯ããµãã¢ãžã¥ãŒã«ã«ãã£ãŠã¯ã©ã€ã¢ã³ããšã²ãŒã ãµãŒããŒã®2ã€ã®ã¡ã€ã³ãªããžããªã«æ¥ç¶ãããŸããã äžç·ã«åãã®ã¯å€§å€ã§ããã ããã°ã©ããŒã¯GitãSVNã§äœæ¥ã§ããŸãããã¢ãŒãã£ã¹ãããã¶ã€ããŒãªã©ãããŸãã å€ãã®äººãã¢ãŒãã£ã¹ãããã¶ã€ããŒã«ããŒãžã§ã³ç®¡çã·ã¹ãã ã®äœ¿ãæ¹ãæããããšãããšæããŸãã ããã¯æ¬åœã«é£ããã®ã§ãããããªãã®ãã¶ã€ããŒããããããæ¹æ³ãç¥ã£ãŠããã°-圌ã®äžè©±ãããŠã圌ã¯è²ŽéãªåŸæ¥å¡ã§ãã ç§ãã¡ã®å Žåãããã°ã©ãã§ãããé©ããçµæããã¹ãŠã1ã€ã®ãªããžããªã«æžãããŸããã
ããã¯åé¡ã®çŽ æŽããã解決çã§ããã ãµãŒããŒããããã©ã«ããŒãšã¯ã©ã€ã¢ã³ãããããã©ã«ããŒããããŸãã ãµãŒããŒã¯ãã²ãŒã ãµãŒããŒãããžã§ã¯ããã³ãŒããžã§ãã¬ãŒã¿ãŒãããã³è£å©ããŒã«ã§æ§æãããŸãã

ã¯ã©ã€ã¢ã³ãã¯ãUnityã¯ã©ã€ã¢ã³ãã§ãããå
±éã®ã³ãŒãã§ãã äžè¬çãªã³ãŒãã¯ãã¯ãŒã«ãããŒã¿æ§é ã§ãã ãšã³ãã£ãã£ãã³ã³ããŒãã³ããããã³ã·ã¹ãã ã·ãã¥ã¬ãŒã·ã§ã³ã ãã®ã³ãŒãã¯ãäž»ã«ãµãŒããŒãžã§ãã¬ãŒã¿ãŒã«ãã£ãŠçæãããŸãã ãµãŒããŒã«ãã£ãŠäœ¿çšãããŸãã ã€ãŸã ããã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®å
±ééšåã§ãã
ã©ã€ãã«ã TeamCityãååŸããŠãªããžããªã«èšå®ãããµãŒããŒãåéããŠå±éããŸãã ã¯ã©ã€ã¢ã³ããäžè¬çãªããžãã¯ã倿Žãããã³ã«ãã²ãŒã ãµãŒããŒãããã§çµã¿ç«ãŠãããŸããããã«ã¯ãµãŒããŒããã°ã©ãã¯äžèŠã§ãã éåžžããµãŒããŒãã¯ã©ã€ã¢ã³ããããã³ããã€ãã®æ©èœããããŸãã ã¯ã©ã€ã¢ã³ãã¯ãããèªå®
ã§èŠããµãŒããŒã¯èªå®
ã§èŠãŸãããããŠãã€ã圌ãã®ããã«åãã§ãããã ç§ãã¡ã®å Žåãããã§ã¯ãããŸãã-ã¯ã©ã€ã¢ã³ãã¯ãã®æ©èœãèšè¿°ã§ãããã¹ãŠããµãŒããŒäžã§åäœããŸãã
詊åã¯å
±ééšåïŒECSãšããŠæå®ïŒãšãã¬ãŒã³ããŒã·ã§ã³ïŒãããã¯åäžã®MonoBehaviorã¯ã©ã¹ãã²ãŒã ãªããžã§ã¯ããã¢ãã«ããšãã§ã¯ã-äžçã衚ããã¹ãŠïŒã§æ§æãããŠããŸãã ãããã¯æ¥ç¶ãããŠããŸããã

ãããã®éã«ã¯ãäž¡æ¹ã®éšåã§æ©èœãããã¬ãŒã³ã¿ãŒãããŸãã ãåç¥ã®ããã«ãããã¯MVPïŒModel-View-PresenterïŒã§ããããããã®ããŒãã¯å¿
èŠã«å¿ããŠäº€æã§ããŸãã ãããã¯ãŒã¯ã§åäœããå¥ã®éšåããããŸãïŒã¹ã©ã€ãäž-ãããã¯ãŒã¯ïŒã ããã¯ãäžçã«é¢ããæ
å ±ã®ã·ãªã¢ã«åãå
¥åã®ã·ãªã¢ã«åããµãŒããŒãžã®éä¿¡ããµãŒããŒã«ããåä¿¡ããµãŒããŒãžã®æ¥ç¶ãªã©ã§ãã
ãã£ãšå¥œãã ãã®éšåãåã蟌ãã§ããããã¯ãŒã¯ã§ã¯ãªãä»®æ³ã®ä»®æ³åºç»ã«çœ®ãæããŸãã ã¯ã©ã€ã¢ã³ãå
ã«ãªããžã§ã¯ããäœæãã圌ã«ã¡ãã»ãŒãžãéä¿¡ããŸãã ãµãŒããŒã·ãã¥ã¬ãŒã·ã§ã³ãå®è£
ããŸãããã®ãªããžã§ã¯ãã¯ãã²ãŒã ãµãŒããŒã§çºçãããã¹ãŠã®åŠçãå®è¡ããŸãã æ®ãã®ãã¬ã€ã€ãŒã¯ãããã«çœ®ãæããããŸãã

ã§ãã ã²ãŒã ãå
¥æããã²ãŒã ãµãŒããŒãªãã§ãã¹ãã§ããããã«ãªããŸããã ããã¯ã©ãããæå³ã§ããïŒ ããã¯ãæ°ãããšãã§ã¯ããäœæããã¢ãŒãã£ã¹ãããšãã£ã¿ãŒã®[åç]ãã¿ã³ãã¯ãªãã¯ããããã«ãããäžã®äžèŽã«å°éããŠãã®åäœã確èªã§ããããšãæå³ããŸãã ãŸãã¯ãã¯ã©ã€ã¢ã³ãããã°ã©ããæžããå
容ããããã°ããŸãã
ããããããã«é²ãã§ããããã¯ãŒã¯é
å»¶ã®ãžãã¿ãŒpingïŒããã¯ããããã¯ãŒã¯äžã®ãã±ãããéä¿¡ãããé åºã§å°çããªãå ŽåïŒãšä»ã®ãããã¯ãŒã¯ã®äºç©ã®ãã®ã¬ã€ã€ãŒãšãã¥ã¬ãŒã·ã§ã³ã«æ¥ç¶ããŸããã ãã®çµæãã²ãŒã ãµãŒããŒãªãã§å®éã«è©Šåãããããšãã§ããŸããã åäœç¢ºèªæžã¿ã
ã³ãŒãçæã«æ»ããŸãããã

ã²ãŒã ãµãŒããŒã«ã³ãŒããžã§ãã¬ãŒã¿ãŒãããããšã¯æ¢ã«è¿°ã¹ãŸããã ãã¡ã€ã³åºæã®èšèªããããŸãããããã¯å®éã«ã¯åçŽãªCïŒã¯ã©ã¹ã§ãã ãã®å Žåãã¯ã©ã¹Healthã 屿§ã§ããŒã¯ããŸãã ããšãã°ãã³ã³ããŒãã³ã屿§ããããŸãã 圌ã¯ãå¥åº·ã¯ç§ãã¡ã®äžçã®æ§æèŠçŽ ã§ãããšèšããŸãã ãã®å±æ§ã«åºã¥ããŠããžã§ãã¬ãŒã¿ãŒã¯æ°ããCïŒã¯ã©ã¹ãäœæããŸãããã®ã¯ã©ã¹ã«ã¯ããŸããŸãªãã®ããããŸãã ãããã¯æã§æžãããšãã§ããŸãããçæãããŸãã ããšãã°ããšã³ãã£ãã£ã«ã³ã³ããŒãã³ãã远å ããæ¹æ³ãã³ã³ããŒãã³ããæ€çŽ¢ããæ¹æ³ãããŒã¿ãã·ãªã¢ã«åããæ¹æ³ãªã©ã DontSendã¿ã€ãã®å±æ§ããããŸããããã¯ããããã¯ãŒã¯ãä»ããŠãã£ãŒã«ããéä¿¡ããå¿
èŠããªãããšã瀺ããŸã-ãµãŒããŒã¯ãããå¿
èŠãšããªãããã¯ã©ã€ã¢ã³ãã¯ãããå¿
èŠãšããŸããã ãŸãã¯ã屿§Machããã¬ãŒã€ãŒã®æå€§ãã«ã¹å€ã1,000ã§ããããšãå ±åããŸãã ããã«ããäœãåŸãããŸããïŒ 32ãããïŒintïŒãå æãããã£ãŒã«ãã®ä»£ããã«ã10ããããéä¿¡ããŸãïŒ3åå°ãªãïŒã ãã®ãããªã³ãŒããžã§ãã¬ãŒã¿ãŒã«ããããã±ãããµã€ãºã5 KBãã1ã«æžããããšãã§ããŸããã

1 KB <1.5-ã€ãŸã MTUã«äŒããŸããã Photonã¯åæã忢ãããããã¯ãŒã¯ã¯å€§å¹
ã«æ¹åãããŸããã 圌女ã®åé¡ã®ã»ãšãã©ãã¹ãŠããªããªã£ãŠããŸãã ããããç§ãã¡ã¯ããã«é²ãã§ããã«ã¿å§çž®ãè¡ããŸããã

ããã¯ã1ã€ã®å®å
šãªç¶æ
ãéä¿¡ãããã®å€æŽã®ã¿ãéä¿¡ããå Žåã§ãã å
šäžçãããã«å®å
šã«å€ãã£ããšããããšã¯ãããŸããã äžéšã®ããŒãã®ã¿ãçµ¶ãã倿ŽãããŠããããããã®å€æŽã¯ç¶æ
èªäœããããµã€ãºãã¯ããã«å°ãããªã£ãŠããŸãã å¹³å300ãã€ããã€ãŸã åœåã®17åã«ãªããŸããã
ãšã«ããMTUã«ããå Žåããããå¿
èŠãªã®ã¯ãªãã§ããïŒ ã²ãŒã ã¯åžžã«æé·ããŠãããæ°ããæ©èœãç»å Žããããããšãšãã«ãªããžã§ã¯ãããšã³ãã£ãã£ãæ°ããã³ã³ããŒãã³ããç»å ŽããŸãã ããŒã¿ãµã€ãºã¯å¢å€§ããŠããŸãã 1Kãã€ãã«èœã¡çããšãããã«åãåé¡ã«æ»ããŸãã ãã«ã¿å§çž®çšã«æžãçŽããã®ã§ãããã«ã¯ããã«å°éããŸããã
仿ãçãéšåã åæãã ã·ã¥ãŒãã£ã³ã°ã²ãŒã ããã¬ã€ããå Žåããã¿ã³ãã¯ãªãã¯ãããšãå
¥åã©ã°ãäœã§ããããããããŸããããšãã°ã0.5ç§åŸã«ãã£ã©ã¯ã¿ãŒãåãå§ããŸãã mobãžã£ã³ã«ã®äžéšã®ã²ãŒã ã§ã¯ãããã¯æ£åžžã§ãã ããããã·ã¥ãŒãã£ã³ã°ã²ãŒã ã§ã¯ãããŒããŒã«ãã®å Žã§æã£ãŠãã¡ãŒãžãäžããããšæã£ãŠããŸãã

å
¥åã©ã°ãçºçããã®ã¯ãªãã§ããïŒ ã¯ã©ã€ã¢ã³ãã¯ãã¬ãŒã€ãŒã®å
¥åïŒå
¥åïŒãåéããã²ãŒã ãµãŒããŒã«éä¿¡ããŸãïŒéä¿¡ã«ã¯æéãããããŸãïŒã 次ã«ãã²ãŒã ãµãŒããŒã¯ãããåŠçãïŒåã³ãæéïŒãçµæãéãè¿ããŸãïŒåã³ãæéïŒã ããã¯é
å»¶ã§ãã åé€ããæ¹æ³ã¯ïŒ äºæž¬ãšåŒã°ãããã®ããããŸã-ã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒããã®å¿çãåŸ
ããã«ãã²ãŒã ãµãŒããŒãšåãããšãããã«è©Šè¡ãå§ããŸãã åœç©ã ãã¬ãŒã€ãŒã®å
¥åãåãåããã·ãã¥ã¬ãŒã·ã§ã³ãéå§ããŸãã ä»ã®ãã¬ã€ã€ãŒã®å
¥åãããããªããããããŒã«ã«ã¯ã©ã€ã¢ã³ãã®ã¿ãã·ãã¥ã¬ãŒãããŸãã圌ãã¯ç§ãã¡ã®ãšããã«æ¥ãŸããã ãããã£ãŠãã·ãã¥ã¬ãŒã·ã§ã³ã·ã¹ãã ã¯ãã¬ãŒã€ãŒã§ã®ã¿å®è¡ããŸãã
第äžã«ãã·ãã¥ã¬ãŒã·ã§ã³æéãççž®ã§ããŸãã ã¯ã©ã€ã¢ã³ãã¯ãå
¥åãåä¿¡ãããšããã«ã·ãã¥ã¬ãŒã·ã§ã³ãéå§ããã²ãŒã ãµãŒããŒã«å¯ŸããŠæ°ã¹ãããé²ãã§ããŸãã ãã®åçã§ã圌ã¯ãã£ãã¯ïŒ20ãã·ãã¥ã¬ãŒãããŠãããšããŸãããã ãã®æç¹ã§ãã²ãŒã ãµãŒããŒã¯éå»ã®ãã£ãã¯ïŒ15ãã·ãã¥ã¬ãŒãããŸãã ã¯ã©ã€ãšã³ãã¯ãéå»ã«ãããŠããå°æ¥ã«ãããŠããäžçã®æ®ãã®éšåãèŠãŠããŸãã 圌ã20çªç®ã®ãã£ãã¯ããµãŒããŒã«éä¿¡ããŠããéããã®å
¥åãå°éããéãã²ãŒã ãµãŒããŒã¯ãã§ã«18çªç®ã®ãã£ãã¯ãŸãã¯ãã§ã«20çªç®ã®ãã£ãã¯ã®ã·ãã¥ã¬ãŒã·ã§ã³ãéå§ããŸãã 18çªç®ã®å Žåã圌ã¯ããããããã¡ã«å
¥ãã20çªç®ã«éããåŠçããŠçµæãè¿ããŸãã
ä»ã圌ããã£ãã¯No. 15ãã·ãã¥ã¬ãŒãããŠãããšããŸãã åŠçãããçµæãã¯ã©ã€ã¢ã³ãã«è¿ããŸãã ã¯ã©ã€ã¢ã³ãã«ã¯ãããçš®ã®ã·ãã¥ã¬ãŒãããã15çªç®ã®ãã£ãã¯ã15çªç®ã®ã²ãŒã ç¶æ
ãããã³åœŒãäºæž¬ããã²ãŒã äžçããããŸãã ãµãŒããŒãšã®æ¯èŒãéå§ãããŸãã å®éã圌ã¯äžçå
šäœãæ¯èŒããã®ã§ã¯ãªããã¯ã©ã€ã¢ã³ãã®ã¿ãæ¯èŒããŸãããªããªããç§ãã¡ã¯äžçã®ãã®ä»ã®éšåã«ã€ããŠè²¬ä»»ãè² ã£ãŠããªãããã§ãã ç§ãã¡ã¯èªåèªèº«ã«å¯ŸããŠã®ã¿è²¬ä»»ãè² ããŸãã ãã¬ãŒã€ãŒãäžèŽããå Žåããã¹ãŠãæ£åžžã§ããã€ãŸããæ£ããã·ãã¥ã¬ãŒããããç©çãæ£ããæ©èœããè¡çªã¯çºçããŠããŸããã æ¬¡ã«ã20çªç®ã®ãã£ãã¯ã21çªç®ã®ãã£ãã¯ãªã©ã®ã·ãã¥ã¬ãŒã·ã§ã³ãç¶ããŸãã
ã¯ã©ã€ã¢ã³ã/ãã¬ãŒã€ãŒãäžèŽããªãã£ãå Žåãããã¯ã©ããã§ééã£ãŠããããšãæå³ããŸãã äŸïŒç©çåŠã¯æ±ºå®è«çã§ã¯ãªããããäœçœ®ãŸãã¯äœããééã£ãŠèšç®ãããŠããŸãã ãã¶ããã°ã§ãã ãã®åŸãã¯ã©ã€ã¢ã³ãã¯ã²ãŒã ãµãŒããŒããç¶æ
ãååŸããŸããããã¯ãã²ãŒã ãµãŒããŒãæ¢ã«ããã確èªããŠããããã§ãïŒãµãŒããŒãä¿¡é ŒããŠãã-ä¿¡é Œã§ããªãå Žåããã¬ã€ã€ãŒã¯äžæ£è¡çºãããŸãïŒã ãã®æéåå²ã¯çŸåšãšã©ãŒã«ãªã£ãŠããããã§ãã
æ°ããã¿ã€ã ãã©ã³ããã€ãŸã ãã©ã¬ã«ã¯ãŒã«ãã ããã5ã€ã®ãã£ãã¯ã1ã€ã®ãã£ãã¯ã§ã·ãã¥ã¬ãŒãããŸãã ã·ãã¥ã¬ãŒã·ã§ã³ã«5ããªç§ããããŸãããã10ãã£ãã¯ãã·ãã¥ã¬ãŒãããå¿
èŠãããå Žåã¯ããã§ã«50ããªç§ã§ããã30ããªç§ã«ã¯ãªããŸããã æé©åãããŠ1ããªç§ã«ãªããŸãã-10ããªç§ã§10ãã£ãã¯ãåŠçãããããã«ãªããŸããã ãŸã ã¬ã³ããªã³ã°ãããããã§ãã
ãããã¯ãã¹ãŠã¯ã©ã€ã¢ã³ãã§æ©èœããå¿
èŠãªçµéšã®ãªã人ã«ãããæäŸããŸããã ãã€ãã¹-ç§ãã¡ã¯fakapãæã£ãŠããŸããããããŠãã©ã¹-ããã°ã©ããŒã¯ä»ãããæ£ããè¡ãæ¹æ³ãç¥ã£ãŠããŸãã

ãã®ã¹ããŒã ã«ã¯ç¬èªã®ç¹åŸŽããããŸãã å·Šã®åçã®ã¯ã©ã€ã¢ã³ãã¯æµã远跡ããããšããŠããŸãã 圌ã¯20ç®çãã§ã察æŠçžæã¯15ç®çãã§ãã pingãšã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒãã5ãã£ãã¯å
ã«ããããã§ãã ã¯ã©ã€ã¢ã³ãã¯æã¡ãæ£ç¢ºã«ææãäžãããã¡ãŒãžãäžããªããã°ãªããŸããã ãããããµãŒããŒäžã§ã¯ç»åãç°ãªããŸã-ãµãŒããŒã20çªç®ã®ãã£ãã¯ãã·ãã¥ã¬ãŒããå§ãããšãæµã¯ãã§ã«ç§»åããŠããå¯èœæ§ããããŸãã ããšãã°ãæµãåããŠããå Žåã çè«çã«ã¯ãååŸãã¹ãã§ã¯ãããŸããã ããããããããã®ããã«æ©èœããå Žåã誰ããåžžã«ãã¹ã®ããã«ãªã³ã©ã€ã³ã·ã¥ãŒãã£ã³ã°ã²ãŒã ããã¬ã€ããŸããã pingã«å¿ããŠãããããã確çãå€åããŸãããpingãæªãã»ã©ãæªåããŸãã ãããã£ãŠã圌ãã¯ç°ãªãæ¹æ³ã§ãããè¡ããŸãã
ãµãŒããŒã¯ãå
šäžçãååŸãããã¬ã€ã€ãŒãäžçãèŠãããŒã¯ã«è»¢ãããŸãã ãµãŒããŒã¯ãããããã€ã ã£ãããèªèãã15çªç®ã®ãã£ãã¯ã«ããŒã«ããã¯ããŠãå·Šã®ç»åã確èªããŸãã 圌ã¯ããã¬ãŒã€ãŒããããããã¯ãã§ãããšå€æãããã§ã«20ãã£ãã¯ã§çžæã«ãã¡ãŒãžãäžããŸãã ãã¹ãŠé 調ã§ãã ã»ãŒã æµãéããŠé害ç©ã®åŸãã«èµ°ã£ãå Žåããã§ã«å£ãéãæããŠããŸãã ããããããã¯æ¢ç¥ã®åé¡ã§ããããã¬ã€ã€ãŒã¯ãããç¥ã£ãŠãããå¿é
ããå¿
èŠã¯ãããŸããã ã ããããã¯åäœããŸããããã«ã€ããŠäœãããããšã¯ãããŸããã

ãããã£ãŠã1ç§ããã30ãã£ãã¯ã1ç§ããã30ãã¬ãŒã ã«éããŸããã çŸåšãçŽ600人ã®ãã¬ã€ã€ãŒããµãŒããŒã§åæã«ãã¬ã€ããŠããŸãã 詊åã«ã¯6人ã®ãã¬ã€ã€ãŒãããŸãã çŽ100ä»¶ã®äžèŽã ãµãŒããŒããã°ã©ããŒã¯ããŸãããå¿
èŠãããŸããã ã¯ã©ã€ã¢ã³ãã¯ãã¹ãŠã®ããžãã¯ãCïŒã®Unityãšãã£ã¿ãŒRiderã§èšè¿°ããã²ãŒã ãµãŒããŒäžã§åäœããŸãã ã»ãšãã©åžžã«ã ãã±ãããµã€ãºã17ååæžããã¡ã¢ãªå²ãåœãŠã80ååæžããŸãããçŸåšã§ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã§1ãããã€ãæªæºã§ãã å¹³åpingã¯200ã250ããªç§ã§ããããçŸåšã¯150ã§ãã200ã¯ã¢ãã€ã«ãããã¯ãŒã¯ã²ãŒã ã®æšæºã§ãããPCãšã¯ç°ãªããç¹ã«ããŒã«ã«ãããã¯ãŒã¯ã§ãã¹ãŠãé«éã«çºçããŸãã

å¥ã®ãã¬ãŒã ã¯ãŒã¯ã§èšè¿°ãããŠãããã®ãåé¢ããŠãä»ã®ãããžã§ã¯ãã§äœ¿çšããäºå®ã§ãã ãããããããŸã§ã®ãšããããªãŒãã³ãœãŒã¹ã®è©±ã¯ãããŸããã ãããŠãããã«è£éã远å ããŸãã ããã§ã1ç§éã«30ãã£ãã¯ãåŸããããã£ãã¯ããšã«æç»ã§ããŸãã ãã ãã1ç§ããã20ãã£ãã¯ãŸãã¯10ã§ååãªã²ãŒã ãããããã1ç§éã«10åæç»ãããšããã£ã©ã¯ã¿ãŒã¯ãã£ãšåããŸãã ãããã£ãŠãè£éãå¿
èŠã§ãã Photonã®ä»£ããã«ç¬èªã®ãããã¯ãŒã¯ã©ã€ãã©ãªãäœæããŸãã-ã¡ã¢ãªã®å²ãåœãŠã¯ãããŸããã
ãŸã æã§æžãããšã¯ã§ããŸããããã³ãŒããçæããéšåããããŸãã ããšãã°ãäžçã®ç¶æ
ãã¯ã©ã€ã¢ã³ãã«éä¿¡ãããšãã圌ãå¿
èŠãšããªãããŒã¿ãåãåããŸãã ãããæäœæ¥ã§è¡ããæ°ããæ©èœã衚瀺ããããã®ããŒã¿ãåãåãã®ãå¿ãããšãäœãããããããªããŸãã å®éãããã¯äœããã®å±æ§ãããŒã¯ããããšã§çæã§ããŸãã
èŽè¡ããã®è³ªå
-ã³ãŒãçæã«äœã䜿çšããŠããŸããïŒ ããªãèªèº«ã®æ±ºå®ã§ããïŒ-ãã¹ãŠãã·ã³ãã«-æã äœããæºåããããšãèããŸããããèªåã®æã§æžãã ãã§éããªãããšãããããŸããã ãã®éããã©ããšãåœæãä»ãããŸããããŸããã
-ãµãŒããŒéçºè
ãæåŠããŸããããåãã³ãŒããåå©çšããããããéçºæéãççž®ããã ãã§ã¯ãããŸããã Unityã¯CïŒã®ææ°ããŒãžã§ã³ããµããŒãããŠããŸãããå
éšã«ç¬èªã®ãšã³ãžã³ããããŸãã .NET Coreã¯äœ¿çšã§ãããææ°ã®æ©èœãç¹å®ã®æ§é ãªã©ã䜿çšã§ããŸããã ããã«ãããããã©ãŒãã³ã¹ã¯çŽ3åã®1ã«äœäžããŸãããïŒ-ããããã¹ãŠãå§ãããšããã¯ã©ã¹ã§ã¯ãªãæ§é äœã䜿çšããæ¹ããã£ãšéãåäœããã¯ãã ãšèããŸããã ã³ãŒãå
ã§ã©ã®ããã«èŠããããããžãã¯ãèšè¿°ããããã«ããã°ã©ãããããã®æ§é ãã©ã®ããã«äœ¿çšããããšãããããã¿ã€ããäœæããŸããã ãããŠãããã¯ã²ã©ãäžå¿«ã§ããã ç§ãã¡ã¯ã¯ã©ã¹ã«èœã¡çããçŸåšã®ããã©ãŒãã³ã¹ã§ååã§ãã
-è£éãªãã§ä»ã©ã®ããã«ç掻ããŠããŸããïŒ ãããŠãã¹ãããã·ã§ãããé©åãªãã¬ãŒã ã«åãŸããªãå Žåãã©ã®ããã«ãã¬ãŒã€ãŒã®ãµããããŸããïŒ-è£éããããŸãããèŠèŠçã§ã¯ãããŸãããããããã¯ãŒã¯äžãééãããã±ããã«å¯ŸããŠã®ã¿ã§ãã 18ã19ã20çªç®ã®å·ããããšããŸãããã 18-, 20-, 19- , â . , .
â , ?â 2D â , . : UDP, , : , . .
â ?ãã¯ãããã¡ãããã - ( , , ), 2 : , .
â . ? ? 1000 , ? , ?â , . , -, , . , 30 .
â , ?â . , ( ), . â , , . - , , . , , , , . .
â ECS, , ? ?â 30 , . 80 , . .
â prediction. 20- - , , - â , ? , . - ?â : . (, 15-) 16-,17-,18- .
â ?â , . , , . Entity ( ), . â , . ID , .
â - â , , , ? , ?â , , . 3D , â , , - . , , . top-down, â . . , , , . .
â ?â . ãããèµ·ãããŸãã
â , , - . - . - , , , 500 , , - - . ?â .

, .. 20- 20- , . â , . : 20- , ? , . , â - . , . , « - , 21-, 18-». : «, - ». .
-ã€ãŸã , ?â , .
â reliable UDP â - ?â Photon, Photon reliable UDP, unreliable, c .
â ?â , -. , . , . , . , . 100%, , 80%, .
â ?â , , Photon , MTU.
â ? ?â , , , . . , . , , , .
â , , ?â , . , . , , . , - . , . , .
â / â - . , .â , . , ( ), -, , -. , . â , .
â , - . ?â , . : ECS, . , ECS . , ECS . , . , , , ( , , , , , ). 2D , , 3D â . 3D , , . . - , . , - -, .
â , ECS , . , , C#?â â .
-ã€ãŸã ES ? , ECS â , , , . ã€ãŸã ECS â , .â , , . , . â , , . , O - , , .
â , ECS- ?â -, ECS , , ( ) â , . , â . â , , . , , , ..
Pixonic DevGAMM Talksãšã®ãããªãè¬æŒ