ç§ã¯äœããããæ¹æ³ãåŠã³ãŸãããç§ãã¡ããããã©ã®ããã«ãããã«ã€ããŠè©±ããŸãã ããªããåãã¬ãŒããèžãŸãªãããã«ããŠãç§ãã¡ã®çµéšã掻çšããŠãã ããã 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ãšã®ãããªãè¬æŒ
- Consulã䜿çšããã¹ããŒããã«ãµãŒãã¹ã®ã¹ã±ãŒãªã³ã° ïŒIvan BubnovãDevOps at BIT.GAMESïŒ;
- CICDïŒããŠã³ã¿ã€ã ãªãã®åæ£ã¯ã©ã¹ã¿ãŒã·ã¹ãã ãžã®ã·ãŒã ã¬ã¹ãªå±é ïŒEgor PanovãPixonicã·ã¹ãã 管çè ïŒ;
- Quake Championsã²ãŒã ã®ããã¯ãšã³ããã©ãããã©ãŒã ã§ã¢ã¯ã¿ãŒã¢ãã«ã䜿çšããç·Žç¿ ïŒRoman Rogozinãããã¯ãšã³ãéçºè Sabre InteractiveïŒã
- Tacticoolã¢ãã€ã«ãªã³ã©ã€ã³ã·ã¥ãŒã¿ãŒã¡ã¿ãµãŒããŒã¢ãŒããã¯ã㣠ïŒPavel PlattoãPanzerDogã®ãªãŒããœãããŠã§ã¢ãšã³ãžãã¢ïŒ;
- ECSãCïŒãžã§ãã·ã¹ãã ãSRPãã¢ãŒããã¯ãã£ãžã®ã¢ãããŒããã©ã®ããã«å€ããã ïŒValentin SimonovãUnityã®ãã£ãŒã«ããšã³ãžãã¢ïŒ;
- éçºã«ãããKISSåå ïŒKonstantin Gladyshevã1C Game Studiosã®ãªãŒãã²ãŒã ããã°ã©ããŒïŒ;
- Cucumber : BDD- ( , Technical Product Manager, ALICE Platform).