
ã¯ããã«
ãªãæ¬äŒŒ3Dãªã®ãïŒ
ãã¹ãŠã®ã³ã³ãã¥ãŒã¿ãŒãäœçŸäžãã®ããªãŽã³ã§æ§æããããªã³ã¶ãã©ã€ã®ã°ã©ãã£ãã¯ã¹ãæç»ã§ããã®ã«ããªã誰ããä»æ¥ãæãªããã®ã¹ã¿ã€ã«ã®éè·¯ãäœãããã®ã§ããããïŒ ããªãŽã³ã¯åãã§ã¯ãããŸãããïŒ ããã§ããªãã ããªãŽã³ã¯æªã¿ãå°ãªãããŸãããå€ãã®ããªãŽã³åã®ã²ãŒã ã§æãããããã®ãããªè¶ çŸå®çã§ç®ãŸããããã¹ããŒãæãäžããã®ã¯ãå€ãã²ãŒã ãšã³ãžã³ã®å€åœ¢ã§ãã ã«ã¡ã©ã«ãã£ãŠå¶åŸ¡ãããã¹ã³ãŒããæ³åããŠãã ããã ãããã®ãšã³ãžã³ã®ããããã䜿çšããŠã²ãŒã å ã®æ²ç·ã«æ²¿ã£ãŠç§»åãããšã圌女ã¯æ²ç·ãèŠãŠããããã«èŠããŸãã ãã®åŸãéè·¯ããŸã£ããã«ãªããšããã¥ãŒããŸã£ããã«ãªããŸãã èŠçã®æªãæ²ããè§ã§é転ãããšããã«ã¡ã©ã¯æ£ã®äžãèŠã蟌ãã§ããããã«èŠããŸãã ãããŠããã®ãããªã²ãŒã ã¯æ£ç¢ºãªç©ºéçé¢ä¿ãæã€åŸæ¥ã®åœ¢åŒã®ãã©ãã¯ã䜿çšããªãããããã¬ã€ã€ãŒãæ¯ãã®ããããªé床ã§ä¹ãããšãã§ããåé¡ãªããã©ãã¯ãäœæããããšãå¯èœã§ãã ã²ãŒã ã®ç©ççãªçŸå®ã¯ãã²ãŒã ãã¬ã€ã®ã¹ã¿ã€ã«ã«å¿ããŠç°¡åã«å€æŽã§ããããããã¬ãŒã€ãŒãåå¿ãããããéããã©ãã¯ã«ãªããžã§ã¯ãã衚瀺ãããããšãå¿é ããå¿ èŠã¯ãããŸããã
ãããããã®ãããªã·ã¹ãã ã«ã¯å€ãã®æ¬ ç¹ããããŸãã ã·ãã¥ã¬ãŒã·ã§ã³ã²ãŒã ã§äœ¿çšãããç©çã®æ·±ãã倱ãããããããããã®ãšã³ãžã³ã¯ãããã®ã²ãŒã ã«ã¯é©ããŠããŸããã ãããããããã¯ç°¡åã«å®è£ ã§ããçŽ æ©ãåäœãããããã«åºã¥ããã²ãŒã ã¯éåžžéåžžã«èå³æ·±ãã§ãïŒ
ãã¹ãŠã®å€ãã¬ãŒã·ã³ã°ã²ãŒã ããããã®ææ³ã䜿çšããŠããããã§ã¯ãªãããšã«æ³šæããŠãã ããã å®éããã®èšäºã§èª¬æãããŠããæ¹æ³ã¯ãç䌌3次å éè·¯ãäœæããæ¹æ³ã®1ã€ã«ãããŸããã ä»ã®å Žåã«ã¯ãæ圱ããã³æ¡å€§çž®å°ãããã¹ãã©ã€ããŸãã¯å®éã®éè·¯æ圱ã®ããŸããŸãªæ¹æ³ã䜿çšãããŸãã å®éã®æ°åŠãããªãã¯ãšæ··åãããçšåºŠã¯ãäœæè ã«äŸåããŸãã ç§ãææ¡ããç¹æ®å¹æãã楜ãã¿ãã ããã
æ°åŠãã©ãã ãç解ããå¿ èŠããããŸããïŒ
ããªãã...
...äžè§æ³ãç¥ã£ãŠãããªãããã¥ãŒããªã¢ã«å šäœãç解ããã®ã«ååã§ããã
...代æ°ãšå¹ŸäœåŠããç¥ããªãã®ã§ããã¹ã³ãŒããã®èª¬æãã¹ãããããŸã
...æ°åŠçãªèª¬æãé¿ãããå Žåã¯ããæãç°¡åãªæ¹æ³ãããæ²ç·ãšã¿ãŒã³ãããã¹ãã©ã€ããšããŒã¿ããããã³ãäžãã®ã»ã¯ã·ã§ã³ããèªã¿ãã ããã
ããã¯æ®éçãªææ³ã§ãããé©åãªã»ã¯ã·ã§ã³ãè¿œå ããã ãã§ãã詳现ã«ç解ã§ããŸãã è€éãªæ°åŠãç¥ã£ãŠãããªããããã¯é¢çœãã§ããããããããç®è¡ã ããç解ããŠããã°ãããŒã«ããžã·ã§ã³ãªã©ã®ã²ãŒã ãæåã®ã¢ãŠãã©ã³ã§äœæããã詳现ã¬ãã«ã«å°éã§ããŸãã
ããã°ã©ãã³ã°ãã©ãã ãç¥ã£ãŠããå¿ èŠããããŸããïŒ
ããããããã°ã©ãã£ãã¯ã¹ãç解ããŠããå Žåãããã¯éåžžã«åœ¹ç«ã¡ãŸããã¹ãã£ã³ã©ã€ã³ãšã¯äœããåã©ã€ã³ãå€æ°ã®ãã¯ã»ã«ã§æ§æãããŠããããšãç¥ãã ãã§ãã ãµã³ãã«ããã°ã©ã ã¯æ¬äŒŒã³ãŒãã§èšè¿°ãããŠãããããç¹å®ã®èšèªã®ç¥èã¯å¿ èŠãããŸããã
æºåã¯ããïŒ ããå§ããŸãããïŒ
ã©ã¹ã¿ãŒå¹æïŒç°¡åãªçŽ¹ä»
ç䌌3次å éè·¯ã¯ãã©ã¹ã¿ãŒãšãã§ã¯ããšåŒã°ããããäžè¬çãªã¯ã©ã¹ã®ãšãã§ã¯ãã®1ã€ã§ãã Street Fighter IIã§äœ¿çšãããæãæåãªã©ã¹ã¿ãŒãšãã§ã¯ãïŒæŠéæ©ãå·Šå³ã«åãããšãå°çã®è¡šé¢ãé è¿æ³ã§å€åããŸãã ããããããã¯å®éã«ã¯3Dã§ã¯ãããŸããã Surfaceã°ã©ãã£ãã¯ã¹ã¯éåžžã«åºè§ã®ã·ã§ãããšããŠä¿åãããŸãã ã¹ã¯ããŒã«ãããšãããããã«ãç»é¢ã®è¡ã¯ãããè¿ãè¡ãããé ã移åããŸãã ã€ãŸããç»é¢äžã®åè¡ã¯äºãã«ç¬ç«ããŠç§»åããŸãã æçµçµæãšãå°è¡šã®ã°ã©ãã£ãã¯ã¹ãã¡ã¢ãªã«ä¿åãããæ¹æ³ã以äžã«ç€ºããŸãã


éè·¯ã®åºæ¬
ã©ã¹ã¿ãŒéè·¯ã®æŠèŠ
é ç¹ã3次å 空éã«æµ®éããŠããããªãŽã³å ã§3Då¹æãç¥èŠããããã«äœ¿çšãããŸãã ãã ããå€ãã³ã³ãã¥ãŒã¿ãŒã¯ãå€ãã®3次å ã³ã³ãã¥ãŒãã£ã³ã°ãåŠçããã®ã«ååãªã»ã©åŒ·åã§ã¯ãããŸããã§ããã ãããã£ãŠãã»ãšãã©ã®å Žåãå€ãã²ãŒã ã§ã¯ã©ã¹ã¿ãŒå¹æã䜿çšãããŠããŸããã ãããã¯ãå€æ°ãè¡ããšã«å€æŽããããšã«ããäœæãããç¹æ®å¹æã§ãã ããã¯ãããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã¹ã¯ããŒã«ã䜿çšããã€ã³ããã¯ã¹ã«ã©ãŒã¢ãŒãã䜿çšããå€ãã°ã©ãã£ãã¯ããŒããŠã§ã¢ã«é©ããŠããŸãã
æ¬äŒŒéè·¯ã®ã©ã¹ã¿ãŒå¹æã¯ãå®éã«ã¯ãã¹ããªãŒããã¡ã€ã¿ãŒIIã®é è¿å¹æãšã»ãŒåãæ¹æ³ã§äœæãããŸãããããã§ã¯ãéæ¢ç»åã3次å ã®é¯èŠãå ããããã«å€åœ¢ãããŸããã ãããã©ã®ããã«å®è£ ããããã§ãïŒ
ã»ãšãã©ã®ã©ã¹ã¿ãŒéè·¯ã¯ãå¹³åŠãªéè·¯ç»åã§å§ãŸããŸãã æ¬è³ªçã«ãããã¯ãå°çäžã®2æ¬ã®å¹³è¡ãªç·ãé ããŸã§äŒžã³ãŠããããšã瀺ãã°ã©ãã£ãã¯ã§ãã ããè·é¢ã§ã¯ããããã®ç·ã¯èŠ³å¯è ã«ã¯æ¥ç¶ãããŠããããã«èŠããŸãã ãããé è¿æ³ã®åºæ¬çãªã«ãŒã«ã§ãã ããã«ãåãã®é¯èŠãäœæããããã«ãã»ãšãã©ã®ã¢ãŒã±ãŒãã¬ãŒã·ã³ã°ã²ãŒã ã§ã¯éè·¯ã«è»ç·ãæãããŠããŸããã éè·¯äžã®ãããã®è»ç·ã®ç§»åã¯ãè²ãåšæçã«åãæ¿ããããåç·ã®ãã¬ãããå€æŽããããšã§éæãããŸããã ã«ãŒããšã¿ãŒã³ã¯ãã¹ããªãŒããã¡ã€ã¿ãŒIIã®ããã«ãåè¡ãç¬ç«ããŠã¹ã¯ããŒã«ããããšã§å®è¡ãããŸããã
次ã®ã»ã¯ã·ã§ã³ã§ã«ãŒããšã¿ãŒã³ãèŠãŠãããŸãã ãããŸã§ã®éãéè·¯ãåæ¹ã«ã¹ã¯ããŒã«ããããšã«éäžããŸãããã
æãåçŽãªé
äžèšã®éè·¯ã®ç»åãæ®åœ±ããŸããéè·¯ã®å³åŽãšå·ŠåŽã瀺ã2æ¬ã®å¹³è¡ç·ã§ãé ããŸã§å»¶ã³ãŠããŸãã ãªãã¶ãŒããŒããé¢ããŠã圌ãã¯è¿ã¥ããŠããŸãã ãããã©ã®ããã«èŠãããã®äŸã次ã«ç€ºããŸãã

ãã®ç»åã«ã¯ãè¯å¥œãªé è¿æãäœãåºãéè·¯æšç€ºããããŸããã ã²ãŒã ã§ã®ãã®å¹æã®ããã«ãä»ã®éè·¯æšç€ºã«å ããŠã亀äºã«æãçžãšæããçžã䜿çšãããŸãã ããããè¿œå ããã«ã¯ããã¯ã¹ãã£äœçœ®å€æ°ãå®çŸ©ããŸãããã ãã®å€æ°ã¯ãç»é¢ã®äžéšã§ã¯ãŒãã§ãããåè¡ãå¢ããã«ã€ããŠå¢å ããŸãã å€ãç¹å®ã®æ°å€ãäžåããšãéè·¯ã¯1ã€ã®é°åœ±ã§æãããŸãã å€ããã®æ°å€ãè¶ ãããšãç°ãªãè²åãã§æç»ãããŸãã æ倧å€ãè¶ ããåŸãäœçœ®å€æ°ã¯åã³ãŒãã«çãããªããç¹°ãè¿ããã¿ãŒã³ãäœæãããŸãã
ãã ããè¡ããšã«å€æŽããã ãã§ã¯ååã§ã¯ãããŸãããç°ãªãè²ã®ã¹ãã©ã€ããæ°æ¬ããåŸããããéè·¯ãåé€ããŠãæžå°ããªãããã§ãã ãã®ãããç¹å®ã®å€ã«ãã£ãŠå€åããå¥ã®å€æ°ãå¿ èŠã§ãã è¡ããšã«å¥ã®å€æ°ã«è¿œå ããŠããããã¯ã¹ãã£ã®äœçœ®ã®æåŸã®å€æŽã«è¿œå ããå¿ èŠããããŸãã
è·é¢ã«ç§»åãããšãåè¡ã®Zå€ãã©ã®ããã«å€åãããã®äŸã次ã«ç€ºããŸãã å€æ°ã®åŸã«ã次ã®è¡ã®å€ãååŸããããã«è¿œå ããå¿ èŠããããã®ãæžããŸããã å€ã«DDZïŒãã«ã¿-ãã«ã¿-ZïŒãDZïŒãã«ã¿-ZïŒãããã³Zãšããååãä»ããŸãããDDZã¯äžå®ã®ãŸãŸã§ãDZã¯çŽç·çã«å€åããZ-æ²ç·ã«æ²¿ã£ãŠå€åããŸãã Zã¯Zäœçœ®ã®åº§æšãDZã¯äœçœ®ã®é床ãDDZã¯äœçœ®ã®å é床ïŒå é床ã®å€åïŒãšã¿ãªãããšãã§ããŸãã ãã®äŸã§ã¯äŸ¿å©ãªãããå€ã4ãã¯ä»»æã«éžæãããããšã«æ³šæããŠãã ããã
DDZ = 4 DZ = 0 Z = 0 : dz += 4, z += 4<br>
DDZ = 4 DZ = 4 Z = 4 : dz += 4, z += 8<br>
DDZ = 4 DZ = 8 Z = 12 : dz += 4, z += 12<br>
DDZ = 4 DZ = 12 Z = 24 : dz += 4, z += 16<br>
DDZ = 4 DZ = 16 Z = 40 : ..
DZãæåã«å€æŽããã次ã«Zã®å€æŽã«äœ¿çšãããããšã«æ³šæããŠãã ãããããã¯æ¬¡ã®ããã«èª¬æã§ããŸãã4ã®é床ã§ãã¯ã¹ãã£ã移åãããšããŸããã€ãŸããæåã®è¡ã®åŸãäœçœ®4ã§ãã¯ã¹ãã£ãèªã¿åããŸãã次ã®è¡ã¯äœçœ®12ã«ãªããŸãã 24ã®åŸããããã£ãŠããã¯ã¹ãã£ã®ééã¯ãŸããŸãéããªããŸãã ãããã£ãŠããããã®å€æ°ãããã¯ã¹ãã£äœçœ®ãïŒèªã¿åããã¯ã¹ãã£ã®å ŽæïŒãããã¯ã¹ãã£é床ãïŒãã¯ã¹ãã£ãééããé床ïŒãããã³ããã¯ã¹ãã£å éãïŒãã¯ã¹ãã£é床ãå€åããé床ïŒãšåŒã³ãŸãã
ããŸãå€ãã®èšç®ãããã«æ²ç·ãäžãæãã®ã«åæ§ã®æ¹æ³ã䜿çšããŸãã ããã§ããã¯ã¹ãã£ã®åãã®é¯èŠãäœæããã«ã¯ãåãã¬ãŒã ã®ç»é¢ã®äžéšã«ãããã¯ã¹ãã£ã®äœçœ®ã®éå§ç¹ãå€æŽããã ãã§ãã
ãã®ããªãã¯ã®æ¬ ç¹ã«æ°ä»ããããããŸããïŒã¹ã±ãŒãªã³ã°ä¿æ°ã¯äžæ£ç¢ºã§ãã ããã¯æªã¿ã«ã€ãªãããŸãããããããªãŒãããŒã«å¹æããšåŒã³ãŸãã ãã®å€åœ¢å¹æã¯ãåæã®æ¬äŒŒ3次å ã²ãŒã ãããšãã°OutRunã«ååšããŠããŸãããéè·¯äžã®çžæš¡æ§ãå«ããªããžã§ã¯ãã¯ãç»é¢ã®äžå€®ããå€åŽã«ç§»åãããšé床ãäœäžããããã«èŠããŸããã
Zå€ãèŠã€ãããã®æ¹æ³ã«ã¯å¥ã®æ¬ ç¹ããããŸããç¹ã«äžã䜿çšããå Žåãåè·é¢ã§å€ãã©ããªãããäºæž¬ããã®ã¯ç°¡åã§ã¯ãããŸããã ããè€éãªæ¹æ³ãèŠã€ããŸãããããZããããšåŒã³ãŸãã ããã¯ãåç»é¢ã©ã¹ã¿ã©ã€ã³ã®è·é¢Zãèšç®ããããŒãã«ã§ãã ããããæåã«ãããå°ãæ°åŠãå¿ èŠã§ã...
æ°åŠãžã®é 足ïŒäžæ¬¡å éèŠæ圱
ãªãŒãããŒã«ã®å¹æãåãé€ãæ¹æ³ããããŸãã ãã ãããã®å®è£ ã«ã¯ãåŸæ¥ã®3次å æ°åŠã®ç¥èãå¿ èŠã§ãã 3D座æšã2DãµãŒãã§ã¹ã«é 眮ã§ããããã«ã3D座æšãå€æããæ¹æ³ãèŠã€ããå¿ èŠããããŸãã

äžã®å³ã§ã¯ãç®ïŒå·Šäžé ïŒãç»é¢ïŒéãåçŽç·ïŒãéããŠ3次å ã®äžçïŒãy_worldãïŒã®ãªããžã§ã¯ããèŠãŠããŸãã ç®ã¯ç»é¢ãããdistãã®è·é¢ã«ããããªããžã§ã¯ããããz_worldãã®è·é¢ã«ãããŸãã ãžãªã¡ããªãŸãã¯äžè§æ³ã䜿çšããŠããå Žåãåçã«ã¯äžè§åœ¢ã1ã€ã§ã¯ãªã2ã€ããããšã«æ°ä»ããããããŸããã æåã®äžè§åœ¢ã¯ãç®ããå³åŽã®è¡šé¢ãç®ãèŠãŠããç©äœãŸã§ã®å€§ããªäžè§åœ¢ã§ãã 2çªç®ã®äžè§åœ¢ãé»è²ã«å¡ããŸããã ããã¯ãç®ãç§ãã¡ããªããžã§ã¯ããèŠãã¹ã¯ãªãŒã³äžã®ç¹ããããŠè¡šé¢ã«ãã£ãŠåœ¢æãããŸãã
ãããã®2ã€ã®äžè§åœ¢ïŒç®ãããªããžã§ã¯ããžã®ç·ïŒã®æ蟺ã¯åãè§åºŠã«ãªã£ãŠããŸãããäžæ¹ã¯ä»æ¹ãããé·ããªã£ãŠããŸãã æ¬è³ªçã«ãããã¯åãäžè§åœ¢ã§ãããçž®å°ãããŠããã ãã§ãã ããã¯ã氎平蟺ãšåçŽèŸºã®æ¯çãåãã«ãªãããšãæå³ããŸãïŒ æ°åŠã¬ã³ãŒãïŒ
y_screen/dist = y_world/z_world
ããã§ãæ¹çšåŒãå€æããŠy_screenãååŸããå¿ èŠããããŸãã ååŸãããã®ïŒ
y_screen = (y_world*dist)/z_world
ã€ãŸããç»é¢äžã®ãªããžã§ã¯ãã®y座æšãèŠã€ããã«ã¯ãäžçã®y座æšãååŸããç®ããç»é¢ãŸã§ã®è·é¢ã§ä¹ç®ããäžçã®è·é¢ã§é€ç®ããŸãã ãã¡ããããããè¡ããšããã¥ãŒã®äžå¿ã¯ç»é¢ã®å·Šäžé
ã«ãªããŸãïŒ ããã確èªããã«ã¯ãåã«y_world = 0ã«çœ®ãæããŸãã äžå€®æãã«ããã«ã¯ãç»é¢è§£å床ã®ååãçµæã«è¿œå ããå¿
èŠããããŸãã 錻ãç»é¢ã«æŒãä»ããããŠãããšæ³åãããšãæ¹çšåŒã¯å°ãåçŽåã§ããŸãã ãã®å Žåãdist = 1ã 次ã®æ¹çšåŒãåŸãããŸãã
y_screen = (y_world/z_world) + (y_resolution/2)
ç»é¢ã®è§£å床ã«äŸåããªãããã«ãæ¯çãšè¡šç€ºè§åºŠãããã³ç»åã®ã¹ã±ãŒãªã³ã°ãšã®éã«é¢ä¿ããããŸãã ããããéè·¯ã®åé¡ã解決ããããã«ãç§ãã¡ã¯ãããå¿
èŠãšããŸããã èå³ã®ããæ¹ã¯ãäžé¢å³ã®å³ãã芧ãã ãããç»é¢ã®ç«¯ã«å¯Ÿããè§åºŠã¯å¯èŠé åã§ãããåãæ¥ç¶ãæ®ããŸãã
ãã®ä»ã®æ°åŠïŒ3次å
æ圱ã«ã¹ã³ãŒããè¿œå ãã
å®éãããã¯éåžž ãã»ãšãã©ã®ãããŒãããšã³ãžã³ã«ã¯å¿
èŠãããŸãã ã ããããããã¯ãæ圱ãã©ã¡ãŒã¿ãŒã解å床ã«äŸåããªãããã«ãå転ããå¿
èŠããããªããžã§ã¯ãã«ããŸãã¯çŽæ£ã®3Då¹æãšçµ±åããããã«äŸ¿å©ã§ãã
å
ã®æ圱åŒã«æ»ããŸãããã äžèšã®åŒããã®ãdistãå€ã¯ããã¹ã±ãŒãªã³ã°ããšåŒã°ããŸãã
y_screen = (y_world*scaling)/z_world + (y_resolution/2)
ã¢ã€ãã¢ã¯ãç»é¢äžã®ãã¹ãŠã®ãã€ã³ããäžå®éã ãã¹ã±ãŒãªã³ã°ããå¿
èŠããããšããããšã§ããããã«ãããå¯èŠãã€ã³ããã¹ã³ãŒãïŒèŠéãFOVïŒå
ã«åãŸãããã«ãªããŸãã x軞FOVãšy軞FOVã®å Žåã2ã€ã®å®æ°ãå¿
èŠã§ãã
ããšãã°ã640x480ã§äœæ¥ããŠãããFOVã60床ã«ããããšããŸãã åŽé¢å³ã§3次å
ã®æ圱å³ãèŠãŸããã ãã®å Žåãããããã¥ãŒã§æ圱ããã空éã®å³ãèŠãŠã¿ãŸãããã
åé¡ã解決ãã1ã€ã®æ¹æ³ã¯ããªããžã§ã¯ããFOVã®å³åŽã«ããå Žåãx = 640ã§ç»é¢ã«è¡šç€ºãããããšãåãå
¥ããããšã§ãïŒç»é¢è§£å床ã¯640x480ã§ããããïŒã å³ãèŠããšãFOVã¯2ã€ã®çŽè§äžè§åœ¢ã«åå²ã§ããããããã®è§åºŠã¯fov_angle / 2ïŒa / 2ïŒã§ãã ãŸããFOVã¯åéã§ãããããFOVã®å³ç«¯ã«ãããªããžã§ã¯ããã€ãŸã x = R * sinïŒa / 2ïŒããã³
z = R * cosïŒa / 2ïŒãããã§Rã¯ä»»æã®ååŸå€ã§ãã ããšãã°ãR = 1ãåãããšãã§ããŸãã ãããŠãx_screen = 640ã®ç»é¢ã«ãªããžã§ã¯ãã衚瀺ããå¿
èŠããããŸãã 以äžãååŸããŸãïŒåºæ¬çãªæ圱åŒãèæ
®ã«å
¥ããŸãïŒïŒ
x_screen=640 fov_angle=60 y_world=sin(60/2) z_world=(60/2) x_resolution/2=320 scaling=?
x_screen = (y_world*scaling)/z_world + (x_resolution/2)
640 = (sin(30)*scaling/cos(30)) + 320
320 = tan(30)*scaling
320/tan(30) = scaling
: scaling = (x_resolution/2) / tan(fov_angle/2)
/ 2ã30ïŒ60床ããååïŒã«çœ®ãæããsin / cos = tanãããã³åºæ¥äžãããšæå®ããŸããïŒ ããã確èªããã«ã¯ããªããžã§ã¯ããã¹ã³ãŒãã®å³ç«¯ã«çœ®ãããããã®å€ãå
ã®æ圱æ¹çšåŒã«ä»£å
¥ããXãå€640ããšãããšã確èªããŸããããšãã°ã座æšïŒ20ã34.64ïŒã®ãã€ã³ãïŒxãzïŒã¯X = 640ã«ãªããŸãã 20ã¯40 * sinïŒ30ïŒã§ããã34.64ã¯40 * cosïŒ30ïŒã§ãã
æ°Žå¹³ïŒxïŒè»žãšåçŽïŒyïŒè»žã®FOVå€ã¯ãæ°Žå¹³äœçœ®ã®æšæºã¢ãã¿ãŒãšã¯ã€ãã¹ã¯ãªãŒã³ã¢ãã¿ãŒã§ã¯ç°ãªãããšã«æ³šæããŠãã ããã
ããæ£ç¢ºãªéïŒZã«ãŒãã®äœ¿çš
äºæ³ãããåé¡ã解決ããã«ã¯ãç»é¢ã®åè¡ã®è·é¢ã®äºåèšç®æžã¿ãªã¹ããäœæããå¿
èŠããããŸãã ã€ãŸããåé¡ã¯å¹³é¢ã3Dã§èšè¿°ããããšã§ãã
ãããã©ã®ããã«æ©èœããããç解ããããã«ãæåã«2次å
ã®ã¢ããã°ïŒã©ã€ã³ãæ³åããŠãã ããïŒ 2Dã§æ°Žå¹³ç·ãèšè¿°ããããã«ãå座æšãã¢ïŒxãyïŒã«ã€ããŠãy座æšã¯åãã§ãããšèšããŸãã
3次å
空éã«åã蟌ããšãç·ã¯å¹³é¢ã«ãªããŸããè·é¢xãšzããšã«ãy座æšã¯åããŸãŸã§ãã å¹³ããªæ°Žå¹³é¢ãèæ
®ããå Žåãã«ã¡ã©ã®äœçœ®ã¯é¢ä¿ãããŸãããyã¯äžå®ã§ãã ãŸãããã€ã³ããå·ŠãŸãã¯å³ã«ã©ãã ãé¢ããŠãããã¯éèŠã§ã¯ãããŸãããyã®å€ã¯åžžã«åãã§ãã
ç»é¢ã®åè¡ãŸã§ã®è·é¢ã調ã¹ãããšã«æ»ããŸãããããªã¹ããZã«ãŒããšåŒã³ãŸãã Zã«ãŒãã®èšç®ã®åé¡ã¯ãåã¹ã¯ãªãŒã³Yã®Zå€ãèŠã€ããããã«3次å
æ圱åŒãå€æããããšã§ãïŒ
ãŸããåã®ã»ã¯ã·ã§ã³ã®åŒã䜿çšããŸãã
Y_screen = (Y_world / Z) + (y_resolution / 2)
Y_screenïŒåè¡ïŒãããã®ã§ãæ¹çšåŒãå€æããŠZãèŠã€ããŸãã
Z = Y_world / (Y_screen - (height_screen / 2))
Y_worldå
šäœã¯ãå°é¢ãšã«ã¡ã©ã®é«ãã®å·®ã§ãããè² ã®å€ã«ãªããŸãã åºæã®æ®µèœã§è¿°ã¹ãããã«ãç§ãã¡ã¯ãŸã å¹³åŠãªéè·¯ã«é¢å¿ãããã®ã§ãåè¡ã§åãã§ãã éè·¯ãããæ確ã«èŠããããªãŒãããŒã«å¹æããåé¿ãããšããäºå®ã«å ããŠããã1ã€ã®å©ç¹ããããŸããæ倧ã¬ã³ããªã³ã°è·é¢ã®èšç®ã®åçŽãã§ãã
éè·¯ã¯ããã®ãããã¡ãèªã¿åãããšã§ç»é¢äžã«é
眮ãããŸããè·é¢ããšã«ãéè·¯ãã¯ã¹ãã£ã®ã©ã®éšåãããã«å±ããŠãããã調ã¹ãå¿
èŠããããŸãããã¯ã¹ãã£ã®åã©ã€ã³ãŸãã¯ãã¯ã»ã«ãå ãããŠãããæ°ã«æ³šæããŠãã ããã
ç»é¢ã®åè¡ã®è·é¢ã¯ããã£ãŠããŸãããéè·¯ã®å¹
ãŸãã¯ãºãŒã ãã¡ã¯ã¿ãŒã®ãããããåè¡ã«ãã£ãã·ã¥ãããšäŸ¿å©ã§ãã ã¹ã±ãŒãªã³ã°ä¿æ°ã¯éžæãããè·é¢ãšã¯å察ã§ããããããã¬ãŒã€ãŒã®è»ã®ã°ã©ãã£ãã¯ã€ã¡ãŒãžãæãäœçœ®ããã©ã€ã³äžã®å€ã¯1ã«çãããªããŸããããã¯ãç¹å®ã®ã©ã€ã³äžã®ã¹ãã©ã€ãã®ã¹ã±ãŒãªã³ã°ãŸãã¯éè·¯ã®å¹
ã®æ±ºå®ã«äœ¿çšã§ããŸãã
ã«ãŒããšã¿ãŒã³
ãã³ããäœæãã
éè·¯æ²ç·ãäœæããã«ã¯ãæ²ç·ã®åœ¢ç¶ã®äžå¿ç·ã®äœçœ®ãå€æŽããã ãã§ãã ãããè¡ãã«ã¯ãããã€ãã®æ¹æ³ã䜿çšã§ããŸãã 1ã€ã®æ¹æ³ã¯ããæãç°¡åãªæ¹æ³ãã»ã¯ã·ã§ã³ã§Zäœçœ®ãäœæãããã®ãšåãæ¹æ³ã§ãã3ã€ã®å€æ°ã䜿çšããŸãã ã€ãŸããç»é¢ã®äžéšããéå§ããŠãéè·¯ã®äžå¿ãåç·ã®å·ŠãŸãã¯å³ã«ç§»åããå€ãçå®ã«å¢å ããŸãã ãã¯ã¹ãã£ãèªã¿åãå Žåãšåæ§ã«ããããã®å€æ°ã¯äžå¿ç·ïŒæ²ç·ïŒã®äœçœ®ãæ²ç·ã®é床ãããã³æ²ç·ã®å é床ãšèŠãªãããšãã§ããŸãã
ãã ãããã®æ¹æ³ã«ã¯åé¡ããããŸãã ãã®1ã€ã¯ãSåæ²ç·ãäœæããã®ã¯ããŸã䟿å©ã§ã¯ãªãããšã§ãã å¥ã®å¶éïŒæ²ããè§ãžã®å ¥ãå£ã¯ãæ²ããå£ã®åºå£ãšãŸã£ããåãã«èŠããŸãïŒéè·¯ãæ²ããããã®åŸæ²ãããŸãã
ç¶æ³ãæ¹åããããã«ãéè·¯ã»ã°ã¡ã³ãã®æŠå¿µãå°å ¥ã§ããŸãã éè·¯ã»ã°ã¡ã³ãã¯ããã¬ã€ã€ãŒã«ã¯èŠããªãéšåã§ãã ãããç®ã«èŠããªãæ°Žå¹³ã»ãã¬ãŒã¿ãŒãšèŠãªãããšãã§ãããã®ç·ã®äžã«éè·¯ã®æ²çã確ç«ããŸãã ãã€ã§ãããããã®ã»ã°ã¡ã³ãåãããä»åãã®1ã€ã¯ç»é¢ã®äžéšã«ãããããäžæ¹ã¯äžå®ã®ããŒã¹ã§æäžéšãŸã§äžãããŸãã éè·¯ã®åææ²çãå®çŸ©ãããããäžéšã»ã°ã¡ã³ããåºæ¬ãšåŒã³ãŸãããã ä»çµã¿ã¯æ¬¡ã®ãšããã§ãã
éè·¯ã®æç»ãéå§ãããšããåºç¹ãèŠãŠãããã«å¿ããŠã¬ã³ããªã³ã°ãªãã·ã§ã³ãèšå®ããããšããå§ããŸãã ã¿ãŒã³ãè¿ã¥ããšãã»ã°ã¡ã³ãã®ç·ã¯é¢ããŠãããäžå®ã®ããŒã¹ã§ç»é¢ãäžãå¿ èŠãããããšãé€ããŠãä»ã®éè·¯ãªããžã§ã¯ããšã»ãšãã©åãããã«ãã¬ãŒã€ãŒã«è¿ã¥ããŸãã ã€ãŸãããã¬ãŒã€ãŒã移åããç¹å®ã®é床ã§ãã»ã°ã¡ã³ãã¹ããªãã¿ãŒã¯ãã¬ãŒã ããšã«åãè¡æ°ã ãç»é¢ãããããããŠã³ããŸãã ãŸãã¯ãZã«ãŒãã䜿çšããå Žåããã¬ãŒã ããšã«åãæ°ã®Zã«ãŒãèŠçŽ ã 3Dãªããžã§ã¯ãããã©ãã¯äžã§è¡ãããã«ãã»ã°ã¡ã³ãããã¬ãŒã€ãŒã«åãã£ãŠãå éãããå Žåãéè·¯ã¯ããŸãã«ãæ¥ã«ãŒãããŸãã
ä»çµã¿ãèŠãŠã¿ãŸãããã å·Šã«ãŒãã®ã»ã°ã¡ã³ãã©ã€ã³ãååäžãã£ãŠãããããŒã¹ã»ã°ã¡ã³ããçŽç·éè·¯ã§ãããšããŸãã éè·¯ãæããšããââãå·Šã«ãŒããã®ã»ã°ã¡ã³ãã«ééãããŸã§æ²ããå§ããŸããã ãã®åŸãéè·¯æ²ç·ã¯ããã®ãã€ã³ãã§ç€ºãããããŒã¹ã§å€åãå§ããŸãã 移åã»ã°ã¡ã³ããç»é¢ã®äžéšã«éãããšããããæ°ããããŒã¹ã»ã°ã¡ã³ãã«ãªããåã®ããŒã¹ã»ã°ã¡ã³ããéè·¯ã®äžéšã«äžãããŸãã
2æ¬ã®éè·¯ã次ã«ç€ºããŸãã1æ¬ã®çŽç·ã«ç¶ããŠå·Šæãããã1æ¬ã®éè·¯ãå·Šã«æ²ãã£ãåŸãçŽç·ã«ããŸãã ã©ã¡ãã®å Žåããã»ã°ã¡ã³ãã®äœçœ®ã¯Zã«ãŒãã®ååäžïŒãŸãã¯ç»é¢ã®ååäžïŒã§ãã ã€ãŸããéè·¯ã¯æ²ããå§ããããéè·¯ã®éäžã§ãŸã£ããã«ãªããŸãã æåã®åçã§ã¯ãã«ã¡ã©ãå転ãéå§ãã2çªç®ã®åçã§ã¯ãã«ã¡ã©ãå転ãçµäºããŸãã


ãããŠãåããã¯ããã¯ãšã»ã°ã¡ã³ãã®åãäœçœ®ãSã«ãŒãã«é©çšãããŠããŸãã

ã»ã°ã¡ã³ãã®äœçœ®ã远跡ããæè¯ã®æ¹æ³ã¯ãZã«ãŒãäžã®ã©ãã«ããããå€æããããšã§ãã ã€ãŸããã»ã°ã¡ã³ãã®äœçœ®ãç»é¢äžã®Yã®äœçœ®ã«çµã³ä»ããã«ãZã«ãŒãäžã®äœçœ®ã«ã¹ãããããŸãã ãããã£ãŠãããã¯ãŸã éè·¯ã®å°å¹³ç·ããå§ãŸããŸãããäžã§ã®äœæ¥ã¯ã¯ããã«äŸ¿å©ã«ãªããŸãã é«ããå€æŽããªãå¹³åŠãªéè·¯ã§ã¯ãã»ã°ã¡ã³ãã®äœçœ®ã远跡ããããã2ã€ã®æ¹æ³ã¯äŒŒãŠããããšã«æ³šæããŠãã ããã
äžèšãã³ãŒãã§èª¬æããŸãããïŒ
current_x = 160 // 320 dx = 0 // , ddx = 0 // , , : Z- segment.position: dx = bottom_segment.dx Z - segment.position: dx = segment.dx "" ddx += dx current_x += ddx this_line.x = current_x "" // segment_y += constant * speed // , segment.position < 0 // 0 - bottom_segment = segment segment.position = zmap.length - 1 // segment.dx = GetNextDxFromTrack() // ""
ãã®æ¹æ³ã§æ²ç·ãå®è£ ããããšã®å€§ããªå©ç¹ã®1ã€ã¯ãçŽç·éè·¯ãç¶ãæ²ç·ãããå Žåããã¬ã€ã€ãŒã¯æ²ç·ãåºããšãã«çŽç·éè·¯ãèŠãããšãã§ããããšã§ãã åæ§ã«ãæ²ç·ã®åŸã«ä»ã®æ¹åã®æ²ç·ïŒãŸãã¯åãæ¹åã®ããæ²ç·ã®æ²ç·ïŒãç¶ããŠããå Žåããã¬ãŒã€ãŒã¯ã«ãŒãã®ãã®æ¬¡ã®ã»ã¯ã·ã§ã³ãèŠãããšãã§ããŸãã
é¯èŠãå®æãããã«ã¯ãå°å¹³ç·ã°ã©ãã£ãã¯ãè¿œå ããå¿ èŠããããŸãã æ²ç·ãè¿ã¥ããšãæ°Žå¹³ç·ã¯å€åããŸããïŒãŸãã¯ãããã«ç§»åããŸãïŒã 次ã«ãæ²ç·ãå®å šã«æããããšãè»ãããã«æ²¿ã£ãŠå転ããŠãããšæ³å®ãããæ°Žå¹³ç·ã¯æ²ç·ãšå察æ¹åã«ãã°ããã¹ã¯ããŒã«ããŸãã æ²ç·ãåã³çã£çŽãã«ãªããšãèæ¯ã¯æ²ç·ãçµãããŸã§ã¹ã¯ããŒã«ãç¶ããŸãã ã»ã°ã¡ã³ãã䜿çšããå ŽåãããŒã¹ã»ã°ã¡ã³ãã®èšå®ã«åŸã£ãŠå°å¹³ç·ãåçŽã«ã¹ã¯ããŒã«ïŒã¹ã¯ããŒã«ïŒã§ããŸãã
äžè¬æ²ç·åŒ
ãæãåçŽãªéãã®ã»ã¯ã·ã§ã³ã§è©³çŽ°ã«èª¬æãããŠããæ²ç·ã®ãã¯ããã¯ãç 究ããŠãèå³æ·±ãçµè«ãå°ãåºãããšãã§ããŸãã ãã®çµè«ã¯ãäžèšã®è³æãããæ°åŠã«é¢ãããã®ã§ãããã°ã©ãã£ãã¯ãšã³ãžã³ã解å床ã«äŸåããŠã¯ãªããªãå Žåããäžã®ã»ã¯ã·ã§ã³ã§èª¬æããã3dæ圱ã»ã°ã¡ã³ããæè¡ã䜿çšããå Žåã¯ãå®å šã«ã¹ãããã§ããŸãã
ãæãåçŽãªéè·¯ãã»ã¯ã·ã§ã³ã®ãZãã䜿çšããæ²ç·ã®äŸãèãããšãäžããããç·ã®zäœçœ®ïŒãŸãã¯xäœçœ®ïŒã¯äžé£ã®æ°åã®å¢å ã®åèšïŒ1 + 2 + 3 + 4ãªã©ïŒã§ããããšãããããŸãã ãã®ãããªã·ãªãŒãºã¯ãç®è¡çŽæ°ãŸãã¯ç®è¡çŽæ°ãšåŒã°ããŸãã 1 + 2 + 3 + 4ã®ä»£ããã«2 + 4 + 6 + 8ãŸãã¯2 * 1 + 2 * 2 + 2 * 3 + 2 * 4ã䜿çšãããšãããã·ã£ãŒããªæ²ç·ãåŸãããšãã§ããŸãã ãã®å Žåã®ã2ãã¯å€æ°segment.dxã§ãã ãŸãã2ïŒ1 + 2 + 3 + 4ïŒãååŸããŠå æ°å解ããããšãã§ããŸãïŒ ããã§å¿ èŠãªã®ã¯ã1 + 2 + ... + Nãèšè¿°ããåŒãèŠã€ããããšã§ããããã§ãNã¯æ²ç·ãæ§æããç·ã®æ°ã§ãã ç®è¡çŽæ°ã®åèšãNïŒN + 1ïŒ/ 2ã§ããããšãç¥ãããŠããŸãããããã£ãŠãåŒã¯s = A * [NïŒN + 1ïŒ/ 2]ãšæžãããšãã§ããŸããããã§ãAã¯æ²ç·ã®éãã§ãsã¯åèšã§ãããã®åŒãå€æããŠãç»é¢ã®äžéšããéè·¯ã®äžå¿ãªã©ã®éå§ç¹ãè¿œå ããããšãã§ããŸãã ãxãã§è¡šããšãs = x + A * [NïŒN + 1ïŒ/ 2]ã«ãªããŸãã
ããã§ãæ²ç·ãèšè¿°ããåŒãã§ããŸããã ãæ²ç·ã®ç·ã®éå§ç¹xãšNãç¥ã£ãŠããã®ã§ãæ²ç·ãsã«çããxäœçœ®ã®çµããã«å°éããããã«Aã¯ã©ãããã¹ããããšãã質åã«å¯ŸããçããååŸããŸãã / [nïŒn + 1ïŒ]ãããã¯ãç¹å®ã®æ²ç·ã®ã·ã£ãŒããã¹ãäœçœ®Xã«å¯ŸããŠä¿åã§ããããšãæå³ããŸããããã«ãããã°ã©ãã£ãã¯ãšã³ãžã³ã解å床ã«äŸåããªããªããŸãã
èŠç¹ã®ããã
ã²ãŒã ã®ã¿ãŒã³äžã«è»ã®ã¹ãã©ã€ãã ããåãå Žåã¯ãããã»ã©é¢çœããããŸããããããã£ãŠããã¬ã€ã€ãŒã®è»ã®ã¹ãã©ã€ãã移åãã代ããã«ãç»é¢ã®äžå€®ã«çœ®ããŠéè·¯ã移åããŸããããã«éèŠãªããšã¯ãç»é¢ã®åéšïŒã€ãŸãäžéšïŒã®äžå¿ç·ã®äœçœ®ã移åããŸããããã§ããã¬ã€ã€ãŒã¯åžžã«éè·¯ãèŠããšæ³å®ããŠãããããéè·¯ã®çµç¹ãç»é¢ã®äžå€®ã«èšå®ããŸããããã«ã¯ãéè·¯ã®è§åºŠãå€ããå¿ èŠããããŸãããããã£ãŠãç»é¢ã®äžå¿ãšéè·¯ã®æ£é¢ã®äœçœ®ãšã®å·®ãèšç®ããéè·¯ã°ã©ãã£ãã¯ã®é«ãã§å²ããŸããããã«ãããåã©ã€ã³äžã§éè·¯ã®äžå¿ã移åããããã®å€ãåŸãããŸãã
ã¹ãã©ã€ããšããŒã¿
ãªããžã§ã¯ãã®äœçœ®ãš
ã¹ãã©ã€ãã®ã¹ã±ãŒãªã³ã°ã¯ãèé¢ããåé¢ã«åãã£ãŠæç»ããå¿ èŠããããŸãããã®æ¹æ³ã¯ãã¢ãŒãã£ã¹ãã®ã¢ã«ãŽãªãºã ãšåŒã°ããããšããããŸãããããè¡ãã«ã¯ãåãªããžã§ã¯ããç»é¢äžã®ã©ãã«æç»ããããäºåã«æ±ºå®ããããŸããŸãªæ®µéã§ãªããžã§ã¯ããæç»ããå¿ èŠããããŸãã
ããã¯æ¬¡ã®æ¹æ³ã§è¡ãããŸããéè·¯ãæããšãã«Zãããã«æ²¿ã£ãŠç§»åãããšããåã¹ãã©ã€ããé¢é£ä»ããå¿ èŠãããç»é¢ã®è¡ãã¡ã¢ããå¿ èŠããããŸããã¹ãã©ã€ããZã§ãœãŒããããå Žåãããã¯ç°¡åã§ãïŒZã«ãŒãã®æ°ããå€ãèªã¿åããã³ã«ã次ã®ã¹ãã©ã€ãã®Zäœçœ®ãZã«ãŒãã®çŸåšã®å€ãããã«ã¡ã©ã«è¿ããã©ããããŸãã¯çãããã©ããã確èªããå¿ èŠããããŸãããã®å Žåãã¹ãã©ã€ãã®ç»é¢äœçœ®YãçŸåšã®è¡ã«å±ãããã®ãšããŠããŒã¯ããŸãã次ã«ãåãæ¹æ³ã§æ¬¡ã®ã¹ãã©ã€ãã確èªããŸãã Zå ã®äœçœ®ãçŸåšã®äœçœ®ãããé ããªã¹ãããã¹ãã©ã€ããååŸãããŸã§ããã®ããã»ã¹ãç¶ããŸãã
æœèšã®äœçœ®Xã¯ãéè·¯ã®äžå¿ã«å¯ŸããŠç£èŠããå¿ èŠããããŸãã次ã«ãã¹ãââã©ã€ããæ°Žå¹³æ¹åã«é 眮ããæãç°¡åãªæ¹æ³ã¯ãå€ã«çŸåšã®è¡ã®ã¹ã±ãŒã«ä¿æ°ïŒZã®éæ°ïŒãä¹ç®ããçµæãéè·¯ã®äžå¿ã«è¿œå ããããšã§ãã
ãã©ãã¯ããŒã¿ã®ä¿å
éè·¯ã§æåã®ãã¢ãè¡ã£ããšããç¹å®ã®è·é¢ã§çºçããã€ãã³ãã®ãªã¹ãã«ã¬ãã«æ å ±ãä¿åããŸããããã¡ãããè·é¢ã¯ãã¯ã¹ãã£äœçœ®ã®åäœã§ç€ºãããŸãããã€ãã³ãã¯ãã«ãŒããéå§ããã³çµäºããããŒã ã§æ§æãããŠããŸãããç§ãèŠããŠããéããéè·¯ãæ²ããå§ããŠæ²ããé床ã¯ä»»æã§ããå¯äžã®ã«ãŒã«ã¯ããã¬ãŒã€ãŒã®è»ã®é床ãšäžèŽããå¿ èŠããããšããããšã§ãã
ãã ããã»ã°ã¡ã³ãåãããã·ã¹ãã ã䜿çšããå Žåã¯ãåçŽã«ã³ãã³ãã®ãªã¹ãã䜿çšã§ããŸããåããŒã ãåãè·é¢ã¯ãäžå¯èŠã®ã»ã°ã¡ã³ããç»é¢ã®äžéšã«ç§»åããé床ã«äŒŒãŠããŸãããŸããã¿ã€ã«ãããã«é©ãããã©ãã¯åœ¢åŒãäœæããŠãããªãçŸå®çãªãã©ãã¯ãžãªã°ã©ãã£ãŒãäŒããããšãã§ããŸããã€ãŸããåã¿ã€ã«ã1ã€ã®ã»ã°ã¡ã³ãã«ããããšãã§ããŸããæ¥ã«æ²ãããšããã©ãã¯ã90床å転ããããæ»ããã«-45床å転ããŸãã
éè·¯ã®ãã¯ã¹ãã£ãªã³ã°
ããã§ãçŸåšäœæããŠããç·ãå€æŽãã代ããã«ãéè·¯ã§å®éã®ã°ã©ãã£ãã¯ãã¯ã¹ãã£ã䜿çšããããšãã§ããŸãããããè¡ãã«ã¯ãããã€ãã®æ¹æ³ã䜿çšã§ããŸããå®ããŠç°¡åãªæ¹æ³ïŒéè·¯çšã«ããã€ãã®ãã¯ã¹ãã£ãæºåããŸãïŒç·ã亀äºã«ããå¹æã®ããïŒãéè·¯ã®åæ°Žå¹³ç·ãæããšããââãã®ç·ã®å¹ ãšäžèŽããããã«ãã¯ã¹ãã£ãåŒã䌞ã°ãå¿ èŠããããŸãããŸãã¯ãã¹ãã¬ãããäžå¯èœãªå Žåã¯ãéè·¯ã®2ã€ã®å®å šãªããããããã®ãã¡ã®1ã€ã®è¡ãéžæããå¿ èŠããããŸãïŒOutrunnersã䜿çšããã¢ãããŒãïŒã
éè·¯ãããæ£ç¢ºã«èŠãããå Žåã¯ãåã©ã€ã³ã®Zãã°ã©ãã£ãã¯ãã¯ã¹ãã£ã®ã©ã€ã³çªå·ã«å¯Ÿå¿ãããŸãããããŠåºæ¥äžããïŒç¹ãç®å å·¥ã®éè·¯ïŒ
ãã ããå€åããè²ã®ã¹ãã©ã€ãã®ã¿ãå¿ èŠãªå Žåãç¹ã«åºå®å°æ°ç¹ã䜿çšããå Žåãçãã¯ããã«ç°¡åã§ããZããšã«ããããã®1ã€ãéè·¯ã®é°åœ±ãè¡šãããã«ããå¿ èŠããããŸãïŒæããŸãã¯æããïŒã次ã«ããã®ãããã®ããã«è±ããé©åãªéè·¯ãã¿ãŒã³ãæç»ããŸãã
ãã«ãº
äžã®ããªãšãŒã·ã§ã³
äžã®å¹æãäœæããæ¹æ³ã¯ãã»ãŒç¡éã«ããããã§ãããã«ãšãã§ã¯ãã¯ãããŸããŸãªå¹ŸäœåŠç粟床ã§äœæã§ããŸããã粟床ã®äœããã¯ããã¯ã䜿çšãããšãã説åŸåã®ããçµæãåŸãããŸãã 2ã€ã®å¯èœãªæ¹æ³ãæ€èšããŸãã
åœã®äž
å€ãã®å®éšã®åŸãç§ã¯äžãã·ãã¥ã¬ãŒãããæè»ãªæ¹æ³ãæãä»ããŸãããããã«ãå°å¹³ç·ã®äžã®ãªããžã§ã¯ããæ£ç¢ºã«è¿œè·¡ããŸããããã¯ãã¹ã±ãŒãªã³ã°ãšå€åœ¢ãåçŽæ¹åã®éè·¯ã®äŒžé·ãšå§çž®ã®å¹æã§ããäžã®æ²çãçæããããã«ãæ²ç·ã®æç»ã«äœ¿çšãããã®ãšåãåèšããªãã¯ã䜿çšããŸãã
æ¹æ³ã¯æ¬¡ã®ãšããã§ãããŸããã¬ã³ããªã³ã°ãµã€ã¯ã«ã¯Zã«ãŒãã®å é ïŒæãè¿ãïŒããéå§ããæåŸïŒæãé ãïŒã«éãããšåæ¢ããå¿ èŠããããŸããåç·ã®ã¬ã³ããªã³ã°äœçœ®ã1æžãããšãéè·¯ã¯å¹³ãã«æç»ãããŸãããã ããåã©ã€ã³ã®ã¬ã³ããªã³ã°äœçœ®ã2æžãããšãéè·¯ã®ã©ã€ã³ã2åã«ãªããšãéè·¯ã¯2åã®é«ãã«ãªããŸãããããŠæåŸã«ãåç·ã®æç»äœçœ®ã®æžå°å€ãå€ããããšã§ãå¹³é¢ããå§ãŸãäžæããäžãæãããšãã§ããŸãã次ã®ã¬ã³ããªã³ã°äœçœ®ãçŸåšã®ã¬ã³ããªã³ã°äœçœ®ãã1è¡ä»¥äžé¢ããŠããå ŽåãZãããã®çŸåšã®è¡ã¯å°éãããŸã§ç¹°ãè¿ãããã¹ã±ãŒãªã³ã°å¹æãäœæãããŸãã
äžããã®éäžãåæ§ã®æ¹æ³ã§è¡ãããŸããã¬ã³ããªã³ã°äœçœ®ãæžå°ããã®ã§ã¯ãªããå¢å ããå ŽåãæåŸã«æç»ãããç·ã®äžã«ç§»åããŸãããã¡ãããæ°Žå¹³ç·ã®äžã®ç·ã¯ç»é¢ã«è¡šç€ºãããŸãããæåŸã®ç·ã®1ã€ä»¥äžã®ãã¯ã»ã«ã®ç·ã®ã¿ãæç»ãããŸãããã ããå°å¹³ç·ã®äžã®ãªããžã§ã¯ãã远跡ããå¿ èŠããããŸãããããè¡ãã«ã¯ãZã«ãŒããåããšãã«åã¹ãã©ã€ãã®Yäœçœ®ãèæ ®ããŸããå¹³åŠãªéè·¯ã«å¿ èŠãªãµã€ãºããã倧ããZã«ãŒããäœæãããšåœ¹ç«ã€å ŽåããããŸãããããã£ãŠããããã¡ãŒãåŒã䌞ã°ããããšãã«ããã¯ã»ã«ãé床ã«å€§ãããªãããšã¯ãããŸããã
次ã«ããã¬ã€ã€ãŒãçŽåŸã§ããããã«æ°Žå¹³ç·ã移åããå¿ èŠããããŸããç§ã¯ã²ãŒã ãããŒã¿ã¹ãã®ã¹ã¿ã€ã«ã§èæ¯ã䜿çšããã®ã奜ãã§ãããã®äžã§å°å¹³ç·ã¯ç©ºã®èŒªéã ãã§ãªããé ãã®åå°ã®ã°ã©ãã£ãã¯ã¹ãããæãç«ã£ãŠããŸããäžãäžãããšïŒèŠèªæ§ãåäžããŸãïŒãå°å¹³ç·ã¯éè·¯ã®äžéšã«å¯ŸããŠãããã«äœããªããŸããäžãäžãã£ãŠã«ã¡ã©ãäžã®äžã«ãéæ¢ããããšïŒç¯å²ãå¶éãããïŒãå°å¹³ç·ãäžããã¯ãã§ãã
ãã¡ãããå°å¹³ç·ã®ã°ã©ãã£ãã¯ãªãã§ãäžããéããŠç»ãå¹æã¯æ¬¡ã®ããã«ãªããŸãã


é·æ
- äœãèšç®è² è·ïŒä¹ç®ãŸãã¯é€ç®ã¯äžèŠ
- äžã®è£ã«ãã远跡察象ç©
- èŠéè§ã¯ãäžãé§ãæãããã¬ã€ã€ãŒã«è¿œåŸããããã§ã
çæ
- æ£ç¢ºãª3Dãžãªã¡ããªã¯äžå¯èœ
:
ãããã®çŽ¯ç©æ²ç·åŒã¯ãã¯ã¬ã€ãžãŒãªæ²ç·ã巚倧ãªäžãå¿ èŠãªãå Žåã«æè»ã«äœ¿çšã§ããŸãããã®ãããªããªãã¯ã䜿çšããå€ãã®ã²ãŒã ã§ã¯ãéè·¯ãéåžžã«éãã¹ã¯ããŒã«ãããããå°ããªã«ãŒãã§ã説åŸåããããŸãã
ãã ããããå°è±¡çãªéè·¯ãäœæããã«ã¯ãå¹æãèªåŒµããå¿ èŠãããå ŽåããããŸãããããã®æ²ç·åŒã§ã¯é«ãddxãŸãã¯ddyå€ã䜿çšã§ããŸãããdxãŸãã¯dyã¯åŠ¥åœãªå€ãè¶ ããŠã¯ãªããŸããã YouTubeãŠãŒã¶ãŒã®Foppygamesã¯ããããã®æ°åŒããããæ¥ãªæ²ç·ãäœæããããã«å¥ã®ããªãã¯ãçºèŠããŸãããåè¡ã«ã€ããŠãdxãŸãã¯dyã®å€ã«zã®å€ãæããŸããããã«ãããåæ¯ãããé ãã§æ²ç·ãæ¥åŸé ã«ãªããããªã説åŸåã®ããå¹æãåŸãããŸãã
ãããŠãå®éšã¯ããã§çµãããŸãããå®éããããã®ãšã³ãžã³ã®æ倧ã®å©ç¹ã¯ãããããå®è£ ãããæ£ãããæ¹æ³ããªãããšã§ããç®ã«åªããæ²ç·ãšæ²ãããäœæãããã¹ãŠã®ãã®ã¯ãããããç¹ã§æè¿ãããŠããŸãïŒæåã®éè·¯ãšã³ãžã³ã§ã¯ãæ£åŒŠæ²ç·ã®æ€çŽ¢ããŒãã«ã䜿çšããŠéè·¯ãæ²ããŸããã
ä¹ç®ã䜿çšããããšãã§ããŸããããšãã°ãéè·¯ãå³ã«ã·ããããã«ã¯ãåè¡ã®xäœçœ®ã«1.01ãä¹ç®ããŸããåãéã ãå·Šã«ã·ããããã«ã¯ã0.99ãŸãã¯1 / 1.01ïŒ1.01ã®éæ°ïŒãæããå¿ èŠããããŸããããããå€ãã®å€ãããã»ããµã¯ä¹ç®æŒç®ãæããªãããããã«åŒ±ããšããç¥èãæŠåšã«ãå ç®ã®ã¿ã䜿çšããããã环ç©ææ³ã«æ±ºããŸãããéè·¯ã«æ²ãããäœæãããããæ¬ç©ã®ãæ¹æ³ã®ããã«æããŸããã
OutRunãªã©ã®äžéšã®ã²ãŒã ã¯ãåçŽãªã¹ãã©ã€ã³ã·ã¹ãã ã䜿çšããŸãïŒå°ãªããšããªããŒã¹ãšã³ãžãã¢ãªã³ã°ã«åºã¥ããŠäœæãããC ++ Cannonballã®åªããããŒãã«ãã£ãŠå€æããŸãã
ããã§ã¯ããã¬ã€ããŠå®éšããããšã§ãæé©ãªãã¯ããã¯ãéžæã§ããŸãïŒ
...ãŸãã¯ã3DããªãŽã³ãæ··åããããªãããŒãªããªãã¯ãåŠã¶ããã«èªã¿ç¶ããŠãã ãããããã¯ã»ãŒåããããéããããã«èª¬åŸåããããåãå€ãã©ã¹ã¿ãŒæ©åšã§åçã§ããŸããèå³ããããŸããïŒ
å®éã®3Dæ圱ã»ã°ã¡ã³ã
3Dã§æ圱ãããã»ã°ã¡ã³ããšã©ã¹ã¿ãŒéè·¯ã®æ¯èŒ
ã©ã¹ã¿ãŒéè·¯ã¯çŸããã§ãããããªãŽã³ãã¬ã³ããªã³ã°ããç°¡åãªæ¹æ³ã䜿çšããããšã§ãããã«å°è±¡çã«ããããšãã§ããŸãããã®ã¬ã³ããªã³ã°æ¹æ³ã¯ãåã匱ãã©ã¹ã¿ãŒæ©åšãåŒãåºãããšããã§ããŸãããã ããããå€ãã®èšç®ã䜿çšããŸãã
ãã®ããªãã¯ã¯ã Road Rashã Test Drive IIïŒThe Duelãªã©ã®ã²ãŒã ã§äœ¿çšãããããšãç¥ãããŠããŸãããã©ãã¯ã¯ããªãŽã³ã»ã°ã¡ã³ãã§æ§æãããŠããŸãããã ããå®å šãª3D空éã§ç§»åããã®ã§ã¯ãªããã«ã¡ã©ã«å¯ŸããŠã®ã¿ç§»åããŸããæ²ç·ã®å Žåãéè·¯ã¯å·ŠãŸãã¯å³ã«åŸããŠãããã©ã¹ã¿ãŒéè·¯ãšã»ãŒåãã§ããå®å šã«å€è§åœ¢ã®ã¹ã©ã€ããŒã§æ²ç·ãæ²ãããšãã«å®éã«å転ããããšã¯ãããŸããã
åçã®ç°¡åãªèª¬æã¯æ¬¡ã®ãšããã§ãã
- æ²ç·ãšéè·¯ã®è§åºŠã¯ãŸã ã·ãã¥ã¬ãŒããããŠãããããã³ã¹ãã®ãããå転èšç®ã¯å¿ èŠãããŸãã
- æ¬è³ªçã«ãéè·¯ã¯åè§åœ¢ã®åž¯ã§ãããéè·¯ã®åã»ã¯ã·ã§ã³ã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã«æ¥ç¶ãããŠããŸããããã¯ãåã®é£äººãšã®çžå¯Ÿçãªã¹ã¯ãªãŒã³äœçœ®Yã«åºã¥ããŠã®ã¿ãéè·¯ã®äžéšã®å¯èŠæ§ãèšç®ã§ããããšãæå³ããŸãã
- ãããã®åè§åœ¢ã®é¢ä¿ã¯æ±ºããŠå€ãããŸãããã€ãŸããè§åºŠã¯å®éã«ã¯å€ãããªããããåè§åœ¢ã¯åžžã«èªåçã«Zã§ãœãŒããããŸãã
ã·ã³ãã«ãª3Déè·¯
æåã«ãéè·¯ãå€è§åœ¢ã®åè§åœ¢ã«åå²ããŸãããããã¯ããããã»ã°ã¡ã³ããšåŒã°ããŸããå®å šãªã©ã¹ã¿ãŒéè·¯ã®ã»ã°ã¡ã³ãã®ããã«ãããã§ã¯åã»ã°ã¡ã³ãã«ã¯ãŸã æ²ç·å€ïŒddxïŒãšãäžã®å€ïŒddyïŒããŸãã¯ãã®é«ãã決å®ããyäœçœ®ããããŸãããã¡ãããè¡šé¢ã°ã©ãã£ãã¯ã¹ã®å€æŽãªã©ãä»ã®å±æ§ãæã€ããšãã§ããŸãã
次ã®å³ã¯ãå°æ°ã®ããªãŽã³ã§æ§æãããã»ã°ã¡ã³ãåãããéè·¯ã瀺ããŠããŸãããããã£ãŠãã»ã°ã¡ã³ãéã®å¢çãšãã»ã°ã¡ã³ããéè·¯ã®æ²çã«ã©ã®ããã«åœ±é¿ããããç°¡åã«ç¢ºèªã§ããŸãã

ã¬ã³ããªã³ã°ãããšããæåã«è¡ãããšã¯ãscreen_y = world_y / zåŒã䜿çšããŠãå3dã»ã°ã¡ã³ãã®ç»é¢äžã®yäœçœ®ãèŠã€ããããšã§ãããŸãã¯ãåå²ãé ãããå Žåã¯ãã»ã°ã¡ã³ãã®é«ãã«ãã®è¡ã®ã¹ã±ãŒãªã³ã°ä¿æ°ãæããããšã§ãæå®ãããã»ã°ã¡ã³ãã®å°äžããã®é«ããèŠã€ããããšãã§ããŸãã次ã«ãéz-mapããå·®ãåŒãããšãã§ããŸãïŒãã®ãããã¯ã質åã«å¯Ÿããçãã§ããå¹³åŠãªéè·¯ã®åzäœçœ®ã®yã¯ã©ããªããŸããïŒïŒç»é¢äžã®æçµäœçœ®ãèŠã€ããã
次ã«ããããã®é«ãã®éã§éè·¯ã®å¹ ãšãã¯ã¹ãã£ïŒå¿ èŠãªå ŽåïŒãç·åœ¢ã«è£éããå¿ èŠããããŸããã©ã®3Dã»ã°ã¡ã³ããæç»ããå¿ èŠããããã©ã®ã»ã°ã¡ã³ããæç»ããªãããç解ããã®ã¯éåžžã«ç°¡åã§ãïŒç»é¢ã®åé¢ããèé¢ã«3Dã»ã°ã¡ã³ãã¯æç»ããããscreen_yå€ã¯æåŸã«æç»ããã3Dã»ã°ã¡ã³ããããå°ããæ圱ãããŸã圌ããçºè¡ãããŠããã®ã§ç®ã«èŠãã-ãããå¿ããªãã§ãã ããïŒã
ã¹ã¯ããŒã«éè·¯
次ã«ããããã®ã»ã°ã¡ã³ããã¹ã¯ããŒã«ããããªãŽã³ã®ããªã¥ãŒã å šäœãã«ã¡ã©ã«åãã£ãŠç§»åããæ¹æ³ãåŠç¿ããå¿ èŠããããŸããã»ã°ã¡ã³ãã®æãè¿ãããªãŽã³ãã«ã¡ã©ãééãããšããéå§ç¹ãŸã§å®å šã«æ»ããéããããã«ããå¿ èŠããããŸããããã¯ã1ã€ã®ã¿ã€ã«ãäžã«ã¹ã¯ããŒã«ããŠ2次å ã¿ã€ã«ãã£ãŒã«ãã®ã¹ã¯ããŒã«ãå®è£ ããæ¹æ³ã«äŒŒãŠãããå°éãããšããã¹ãŠã®ã¿ã€ã«ãã·ãããããã¿ã€ã«ãããã®æ°ããããŒã¿ãããŒããããŸããããã§ã¯ã1ã€ã®ã»ã°ã¡ã³ããäžã«ã¹ã¯ããŒã«ãããã®ã»ã°ã¡ã³ãã«å°éããããéè·¯ãæ»ããæ°ããéè·¯ããŒã¿ãããŒãããŸãã
ãããããã1ã€ã®éåžžã«éèŠãªè©³çŽ°ããããŸããéè·¯ãæ¥ã«ãŒãããŠãããšããŸãããã®å€è§åœ¢æ²ç·ãå ããšãã»ã°ã¡ã³ãã®å¢çãè¶ããç¬éã«æ²ç·ãå€åããéè·¯ããªã»ãããããããšã«æ°ã¥ãããããããŸãããããã¯æãããªçç±ã§èµ·ãããŸããã«ãŒãããã»ã°ã¡ã³ããééãããšããã«ã¡ã©ã®äžå¿ã¯éè·¯ã®å€åã«é¢é£ä»ããããŸããã€ãŸãããã®ã»ã°ã¡ã³ãã®çµããã«å°éãããŸã§ã«ãéè·¯ã¯äžå€®ã«é 眮ãããªããªããŸããéè·¯ãæãã«èµ°è¡ããŠããããã«èŠããŸããåçŽã«ãªããžã§ã¯ãã®xäœçœ®ãè£éããŠéè·¯ãäžå¿ã«ç§»åããããšã§ããããä¿®æ£ããããªããããããŸããã
ããããããã¯çå®ã§ã¯ãããŸãããããŠãåé¡ãå®å šã«è§£æ±ºããããã§ã¯ãããŸãããéè·¯ãçŽç·ã«æ²ãã£ãŠããå Žåããã¹ãŠãããŸããããŸããåé¡ã¯ãéè·¯ãæ²ãã£ãŠãããããªãŽã³ãé ãã«äžŠãã§ããªãããšã§ãïŒã€ãŸããããªãŽã³ã»ã°ã¡ã³ãã䜿çšããŠæ²ç·ãè¿äŒŒããŸããã¹ã¯ããŒã«ãããšãã§ããæ²ç·ãã»ãŒäžå®ã«ãããã§ããcodeincomplete.comã®
Jakeã«ã¯ããã®åé¡ã«å¯Ÿããåªãããœãªã¥ãŒã·ã§ã³ããããŸããã»ã°ã¡ã³ãã«æ²¿ã£ãŠç§»åãããšãã«éè·¯ã®xäœçœ®ãå€æŽãã代ããã«ãåæå€dxã0ãããã»ã°ã¡ã³ãã«æ²¿ã£ãŠç§»åãããšãã«éè·¯ãäžå€®ã«ä¿æããå€ã«å€æŽããå¿ èŠããããŸãããããè¡ãã«ã¯ã次ã®åŒã䜿çšããŸããã»ã°ã¡ã³ãã®å²åã¯0ã1.0ã®ç¯å²å ã§ãã«ã¡ã©ãã»ã°ã¡ã³ããšäº€å·®ãããšå ã®å€ã«æ»ããŸãã
dx = -percentage_of_segment_traversed * ddx
æ°åŠã®èŠ³ç¹ãããããã«ããXéè·¯ã¯ãã®Zã®é¢æ°ã«ãªããŸããã€ãŸããè¿äŒŒããç¹ãã©ã®ããã«ã¹ã¯ããŒã«ãããã«é¢ä¿ãªããåãæ²ç·ã®åœ¢ç¶ãç¶æããŸããæåé¢ã®ã»ã°ã¡ã³ãã¯éè·¯ã®æ®ãã®éšåãšãæå®ã®äœçœ®ã«ãã©ãã°ããããŠãããããã¯ã»ã°ã¡ã³ãã®åŸç¶ã®Xäœçœ®ãæ£ããé 眮ãããŠããããšãæå³ããŸããè€æ°ã®ããªãŽã³ããã®éè·¯ã§éããã¹ããããšãããã«ã¯ã£ããæ°ä»ãã§ããããããã«ãããã»ã°ã¡ã³ããæž¡ããšãã®æ¬¡ã®åé¡ã解決ãããŸãïŒæ²ç·ã®åœ¢ç¶ãå€ãããªããšä»®å®ããŸãïŒã
- éè·¯ã®äžå¿ïŒäœçœ®xïŒã¯äžå®ã®ãŸãŸ
- dxã¯ãéè·¯ã¹ã¯ããŒã«ã®äœçœ®ã«é¢ä¿ãªãã次ã®ã»ã°ã¡ã³ããæ£ããxäœçœ®ããå§ãŸãããã«èª¿æŽãããŸã
ãããªã¯ãã®ãã¯ããã¯ã瀺ããŠããŸããå°æ°ã®ã»ã°ã¡ã³ããšéåžžã«éãæ²ç·ã䜿çšããŠããã®æ¹æ³ã瀺ããŸãããããªãŽã³ããã¬ãŒã€ãŒã«åãã£ãŠç§»åãããšãçæ³çãªæ²ç·åœ¢ç¶ãäœæãããããšã«æ³šæããŠãã ãããããã¯ãéè·¯ã®å³åŽããã©ãå Žåã«ãããæããã§ãã
ã¹ãã©ã€ãã®é 眮
ãã ãããã®3次å ã»ã°ã¡ã³ãäžã®ã¹ãã©ã€ãã¯ãZãããã¡ãŒã䜿çšããã«ç¬èªã®ã¬ã³ãã©ãŒãå®è¡ããŠããããšã«åæããå ŽåãåŒãç¶ã衚瀺ããã³é©åã«ããªãã³ã°ããå¿ èŠããããŸããå®éãæåŸã®æ®µéã§ã¹ãã©ã€ããæç»ã§ããŸããã¹ãã©ã€ããå®å šã«è¡šç€ºãããŠããã»ã°ã¡ã³ãäžã«ããå Žåãå°é¢ããçŽæ¥æ¥ãã®ã§ãåãåãå¿ èŠã¯ãããŸãããããã¯å¯äžã®ããªãŽã³ã§ãã
ããããã¹ãã©ã€ãã衚瀺ãããŠããªãããŸãã¯éšåçã«è¡šç€ºãããŠããªãã»ã°ã¡ã³ãäžã«ããå Žåãç°¡åã«åãåãããšãã§ããŸãããŸããã¹ãã©ã€ãã®äžéšãèŠã€ããŸãã次ã«ãã¹ãââã©ã€ãã®åç·ã¯ãYã»ã°ã¡ã³ãã®æåŸã®è¡šç€ºç»é¢äœçœ®ã«éãããŸã§æç»ãããŸããã€ãŸããã¹ãã©ã€ãã®èåŸã«ãã®äžéšãã«ããŒããã»ã°ã¡ã³ããããå Žåããã®ã©ã€ã³ã«å°éãããšã¹ãã©ã€ãã®æç»ãåæ¢ããŸãããŸããã¹ãã©ã€ãã®äžéšãæåŸã®ã»ã°ã¡ã³ãã®Yäœçœ®ããäžã«ããå Žåãã¹ãã©ã€ãã¯å®å šã«é衚瀺ã«ãªããã¹ãããã§ããŸãã
ããªãšãŒã·ã§ã³ãšã¬ã³ããªã³ã°æè¡ ããªãŽã³
ãšããçšèªãå°å ¥ããåŸããããã䜿çšããã«ã¯ããªãŽã³ã¬ã³ããªã³ã°æé ãå¿ èŠã§ãããšæããããããããŸããã OpenGLãåçŽãªå°åœ¢æç»æé ãªã©ã®æè¡ã¯ãããã§åé¡ãªãåäœããŸãããã ããã¿ã€ã«ãšã¹ãã©ã€ãã®2次å æ©åšã§ãããããã§ååã§ãã
éè·¯ã»ã°ã¡ã³ãã®éå§ç¹ãšçµäºç¹ã¯å®å šã«æ°Žå¹³ã§ããããšã«æ³šæããŠãã ãããããã¯ãåžžã«åãã¹ãã£ã³ã©ã€ã³ã§éå§ããã³çµäºããããšãæå³ããŸããå¹³ããªéè·¯ã®ã°ã©ãã£ãã¯ãã¹ã¯ããŒã«ããããšã«ãããã¿ã€ã«æ©åšã§å®å šã«æ¬äŒŒçãª3次å éè·¯ãã¬ã³ããªã³ã°ããã®ãšã»ãŒåãæ¹æ³ã§ããã®ææ³ã3次å ã»ã°ã¡ã³ãã«å¯ŸããŠç¹°ãè¿ãããšãã§ããŸãã詳现ã«ã€ããŠã¯ããéè·¯çšã®ç¹å¥ãªæ©åšãã»ã¯ã·ã§ã³ãåç §ããŠãã ãããããšããšéè·¯å¹æãã¬ã³ããªã³ã°ããããã«èšèšãããã¢ãŒã±ãŒããã·ã³æ©åšã«ã€ããŠèª¬æããŸãããéè·¯ã°ã©ãã£ãã¯ã®æ°Žå¹³ã¹ã¯ããŒã«ãšåçŽã¹ã¯ããŒã«ã䜿çšããåçŽãª2次å ã¹ãã©ã€ãã·ã¹ãã ã§ãåãææ³ãåçŸã§ããŸãã
3Dæ圱ã»ã°ã¡ã³ãã«é¢ããè¿œå ã®èªã¿ç©
ãã®ããªãšãŒã·ã§ã³ã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã¯ãŸã æºåãã§ããŠããªãã®ã§ããã®ææ³ã®è©³çŽ°ã«èå³ãããå Žåã¯ãçŽ æŽãããCode inCompleteãã¥ãŒããªã¢ã«ãå匷ããããšããå§ãããŸãã
é·æ
- äžã§ã¯ãå®éã®3次å ãžãªã¡ããªã䜿çšã§ããŸããããã«ãããå¯èœãªè©³çŽ°ã®æ°ãå€§å¹ ã«å¢å ããŸãã
- ããå šäœçãªã·ã¹ãã ïŒå°çãšéè·¯ã®å¹ ã®å€æŽã¯ãç°ãªãææ³ã§å®è¡ããå¿ èŠã¯ãããŸããã
çæ
- ããå€ãã®ã³ã³ãã¥ãŒãã£ã³ã°ãå¿ èŠ
- é©åãªæ°ã®ã»ã°ã¡ã³ãã䜿çšããå¿ èŠããããŸããããããªããšãéè·¯ããããã§å€è§åœ¢ã«èŠããŸãã
æ¹å
è€æ°ã®éè·¯
ã»ãšãã©ã®ã¢ãŒã±ãŒãã¬ãŒã·ã³ã°ã²ãŒã ã¯ãå€ãã®éè·¯ãåæã«åŠçããŸããããã®æãæçœãªçç±ã¯ãç»é¢äžã«è€æ°ã®éè·¯ãåæã«ååšããããšã§ããããã®æ¹æ³ã§ä»ã®å¹æãéæã§ããŸããããšãã°ãOutRunã¯è€æ°ã®éè·¯ã䜿çšããŠ6è»ç·ã®é«ééè·¯ãäœæããŸããããã«ãããã²ãŒã ã¯ç°¡åã«éè·¯ãæ¡å€§ããã³çž®å°ãã䟿å©ãªåå²ç¹ãäœæã§ããŸãããã®å Žåã2ã€ã®éè·¯ãäºãã«ãªãŒããŒã©ãããããã®ãã¡ã®1ã€ã«ã¬ã³ããªã³ã°ã®åªå é äœãäžããããŸããæåãªã¢ãŠãã©ã³ã¯ã2ã€ã®éè·¯ããå§ãŸããéè·¯ãªãã§å§ãŸããŸãïŒèã¿ã®å³åŽãèŠãŠãã ããïŒïŒ


ããã«éèŠãªããšã¯ã2ã€ã®éè·¯ãæ·èšããŠ6ã€ã®è»ç·ãäœãé«ééè·¯ã®äŸã§ãã


åæ§ã®å¹æ
ç¡éã®ããã§ã¹ç€ã
ã¹ããŒã¹ããªã¢ãŒã¢ãŒã±ãŒãã²ãŒã ã®ç¡éã®ããã§ã¹ç€ãã¯ãéè·¯ãäœæããææ³ã®åçŽãªããªãšãŒã·ã§ã³ã§ããéè·¯ã®å Žåã®ããã«ãã²ãŒã ã«ã¯éèŠæ圱ã§ãã¬ã€ã€ãŒã«è¿ã¥ãç·ã®ã°ã©ãã£ãã¯ãå«ãŸããŠããŸããå®éãSpace Harrierã¯Hang-OnãšåãããŒããŠã§ã¢ã䜿çšããŠããŸãã
以äžã®å³ã¯ããã¬ãããå€æŽããå Žåãšå€æŽããªãå Žåã®ã¹ããŒã¹ããªã¢ãŒã®ããã§ãã«ãŒããŒããã®å¹æã瀺ããŠããŸãããã§ã¹ç€ã«å€ããã«ã¯ãæ°è¡ããšã«ã«ã©ãŒãã¬ãããå€æŽããã ãã§ããããã¯ãéè·¯äžã®æããçžãšæãçžã«äŒŒãŠããŸãã


ããããã©ã®ããã«å·Šå³ã«ã¹ã¯ããŒã«ããŸããïŒããã¯ãé è¿æ³ã¹ã¿ã€ã«ã®ã¿ãŒã³ã®ããªãšãŒã·ã§ã³ã«éããŸããããã¬ãŒã€ãŒãå·ŠãŸãã¯å³ã«ã·ãããããšãå°çã®ã°ã©ãã£ãã¯ãæªããããŸããæ°ãã¯ã»ã«ã®ã¹ã¯ããŒã«ã®åŸãå°çã¯ãã®äœçœ®ãããªã»ããããŸãã¯ã厩å£ãããŸãããããã£ãŠãå·ŠãŸãã¯å³ã«ç¡å¶éã«ã¹ã¯ããŒã«ããããã§ãã
ã±ãŒã¹ã¹ã¿ãã£
éè·¯çšã®ç¹å¥ãªè£ åéè·¯
ãã¬ã³ããªã³ã°ããæ¹æ³ã¯æ°å€ããããŸãããå€ãã®ã¢ãŒã±ãŒãã²ãŒã ããã®ç®çã®ããã«ç¹å¥ã«èšèšãããè£ åã䜿çšããŠããã®ã¯èå³æ·±ãããšã§ãããããã®ãããã¯ãéè·¯ã¬ã³ããªã³ã°ã®åçãèªååããŸããããéè·¯èšç®èªäœã¯èªååããŸããã§ãããå žåçãªäŸã¯ãã¹ãŒããŒãã³ã°ãªã³ãã¢ãŠãã©ã³ãã¹ããŒã¹ããªã¢ãŒãªã©ã®ã²ãŒã ã§äœ¿çšãããã»ã¬ã®ãããŒããã¢ãŠãã©ã³ãããã§ãã
ãŸãããããã«ã¯ç¬èªã®ã°ã©ãã£ãã¯ã¡ã¢ãªããããŸããããã®ããŒãROMã¯ãéè·¯ã®éèŠå³ããå¹³ãã§ãäžå€®ã«ãæ²çãªãã§å®éã«ä¿æããŸãããããã°ã©ããŒã¯ãç»é¢ã®åè¡ã«ã€ããŠãæç»ããå¿ èŠãããé è¿æ³ã°ã©ãã£ãã¯ã¹ã®è¡ãããã瀺ããŸããããŸããåã©ã€ã³ã«ã¯Xãªãã»ããïŒéè·¯ã®ã«ãŒãçšïŒããããåã©ã€ã³ã«ã¯ç°ãªãã«ã©ãŒãã¬ããïŒéè·¯æšç€ºã®æç»ãšåãã®ã·ãã¥ã¬ãŒã·ã§ã³çšïŒããããŸããããã®äŸã瀺ãããã«ãã»ã¬ã¬ãŒã·ã³ã°ã²ãŒã ã®éè·¯ã°ã©ãã£ãã¯ãšã²ãŒã ã«è¡šç€ºãããéè·¯ã®ç»åãããã€ã瀺ããŸãïŒéè·¯ã®è¡šç€ºçšã®ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠãCharles MacDonaldã«ç¹å¥ãªæè¬ãè¡šæããŸãïŒã






æåã«æ°ä»ãã®ã¯ãéè·¯ã®ã°ã©ãã£ãã¯ã®è§£å床ãã²ãŒã ã®ã°ã©ãã£ãã¯ãããã¯ããã«é«ãããšã§ãããããã®äŸã§ã¯ãéè·¯ã®è§£å床ã¯æ倧512x256ã§ãã²ãŒã ãã£ã¹ãã¬ã€ã®è§£å床ã¯320x224ã®ã¿ã§ããããã«ãããã°ã©ãã£ãã¯ãšã³ãžã³ã«ååãªã°ã©ãã£ãã¯ãäžããããæªã¿ã®éãåæžãããŸãããŸããROMã«ä¿åãããŠããéè·¯ã®é è¿æ³ã¯ãã²ãŒã ã«è¡šç€ºãããé è¿æ³ãšã¯ãŸã£ããç°ãªãããšã«ãæ°ä»ãããšãã§ããŸããããã¯ãROMã®ã°ã©ãã£ãã¯ããéè·¯ãéè·¯ã®ããŸããŸãªå¹ ã§ã©ã®ããã«èŠãããã ããä¿åããããã«èµ·ãããŸããã倧ããªã°ã©ãã£ãã¯ç»åããåç»é¢è¡ã«é©åãªè¡ãéžæããããšã¯ãããã°ã©ã ã®ã¿ã¹ã¯ã§ãã
ãã®æ©åšã¯2ã€ã®éè·¯ãåæã«ãµããŒãããŠãããããå·ŠãŸãã¯å³ã®éè·¯ãåªå ãããããšãã§ããŸããããã¯ãéè·¯ãåå²ããã²ãŒã ã®éšåããŸãã¯äžå€®ã®ä»åããè»ç·ã®éã«ããå Žåã«å¿ èŠã§ãã
ROMããããã³ã°ããå Žåã¯ãMAME src / mame / video / segaic16.cããã³src / mame / video / taitoic.cãã¡ã€ã«ã§ãããŒãããããã®äŸã調ã¹ãããšãã§ããŸããã»ã¬ããŒãã°ã©ãã£ãã¯ã¹ã¯2ãããã®å¹³é¢åœ¢åŒã§ä¿åãããã°ã©ãã£ãã¯ã¹ã®äžå¿ã¯4çªç®ã®è²ïŒäžã®å³ã«ç€ºãããŠããé»è²ã®ç·ïŒãæã€ããšãã§ããŸãã
ãšã³ãã¥ãŒã
ãšã³ãã¥ãŒãã¯æ³šç®ãã¹ãã²ãŒã ã§ãã 70幎代ã®éåžžã«åŒ±ãã²ãŒã ã³ã³ãœãŒã«çšã«1983幎ã«ãªãªãŒã¹ãããŸããããããã圌女ã¯æªã ã«èª¬åŸåã®ããéè·¯å¹æãäœãåºãã倩æ°ã®å€åãšæŒå€ã®å€åã«ãã£ãŠè£å®ãããŠããŸããããã«ããã®ã²ãŒã ã¯ä»æ¥ã§ããšããµã€ãã£ã³ã°ã§ãïŒ

ã¹ã¯ãªãŒã³ã·ã§ãããšã³ãã¥ãŒã
ã芧ã®ããã«ããšã³ãã¥ãŒãã¯ã¬ãã¥ãŒããããŒããšã³ãžã³ãšã¯å°ãç°ãªããŸããéè·¯ã¯çé«ç·ã§ã®ã¿æç»ãããããšãããã«æããã«ãªããŸããéè·¯ã®äž¡åŽã®å°çã¯å¥ã®è²ã§æç»ãããŸãããå¯æ¥ã«æ²¿ã£ãŠé害ç©ããããŸããããšã³ãã¥ãŒãããã¬ã€ããå Žåãéè·¯ãé è¿æ³ã§ç§»åããªãããšã«æ°ä»ããããããŸããã代ããã«ããã¬ã€ã€ãŒã®è»ã®ã¹ãã©ã€ããšéè·¯ãå·Šå³ã«ç§»åããã¿ãŒã³ã®é¯èŠãäœãåºããŸãã
Enduroããã®ããã«èŠããçç±ãããããç解ããããã«ãAtari 2600ã®å¶éãèŠãŠã¿ãŸããããAtari2600ã³ã³ãœãŒã«ã¯ãæŠéïŒã¿ã³ã¯ã²ãŒã ïŒããã³ãã³ã²ãŒã çšã«èšèšãããŸããããããã£ãŠã2ã€ã®ã¹ãã©ã€ããåãã¬ãŒã€ãŒã®ã·ã§ã«ãè¡šã2ã€ã®æ£æ¹åœ¢ãããŒã«ãè¡šãæ£æ¹åœ¢ãããã³äœè§£å床ã®èæ¯ã®ã¿ã衚瀺ã§ããŸãããããŠããã ãã§ãã
ããããã¢ã¿ãªã®ãããªæ©åšã®æ³šç®ãã¹ãç¹ã¯ãæ¬è³ªçã«äžæ¬¡å ã§ãããšããããšã§ããããã°ã©ã èªäœãåã¹ãã£ã³ã©ã€ã³ã®ã°ã©ãã£ãã¯ãæŽæ°ããå¿ èŠããããŸããããšãã°ãã¹ãã©ã€ããæç»ããããã«ãããã°ã©ãã¯ã¹ãã£ã³ã®åè¡ã®å é ã«è¡šç€ºããã°ã©ãã£ãã¯ã®æ°ããè¡ãèªã¿èŸŒãå¿ èŠããããŸãããããŒã«ãªããžã§ã¯ããæç»ããã«ã¯ãTVããŒã ãç®çã®ã©ã€ã³äžã«ãããšãã«ããŒã«ããªã³ã«ããããŒã ãèŠããªããªã£ãã©ã€ã³ã«ããŒã ãè¿ã¥ããšããŒã«ããªãã«ããå¿ èŠããããŸããã
ããã¯éèŠãªå¯äœçšãåŒãèµ·ãããŸããïŒå®ç·ã®åçŽç·ãç»é¢ã®äžã«æãããããŒã«ãŸãã¯ã·ã§ã«ããªã³ã«ãããããããªãã«ããŸããïŒããã°ã©ããåè¡ã§ãããã®ãªããžã§ã¯ããã·ãããããšãæãã®ç·ãæãããšãã§ããŸããã
ãããã¯ã«æ»ããŸããããèæ¯ãããã¯ã䜿çšããŠéè·¯ãæãããšã¯ã§ããŸããã解å床ãäœãããŠå¹æçã§ã¯ãããŸããããããã£ãŠãã¢ã¿ãªã¬ãŒã·ã³ã°ã²ãŒã ã¯ãç·ã®æç»ã«äœ¿çšã§ããããã«ãçºå°äœãŸãã¯ããŒã«ã®2ã€ã®ã°ã©ãã£ã«ã«ãªããžã§ã¯ãã䜿çšããŠãéè·¯ã®å·ŠåŽãšå³åŽãæç»ããŸãããç¹ã«ãšã³ãã¥ãŒãã¯ãæåã®ãã¬ã€ã€ãŒã®çºå°ç©ã¹ãã©ã€ããšããŒã«ã¹ãã©ã€ãã䜿çšããŠãå·ŠåŽãšå³åŽãæããŸãããããŒã«ããžã·ã§ã³ã§ã¯ãäž¡æ¹ã®ã·ã§ã«ã¹ãã©ã€ãã䜿çšããŠéè·¯ã®åŽé¢ãæç»ãã次ã«ããŒã«ã¹ãã©ã€ãã䜿çšããŠäžå€®ã«ç Žç·ãæç»ããŸããã

æ¯èŒã®ããã®2600ã§ã®æ¥µäœçœ®ã®ã¹ã¯ãªãŒã³ã·ã§ãã
Atari 2600ã§ã¯ããªããžã§ã¯ãã1è¡ãã€ç§»åããæ¹æ³ã«ã€ããŠã¯èª¬æããŸããã§ãããAtariã°ã©ãã£ãã¯ãããã«ã¯ãHMOVEïŒæ°Žå¹³ç§»åãæ°Žå¹³ã·ããïŒãšåŒã°ããæ©èœããããŸãããããã«ãããããã°ã©ãã¯ãã¹ãŠã®ãªããžã§ã¯ãã®åè¡ã®ãªãã»ãããéåžžã«ç°¡åã«èšå®ã§ããŸãããããã°ã©ããŒã¯ãç°ãªããªããžã§ã¯ãã移åããã®ã«å¿ èŠãªãã¯ã»ã«æ°ã瀺ãã ãã§ãHMOVEãåŒã³åºããŠãåºæ¥äžããã§ã-ãããã¯ãã¹ãŠãç®çã®å€ã«åŸã£ãŠç§»åããŸããïŒ
Enduroã§ã¯ããã®é¢æ°ã䜿çšããŠæ²ç·ãæããŸãããèŠããã«ãEnduroã¯ãç»é¢ãã¬ã³ããªã³ã°ãããšãã«å·Šå³ã®HMOVEå€ãã©ã®ããã«å€åãããã瀺ãã¡ã¢ãªå ã®ããŒãã«ãäœæããŸããã䜿çšå¯èœãªAtari 2600ã¡ã¢ãªã®ã»ãŒååãå ããŸããããAtariã¯éåžžã«å°ããããããã®å€ã¯4è¡ããšã«ã®ã¿èªã¿åãããŸãããéè·¯ã®å·ŠåŽãšå³åŽã«ã¯ã2ã€ã®ç°ãªãããŒãã«ã䜿çšãããŸããã
éè·¯ããŸã£ãããªå Žåãéè·¯ã®å³åŽã®é åå€ã¯ãã¹ãŠ8ã§ãããHMOVEã¯äžäœ4ãããã®ã¿ã䜿çšãããããHMOVEã«ããŒããããå€8ã¯éè·¯ã®åŽé¢ãã·ããããŸããã§ãããäžäœ4ãããã¯ãããããã®åºå®å°æ°ç¹åœ¢åŒãšããŠäœ¿çšãããŸããã
ããšãã°ãã¡ã¢ãªå ã§æ²ç·ãè¿ã¥ããšæ¬¡ã®ããã«ãªããŸãïŒæ°Žå¹³ç·ã¯é åã®æåŸã§ãïŒã
08,08,08,08,08,08,0a,0a,0b,0c,0e,0d,0e,0e,0f,10,13,11,12,13,14,17,16,17
ãããŠæ¬¡ã®ãã¬ãŒã ïŒ
08,08,09,09,0a,0a,0b,0b,0c,0d,0d,0e,0f,0f,10,11,12,12,13,14,15,16,17,18
æ²ç·ã®å€ã倧ãããããšãå°ããªå€ãåŸã ã«äžæžããããç»é¢ã®åé¢ã«ç§»åããŠãæ²ç·ããã¬ãŒã€ãŒã«è¿ã¥ããŠããããã«èŠããããšã«æ³šæããŠãã ãããEnduroã¯ãã®ããŒã¿ãã©ãåŠçããŸããïŒããã¯ãéè·¯ã®å³åŽã®ã«ãŒããèšé²ããããã«äœ¿çšãããéšåã§ãã
éè·¯ã®ã¹ã€ãŒãã®åã©ã€ã³ã«ã€ããŠïŒ
LDA $be ; $be AND #$0f ; 4 ( HMOVE) ADC $e4,x ; (X - ) STA $be ; ( , ) STA HMBL ; Horizontal Motion - Ball ( )
ãã®ã³ãŒãã¯äœãããŸããïŒãããã£ãŠã$ beã¯æ²ç·ã®å¢å ããå€ã®ã«ãŠã³ã¿ãŒã§ããããŒããããšãäžäœ4ããããç Žæ£ããã0ã16ïŒ$ 0-FïŒã®ç¯å²ãæ®ããŸãã次ã«ããã®ã¹ãã£ã³ã©ã€ã³ã«å¯Ÿå¿ããã«ãŒãããŒãã«ã¬ã³ãŒããããŒããããè¿œå ãããŸããæåŸã«ãããã¯ã«ãŠã³ã¿ãŒã«ä¿åãããããŒã«ãªããžã§ã¯ãïŒéè·¯ã®å³åŽïŒã®æ°Žå¹³ã·ããã¬ãžã¹ã¿ã«ããŒããããŸãã
ãããã£ãŠãããã€ãã®ã¢ã¯ã·ã§ã³ãéæããŸããæåã«ãéè·¯ããŸã£ãããªå Žåã«ã®ã¿ãéè·¯ã®äž¡åŽã2è¡ããšã«ç§»åããŸããé åãå€8ãš$ã®ã¿ã§æ§æãããŠããå Žåãæåã®è¡ã«0ãå«ãŸããŠããå Žåã次ã®è¡ã«ã¯8ãå«ãŸããŸãïŒäžéšããã«ã¯ãŸã 0ã§ãïŒã次ã®è¡ã«ã¯10ãã«ãå«ãŸããŸãããããã次ã®ã¹ãã£ã³ã©ã€ã³ã§ã¬ãžã¹ã¿Aã«10ãã«ãåã³ããŒãããããšãäžäœããã«ã¯ç Žæ£ãããåã³0ãæ®ããŸãïŒãã®çµæãã«ãŠã³ã¿ã¯$ 10ããã³8ã®å€ãåããŸããHMOVEå€ã¯äžäœ4ãã€ãã®ã¿ã䜿çšãããããè¡ã¯0ãŸãã¯1ã®äœçœ®ã«äº€äºã«ã·ãããããŸãã
é åå šäœã8ã§ã¯ãªã9ã§æ§æãããŠããå Žåã¯ã©ãã§ãããããã¹ãã£ã³ã®æåã®è¡ã§ãããŒã«ã®HMOVEã¬ãžã¹ã¿ã«9ãä¿åãããã«ãŠã³ã¿ãŒã«æžãæ»ãããŸãã次ã®è¡ã§ã¯ãããŒãã«ã®å€ã«åã³9ãè¿œå ããã12ãã«ïŒ10é²æ°ã®18ïŒã«ãªããŸããããã«ãããããŒã«1ã移åããŸãïŒäžäœ4ãããã¯1ã§ãïŒããã以éã®è¡ã§ã¯ãäžéšããã«ãç Žæ£ããã2ãæ®ããŸããããŒãã«ãã9ãè¿œå ãããšã$ BãåŸãããŸããå¥ã®ã¹ãã£ã³ã©ã€ã³ãèŠãŠã¿ãŸããããå€BãããŒããããäžäœããã«ã¯ãããŸããã 9ãè¿œå ãããšã14ãã«ïŒ20ïŒãåŸãããŸãã
äžèšã®ã·ãŒã±ã³ã¹ã¯09.12.0bã14ã§ããããã«ãããããŒã«ã¯2è¡ããšã«ãããã®4è¡ã«ç§»åããŸããããããåŸã ã«ãäžã®ããã«ã¯ãæé ãããŒã«ã¹ãã©ã€ããå·Šã®åã®2è¡ã«ç§»åããã®ã«ååãªå€§ããã«ãªããŸãããã³ãã¬ãŒãã¯æããããŸããŸãããããã«æ°è¡åŸãéè·¯ã®èã¯åã³åã®2è¡ã«ç§»åããŸããæ¬è³ªçã«ãããã¯åçŽã§éåžžã«é«éãªåºå®å°æ°ç¹æŒç®ã®äŸã§ãã
ãã®ãããªåŒ±ãè£ çœ®ã§ã®éè·¯ã·ã¹ãã ã®å®è£ ã«ã¯ãã¹ãã©ã€ãã®é 眮ãšããå¥ã®é害ããããŸããããè€éãªã·ã¹ãã ã§ã¯ãã¹ãã©ã€ããéè·¯ã®å¹ ã®å²åãšããŠéè·¯äžã§æ°Žå¹³ã«é 眮ã§ããŸãããã ããããã«ã¯åºå®å°æ°ç¹ãŸãã¯æµ®åå°æ°ç¹ãšã®ä¹ç®ãå¿ èŠã§ããããããã®æŒç®ã¯ããã»ããµ6502ã§éåžžã«ãã£ããå®è¡ãããŸããæ¯èŒã®ãããEnduroã«ã¯ãã·ã³ã®3ã€ã®å¯èœãªäœçœ®ãããªããããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãç¯çŽã§ããŸãã
éè·¯ã®çºç¹
3doã®Road RashãšRoad Rashã®äž¡æ¹ã«ãçŽ æŽãããã°ã©ãã£ãã¯ãšã³ãžã³ãæèŒãããŠããŸãã Genesisã®ã²ãŒã ã®ãªãªãžãã«ããŒãžã§ã³ã¯ãGenesis 68000ããã»ããµã§7.25 MHzã®åšæ³¢æ°ã§æ¯èŒçæ£ç¢ºãª3次å ã®æèŠãæäŸããéè·¯äžã®ãªããžã§ã¯ãã®ãªã¢ã«ã¿ã€ã ã¹ã±ãŒãªã³ã°ã«ã察å¿ããŸããã 3doã®ããŒãžã§ã³ã¯ã3Dãšæ¬äŒŒ3Dã®ææ³ãæ··åšããŠããããšãå€æãããããããã»ã©é©ãããšã§ã¯ãããŸããã§ããããããã¯å·§ã¿ã«çµã¿åãããããã¬ã€ã€ãŒã«é©ãã¹ãã¹ããŒãæãäžããŸããã
äžã§è¿°ã¹ãããã«ã3doçšã®Road Rashããã³Road Rashãšã³ãžã³ã¯ã3Dããªãã¯ãšæ¬äŒŒ3Dã®çµã¿åããã§ããã ããªã¢ã«3Dæ圱ã»ã°ã¡ã³ããã®ã»ã¯ã·ã§ã³ã§èª¬æãããã®ãšåæ§ã®ææ³ã䜿çšããŸãããäžã¯3D空éã«ãããŸãããéè·¯ã®ã«ãŒãã¯ããã§ã¯ãããŸããã Road Rashæ²ç·ã¯ããã®èšäºã§èª¬æããæ¹æ³ãšåãæ¹æ³ã䜿çšããåéè·¯ã»ã°ã¡ã³ãã«ã¯ç¬èªã®DDXãŸãã¯ãxå éãå€ããããŸããåã»ã°ã¡ã³ãã«ã¯ãæåŸã®ã»ã°ã¡ã³ãã®é«ãã«å¯Ÿããé«ãããããŸããç»é¢ã«ã¯åæã«50åã®ã»ã°ã¡ã³ãããããŸãã
ãããã3doã®Road Rashã¯ãããã°ã©ããŒãååºãè¿œå ããé床æèŠã匷åãããšããç¹ã§éåžžã«èå³æ·±ããã®ã§ããã«ã¡ã©ããé¢ãããªããžã§ã¯ãã¯åããé ããã«ã¡ã©ã®è¿ãã®ãªããžã§ã¯ãã¯éããªããŸãã
ãŸããRoad Rash for 3doã¯ããµã€ãã©ã€ã³ã«ããªãŽã³ãã£ãŒãã£ãè¿œå ããŸãããããã®X座æšã¯ãŸã éè·¯ã«é¢é£ããŠããŸãããããã¯ãäžã建ç©ããã®ä»ã®è€éãªèŠçŽ ãäœæããããã«äœ¿çšãããŸããããã«ã¯å€§éã®ããŒã¿ãå¿ èŠã«ãªããããã«ãŒãã®ééäžã«ãžãªã¡ããªãšãã¯ã¹ãã£ããã£ã¹ã¯ããããŒããããŸãã
STUN RunnerïŒ
1989幎ã«ã¢ãŒã±ãŒããã·ã³ã§ãªãªãŒã¹ãããæç¹ã§ã®Lynx STUN Runner ã«å¯Ÿããã¢ãŒã±ãŒããã·ã³ã¯çŽ æŽãããã²ãŒã ã§ãããå®å šã«3次å ã®ããªãŽã³ã«å¡ãã€ã¶ãã®ãã¯ãããžãŒã䜿çšããŸããã圌女ã¯ããã¬ã€ã€ãŒã«ãæ²ããããã£ãé床ã§æ²ããããã£ãå»äžã«æ²¿ã£ãŠé£ãã§ããæªæ¥ã®ã¬ãŒã¹ã«ãŒãã³ã³ãããŒã«ããããæåŸ ããŸããã
å°ãåŸã«ãAtari Lynxã®ããŒãžã§ã³ãèŠãŸãããAtari Lynxã³ã³ãœãŒã«ã¯ããªãªãžãã«ã®Game Boyãšã»ãŒåææã«ãªãªãŒã¹ãããããŒã¿ãã«ã·ã¹ãã ã§ããGame Boyãšåæ§ã«ã4 MHzã§8ãããããã»ããµãæèŒããŠããŸãã枯ã¯ã²ã©ããã®ã§ããããïŒããŠããããªãèªåã§èŠãŠãã ããïŒ
å®éã枯ã¯çŽ æŽãããã£ãã§ãïŒåœŒã¯ã»ãŒå®ç§ã«ãªããã¢ãŒã±ãŒãã²ãŒã ãé©ãã»ã©ãã°ããããã®ã«ããããããŠãããã¯ã²ãŒã ããŒã€æ代ã®æºåž¯æ©åšã«ãããŸãã圌ãã¯ã©ã®ããã«æåããŸãããïŒ
Lynxã®æŠåšã«ã¯ããŒããŠã§ã¢ã¹ã±ãŒãªã³ã°ãšããéèŠãªæŠåšãããããšãããããŸãããããããããã¯ããªãŽã³ã°ã©ãã£ãã¯ã¹ãã¬ã³ããªã³ã°ãããšãã«ã¯ããŸã圹ã«ç«ã¡ãŸããã§ãããLynxããšãŒã¹ãæã£ãŠããã ãã§ãªããããŒãã®äœè ã圌ã®ããªãã¯ãæãã€ããŸããã
ã¢ãŒã±ãŒããã·ã³ã®é床ãåçŸããããã«ãSTUN Runnerã®LynxããŒãžã§ã³ã¯æ¬äŒŒ3Dãšã³ãžã³ã«æ»ããŸãããå£ãæ§æããããªãŽã³ã®æçã¯ãå®éã«ã¯ã¹ãã©ã€ãã§ããå®éããããã¯éè·¯ã«æ¥çãããéè·¯ã®åŽé¢ã«ãããªããžã§ã¯ãã§ãããä»ã®æ¬äŒŒ3次å ã¬ãŒã·ã³ã°ã²ãŒã ã®éè·¯ã®åŽé¢ã«ãããªããžã§ã¯ããšã»ãŒåãã§ãããããã¯ãã¢ãŒãã£ã¹ãã®ã¢ã«ãŽãªãºã ã䜿çšããŠæç»ãããŸãïŒèé¢ããåé¢ïŒãããã«ãããå€è§åœ¢ã®ã°ã©ãã£ãã¯ã¹ã®èª¬åŸåã®ããé¯èŠãäœæãããæ©åšã®é·æã掻çšã§ããŸãããŸããã«ãŒããªããžå ã®ã¹ããŒã¹ãç¯çŽããããã«ã1ã€ã®ã¹ãã©ã€ãããã³ãã«ã°ã©ãã£ãã¯ã¹ã®ãªã³ã°å šäœãæ§æããŠããŸããã§ãããããã«ããã空ã®éæãã¯ã»ã«ããªãããã¹ããŒã¹ãç¯çŽã§ããã ãã§ãªããã°ã©ãã£ãã¯æ©åšã®æ°Žå¹³åå°æ©èœã䜿çšããããšãã§ããŸãã
ããŒãäœæè ã解決ããªããã°ãªããªãå¥ã®èå³æ·±ãåé¡ã¯ããã³ãã«ã®åå²ã§ããäžèšã®ãããªã§èŠãããšãã§ããŸããåå²ãããã³ãã«ã¯ãå®éã«ã¯å€§ããªã¹ãã©ã€ãã§ããããã¬ã€ã€ãŒã«è¿ã¥ãã«ã€ããŠãã®ã¹ã±ãŒã«ã倧ãããªããŸãããã¬ãŒã€ãŒãæ°ãããã¹ãéžæãããšããã©ãŒã¯ã®ã°ã©ãã£ãã¯ãæ¶ããŸããèè ã«ãããšããã©ã³ã¹ããŒãããã®ã¹ãã©ã€ããã©ã®ããã«é£ãã§ãããã«æ°ä»ãããšããããŸãïŒ
ããã«ã€ããŠãã£ãšç¥ãããå Žåã¯ãAtariAgeã®å ã®èè ãšã®ã€ã³ã¿ãã¥ãŒãèªãã§ãã ããã
Roads on Commodore 64
ãã®æ å ±ã¯ãC64ã®é«ééè·¯çšã®åªããè»äž¡ãçºèŠããSimon Nicolã«å±ããŸãã
ãŸããå°ããªåºæïŒå€ãã®ã³ã³ãœãŒã«ã·ã¹ãã ã§ã¯ãã¿ã€ã«ãšçŽç·çãªã¹ã¯ããŒã«ã§çŽç·éè·¯ãæããæ²çã®å€èŠ³ãäœæããããšã«ãããç䌌3次å éè·¯ãäœæãããŸããããã ããéåžžã®1ç§ãããã®ãã¬ãŒã ã¬ãŒãã®ã²ãŒã ã§ã¯ããã®æ¹æ³ã¯Commodore 64
ã§ã¯éãããŸãããµã€ã¢ã³ã®ãšã³ãžã³ã¯ã代ããã«C64ããããããã¢ãŒããšé«éå¡ãã€ã¶ãã¢ã«ãŽãªãºã ã䜿çšããŸããã¯ã€ãã¯ãã£ã«ã¢ã«ãŽãªãºã ã¯ãèªå·±ä¿®æ£ã³ãŒãã䜿çšããŠã¬ã³ããªã³ã°ãé«éåããŸããåè¡ã¯ããããªã¡ã¢ãªå ã®ã¢ãã¬ã¹ã瀺ããã¯ã»ã«ããšã®ä¿åæäœã®ã·ãŒã±ã³ã¹ã§ãããã ããè²ãå€æŽããå¿ èŠãããæç¹ã§ãã³ãŒããå€æŽãããŸããä¿åã³ãã³ãã¯ããŒãã³ãã³ãã«å€ãããä¿åã¢ãã¬ã¹ã¯æ°ããè²çªå·ã«ãªããŸãã
ãã®ãã¯ããã¯ã®äž»ãªå©ç¹ã¯ãã¹ãã©ã€ãçµåãã¯ããã¯ã䜿çšã§ããããšã§ããããã«ãããç»é¢äžã«8ã€ä»¥äžã®ã¹ãã©ã€ãã衚瀺ã§ããŸãããµã€ã¢ã³ã«ãããšïŒãå®å®ããã©ã¹ã¿ãŒå¹æãåŸãããã«æ°Žå¹³ã¹ã¯ããŒã«ãã·ããããã«ã¯ãã¬ãžã¹ã¿ãŒ$ D011ãæäœããå¿ èŠããããŸããããããªããšã$ D012ã®ã©ã¹ã¿IRQã¯ãç¹å®ã®ã©ã¹ã¿ã©ã€ã³ã®ã¹ãã©ã€ãã®æ°ã«å¿ããŠã²ã©ãã¡ãã€ããŸããã¹ã ãŒãºã«è¡šç€ºããã«ã¯ãããã»ããµã§å¿ èŠãªåæãæäŸããããç»é¢ã®ã°ã©ãã£ãã¯ã¹ã䜿çšããã«å¢çç·ã®è²ãå€æŽããå¿ èŠããããŸããé£ç¶çã§ã¡ãã€ãã¯ãããŸããããéè·¯ã¯ãªãã«ããå¿ èŠããããããç»é¢ã«è¡šç€ºãããŸããããã®ãããªæ»ãããªè¡ããšã®å¢çç·ã®è²ã®å€æŽã¯ãç»é¢ãäžã«ã©ã¹ã¿ãŒãã¹ã€ãŒãããããã«äœ¿çšãããããã§äžæåæ¢ããããã«äœ¿çšã§ããŸããç»é¢ã®äžéšã衚瀺ããå Žæããã®ææ³ã¯ãããŒã«ããªã$ D011ãŸãã¯FLDïŒæè»ãªåç·è·é¢ïŒãšåŒã°ããŠããŸããïŒã³ã¢ããŒã«VICã§äžè¯åç·ãåãé€ãããã«äœ¿çšãããŠããŸããïŒã
ä»ã®
Power Drift ãšã³ãžã³ Power Driftã¯


ãã¹ãã©ã€ãããŒã¹ã®3Dã䜿çšããæ°å°ãªãã²ãŒã ã®1ã€ã§ãããšããç¹ã§èå³æ·±ããã®ã§ãããã©ãã¯ã®åãã©ã°ã¡ã³ãã¯å°ããªã¹ãã©ã€ãã§ãããã«ã¡ã©ã«ãã£ãŠäœæãããã»ã¬ãã©ã€ãã€ã¯ããã瀺ããŸããã蚌æ ã¯ãããŸããããF1 Exhaust HeatãRadMobileã®ãããªã²ãŒã ã¯åæ§ã®ã·ã¹ãã ã䜿çšãããšæããŸãããŸããPower Driftãã·ã³ã®ããŒã¹ã¯ã»ãŒ45床åŸãå¯èœæ§ãããããããã«ãã§åºå®ããããšãéèŠã§ããã system16.comããã®ã¹ã¯ãªãŒã³ã·ã§ããã
ã©ã·ã³ã®å


Racin 'ForceãªããŒã¹ãšã³ãžãã¢ãªã³ã°ã¯ãChals MacDonaldã«ãã£ãŠå®è¡ãããŸãããRacin 'Forceã¯ããã¯ã»ã«ãšã³ãžã³æ©èœãåããããŒã¿ãŒããŒããåããKonami GXåè·¯åºæ¿äžã§åäœããŸãããã®è£ 眮ã¯ãSNESã³ã³ãœãŒã«ã®ã¢ãŒã7ã¹ã¿ã€ã«ã®ããã¢ã«ãŒãã®ã¿ãã¬ã³ããªã³ã°ã§ããå€ãè£ çœ®ã«åºã¥ããŠããŸãããã®æ©èœãæ¡åŒµãããã¹ããŒããã¯ãããžãŒã䜿çšããŠé«ãããããäœæã§ããããã«ãªããŸãããã¿ã€ã«ãããã ãã§ãªããç¬èªã®3Då¹³é¢äžã®åãã¯ã»ã«ã®é«ãæ å ±ãå¹³åŠãª3DãµãŒãã§ã¹ã«æ圱ããŸãã次ã«ãåç»é¢ãã¯ã»ã«ã«ã€ããŠãæ圱ãããæšé«ãããã§æšé«æ å ±ãæ€çŽ¢ããå¿ èŠã«å¿ããŠåãã¯ã»ã«ãæŒãåºããŸããsystem16.comããã®ã¹ã¯ãªãŒã³ã·ã§ããã
ãããªãç 究
æ¬äŒŒ3次å éè·¯ã®è©³çŽ°ãªèª¿æ»ã«åœ¹ç«ã€èå³æ·±ããµã€ãã次ã«ç€ºããŸãã
ã³ãŒã
æ°åŒãšãã³ã
3Dãããžã§ã¯ã·ã§ã³
y_screen = (y_world*scale / z) + (screen_height >> 1)
ãŸãã¯ïŒ
z = (y_world*scale) / (y_screen - (screen_height >> 1))
ãã®åŒã¯ããªããžã§ã¯ãã®äžçã®xãŸãã¯y座æšããªããžã§ã¯ãã®zãååŸãããã¯ã»ã«ã®xãŸãã¯y座æšãè¿ããŸãããŸãã¯ãæ¢ç¥ã®äžç座æšãšç»é¢åº§æšã䜿çšããŠãzã«æ²¿ã£ãäœçœ®ãè¿ããŸãã
ã¹ã±ãŒã«ã¯èŠéïŒèŠéãèŠéïŒãå®çŸ©ãã次ã®ããã«èŠã€ããããšãã§ããŸãïŒ
scale_x = x_resolution/tan(x_angle/2) scale_y = y_resolution/tan(y_angle/2)
é«éç·åœ¢è£é
o(x) = y1 + ((d * (y2-y1)) >> 16)
ããã§ã¯ããã¹ãŠã®æ°å€ãåºå®å°æ°ç¹ã§16.16ãšããŠè¡šãããŠãããšä»®å®ããŠããŸããy1ãšy2ã¯è£éãã2ã€ã®å€ã§ãdã¯2ç¹éã®16ãããã®å°æ°è·é¢ã§ããããšãã°ãd = $ 7fffã®å Žåãããã¯2ã€ã®å€ã®äžéã«ãªããŸããããã¯ãå€ã2ã€ã®ã»ã°ã¡ã³ãã®éã®ã©ãã«ããããå€æããã®ã«åœ¹ç«ã¡ãŸãã
åºå®å°æ°ç¹æŒç®
æµ®åå°æ°ç¹æŒç®ã¯ãç¹æ®ãªæ°åŠããã€ã¹ãæããªãå€ãã·ã¹ãã ã§ã¯éåžžã«é«äŸ¡ã§ãã代ããã«ãåºå®å°æ°ç¹ã·ã¹ãã ã䜿çšãããŸãããã®äžã§ãç¹å®ã®æ°ã®ããããæ°ã®å°æ°éšåã«å²ãåœãŠãããŸãããã¹ãã®ããã«ãå°æ°éšã«1ãããã®ã¿ãå²ãåœãŠãæ®ãã®7ããããæ°å€ã®æŽæ°éšã«æ®ãããšä»®å®ããŸãã端æ°éšåã®ãã®ãããã¯ååãè¡šããŸãïŒååãšååãå šäœã«çããããïŒããã®ãã€ãã«æ ŒçŽãããŠããæ°å€ã®æŽæ°å€ãååŸããã«ã¯ãæ°å€ã1ã€å³ã«ã·ããããŸãããã®ã¡ãœããã¯æ¡åŒµã§ããæ°å€ã®å°æ°éšåãšæŽæ°éšåã«ä»»æã®ãããæ°ã䜿çšã§ããŸãã
åºå®å°æ°ç¹ä¹ç®ã¯å ç®ãããæ±ãã«ããã§ãããã®æŒç®ã§ã¯ã2ã€ã®æ°å€ãä¹ç®ãããå°æ°éšåã«å²ãåœãŠããããããæ°ã ãå³ã«ã·ãããããŸãããªãŒããŒãããŒã®ãããä¹ç®ã®åã§ã¯ãªããªãã»ãããå¿ èŠã«ãªãå ŽåããããŸãã ãé«éç·åœ¢è£éãã»ã¯ã·ã§ã³ã®åºå®å°æ°ç¹ä¹ç®ã®äŸãåç §ããŠãã ããã
ãã€ã³ãå転
x' = x*cos(a) - y*sin(a) y' = x*sin(a) + y*cos(a)
ããã¯åçŽãªãã€ã³ãå転åŒã§ãããã®èšäºã§ã¯ãéåžžã«é«äŸ¡ãªæäœã§ãããšç°¡åã«è¿°ã¹ãŸãããã芧ã®ãšãããå°ãªããšã2ã€ã®ããŒãã«æ€çŽ¢ã4ã€ã®ä¹ç®æŒç®ã2ã€ã®å ç®ã䜿çšããŠããŸãããæ£åŒŠå€ãšäœåŒŠå€ã¯åãã€ã³ãã§åå©çšã§ããŸããäžã®å転ãšã¯ãX座æšãšY座æšã§ã¯ãªããZ座æšãšY座æšã§ã®å転ãæå³ããŸãããã®åŒã®å°åºã«ã€ããŠã¯ã軞ã®å転ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
é€ç®ã®å»æ¢
æšæºã®æ圱åŒã§ãªããžã§ã¯ããz座æšã§é€ç®ãã代ããã«ãéè·¯ã®ããããã£ã䜿çšããŠèšç®ãé«éåã§ããŸãã 3Dã»ã°ã¡ã³ãã®zãšyã®äœçœ®ããããã¹ã¯ãªãŒã³ã®ã©ã®è¡ãäžèŽããããèŠã€ããå¿ èŠããããšããŸããæåã«ã3Dã»ã°ã¡ã³ãã®zäœçœ®ã«å°éãããŸã§zã«ãŒããèªã¿åããŸãã次ã«ãã»ã°ã¡ã³ãã®é«ãã«å¯Ÿå¿ããã¹ã±ãŒãªã³ã°å€ãæããŸããçµæã¯ãã»ã°ã¡ã³ããå±ããéè·¯ã®äžã®ãã¯ã»ã«æ°ã«ãªããŸãã
Zãã¹ã±ãŒã«å€ãšããŠäœ¿çšãã
ã¹ã±ãŒãªã³ã°æé ã¯ãã°ã©ãã£ãã¯ããŒã¿ã¬ã³ããªã³ã°æé ã«ããèªã¿åãé床ã®å¢å ãŸãã¯æžå°ã§ããããšãã°ãèªã¿åãé床ã®ååãèšå®ãããšãã¹ãã©ã€ãã®ãµã€ãºã¯2åã«ãªããŸããããã¯ãåãã¯ã»ã«ã¬ã³ããªã³ã°ã§ãã¹ãã©ã€ãããŒã¿ã®èªã¿åãäœçœ®ãååã ãå¢å ããããã2ãã¯ã»ã«ããšã«æŽæ°ã ãèªã¿åãäœçœ®ãå¢å ããããã§ãã
éåžžãã¹ã±ãŒãªã³ã°æé ã«ã¯ãxãyãã¹ã±ãŒãªã³ã°ä¿æ°ãªã©ã®ãã©ã¡ãŒã¿ãŒããããŸããããããä¿æ°ã¯1 / zãªã®ã§ããã®ã¹ãã©ã€ãã®Zå€ãåå©çšã§ããŸãïŒãã ããã¹ã±ãŒãªã³ã°æã«ã¹ãã©ã€ããäžå€®ã«é 眮ããã«ã¯ãã¹ãã©ã€ãã®å¢çã決å®ããããã®ã¹ã±ãŒãªã³ã°ä¿æ°ãå¿ èŠã§ãã
çšèªé
æªãè¡ -C64 VIC IIã°ã©ãã£ãã¯ãããã§ã¯ãåèæ¯ã¿ã€ã«ã®æåã®ãã¯ã»ã«ã§ãVICã¯ããã»ããµã眮ãæããŠãè²ãªã©ã®ããŒã¿ãããã«æ¿å ¥ããŸããããã°ã©ã ãèšç®ãããµã€ã¯ã«ãå°ãªããããããã¯äžè¯è¡ãšåŒã°ããŸãã
æšé«ããã -æšé«å€ã®é åãå€è§åœ¢ãŸãã¯ãã¯ã»ã«ã®ã©ã³ãã¹ã±ãŒããšã³ãžã³ã§ã¯ãããã¯2次å é åã«ããããšãã§ããŸãïŒããããã¥ãŒã§ã©ã³ãã¹ã±ãŒããæ³åããŠãã ããïŒããã ããããŒããšã³ãžã³ã§ã¯ãé«ããããã¯1次å ã§ååã§ãïŒåŽé¢å³ã§é¢šæ¯ãæ³åããŠãã ããïŒã
ã€ã³ããã¯ã¹ã«ã©ãŒã¢ãŒã-ç»é¢äžã®è²ãå°ãªãå€ãã·ã¹ãã ã§ã¯ãéåžžãã€ã³ããã¯ã¹ä»ãã«ã©ãŒã¢ãŒãã䜿çšãããŠããŸãããæã人æ°ã®ããã€ã³ããã¯ã¹ã«ã©ãŒã¢ãŒãã®1ã€ã¯ã256è²VGAã¢ãŒãã§ãããããã®ã¢ãŒãã§ã¯ãåãã¯ã»ã«ã¯ãã€ãã§è¡šãããŠããŸãããåãã€ãã«ã¯ã0ã255ã®ã€ã³ããã¯ã¹å€ãæ ŒçŽãããŠããŸãããç»é¢ãã¬ã³ããªã³ã°ãããšããåãã¯ã»ã«ã®ã€ã³ããã¯ã¹çªå·ã¯ãã¬ããã«ãããŸããããã¬ããã®åãšã³ããªã¯ã262,144ã®VGAã«ã©ãŒã®ããããã§ãããã®çµæãç»é¢äžã«åæã«256è²ãã衚瀺ãããªãå Žåã§ãããŠãŒã¶ãŒã¯ãã倧ããªãã¬ããããåè²ãéžæã§ããŸãã
ç·åœ¢è£éã¯ãç¹ã®éã«ç·ãåŒãããšã«ãããããŒã¿ã®ã»ããããäžéå€ãååŸããããã»ã¹ã§ãã
ã¢ãŒãã£ã¹ãã¢ã«ãŽãªãºã -ããã¯ãé ããªããžã§ã¯ãããè¿ããªããžã§ã¯ãã«éãªããªããžã§ã¯ããæç»ããæ¹æ³ã§ããè¿ãã®ãªããžã§ã¯ããåžžã«é ãã®ãªããžã§ã¯ãã®äžã«ããããšãä¿èšŒããŸãã
å¹³é¢ã°ã©ãã£ãã¯ã¢ãŒãã¯ãNãããç»åããæçµç»åãçæããããã«çµã¿åããããNåã®ã·ã³ã°ã«ãããç»åã§æ§æãããã¢ãŒãã§ããããã¯ãã»ãšãã©ã®ã°ã©ãã£ãã¯ã¢ãŒãïŒchunkyãšåŒã°ããããšããããŸãïŒã®å察ã§ãããNãããã€ã¡ãŒãžã¯Nããããã¯ã»ã«å€ã§æ§æãããŸãã
ã©ã¹ã¿ãŒå¹æã¯ãã¹ãã£ã³ã©ã€ã³ã«åºã¥ãã»ãšãã©ã®ã³ã³ãã¥ãŒã¿ãŒïŒã©ã¹ã¿ãŒïŒãã£ã¹ãã¬ã€ã®æ§è³ªã䜿çšããã°ã©ãã£ãã¯ããªãã¯ã§ãã
ã¹ã±ãŒãªã³ã°ä¿æ°-Zã®éæ°ãZ軞ã«æ²¿ã£ãŠæå®ã®è·é¢ã§ãªããžã§ã¯ãã®ã¹ã±ãŒã«ãä¹ç®ããæ°å€ã
ã»ã°ã¡ã³ãïŒéè·¯ïŒ - ã»ã°ã¡ã³ããšããçšèªã䜿çšããŠãéè·¯ãäžãšäžã®äžæ¹ã§åäœããäœçœ®ã瀺ããŸããããšãã°ãã»ã°ã¡ã³ãã¯ãç»é¢ã®äžååã®å·Šå転ãäžååã®å³å転ããåé¢ããå ŽåããããŸããã»ã°ã¡ã³ãããã¬ãŒã€ãŒã«è¿ã¥ããšãéè·¯ã¯æåå·Šã«æ²ãã£ãŠããå³ã«æ²ãã£ãŠããããã«èŠããŸãã
äžæ¬¡å ã»ã°ã¡ã³ãïŒéè·¯ïŒ-ç§ã¯ãã®çšèªã䜿çšããŠãäžç座æšã§Zã«æ²¿ã£ãè·é¢ãšYã«æ²¿ã£ãé«ãã®äž¡æ¹ãæã€æ°Žå¹³ç·ãæããŸãã3Dãã€ã³ãã§ããé ç¹ãšã¯ç°ãªãã3次å ã»ã°ã¡ã³ãã¯3Dã©ã€ã³ã«ãªããX軞ã«æ²¿ã£ãå·Šå³ã®ç«¯ç¹ã¯ãã©ã¹ãšãã€ãã¹ã®ç¡é倧ã«ãªããŸãã
ãã¯ã»ã«ã¯3次å ã®ãã¯ã»ã«ã§ãããã¯ã»ã«ã©ã³ãã¹ã±ãŒãããã³ã¬ã€ãã¬ãŒã·ã³ã°ãšã³ãžã³ã¯ãCommancheïŒMaximum Overkillã§äººæ°ããããŸãã
Zããã -ç»é¢ã®åè¡ãZã«æ²¿ã£ãè·é¢ã«ãªã³ã¯ããæ€çŽ¢ããŒãã«ã
ã®ã£ã©ãªãŒ
以äžã¯ãã«ã¹ã¿ã ããŒããšã³ãžã³ãäœæããããŸããŸãªæ¹æ³ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããã®ã»ããã§ãã
Cisco Heat

ãã®ã²ãŒã ã®äžã¯ããã£ããããå£ã®ããã«è¿ã¥ããŠããŸããã¿ãŒã³ãéåžžã«èªåŒµãããŠããŸãããšã³ãžã³ã¯éåžžã«æè»æ§ããããè€æ°ã®éè·¯ãåæã«åŠçããŠããããã«èŠããŸãããŸããããéè·¯ã®å¥ã®éè·¯ã«å¯Ÿããé«ãã衚瀺ããããšãã§ããŸãã
ããŒã«ããžã·ã§ã³

ããã¯ãèŠããŠããæåã®ã¹ã ãŒãºãªåãã®æ¬äŒŒäžæ¬¡å ã²ãŒã ã§ããä»æ¥ãããã¯ã°ã©ãã£ã«ã«ã«ããŸãå°è±¡çã§ã¯ãããŸããã
Hydra

Atari Roadblastersã®ãã1ã€ã®ã·ã¥ãŒãã£ã³ã°ã²ãŒã ãããã«ã¯éåžžã«çŸãããžã£ã³ãå¹æããããéè·¯ã¬ã€ã€ãŒã®é è¿æã移åããŸããããã«ãããç»é¢ããæãè¿ããªããžã§ã¯ããæ¶ããŸãããã®ã²ãŒã ã§ã¯ãå°çãŸã§ã®ããŸããŸãªè·é¢ã«ãããªããžã§ã¯ããèå³æ·±ã圢ã§æ圱ãããŸãã
Outrunners

ãã®Outrunã®ç¶ç·šã¯ããžã§ããã³ãŒã¹ã¿ãŒã®ãããªäžã®çŽ æŽãããäŸã§ãããã¹ãŠãéåžžã«èªåŒµãããŠãããè¶ é«éã®ã¬ãŒã¹ã²ãŒã ã«ãªããŸãããåãæ±ãã¯è¯å¥œã§ãã
éè·¯ã®çºç¹

32ãããäžä»£ã®ã³ã³ãœãŒã«çšã®Road RashããŒãžã§ã³ã§ã¯ããã¹ãŠããã¯ã¹ãã£ãªã³ã°ããã建ç©ã¯çžç³ã®æšªã«ã¹ããŒãã«æãããŸããããããã£ãŠãå€ãã®äººã¯ããããå®å šã«å€è§åœ¢ã®ã²ãŒã ã§ããã3doã§ãã°ããå®è¡ããããšããå°è±¡ãæã¡ãŸããããããããªããžã§ã¯ãããšããžã®åšããæ²ããæ¹æ³ã建ç©ã®åçµãåŒãè¿ãããšãäžå¯èœã§ãããšããäºå®ã¯ããããå®å šã«å€è§åœ¢ã®ã²ãŒã ã§ã¯ãªãããšã蚌æããŠããŸããè·¯é¢äžã®éãç·ã¯ãæ圱ãããã»ã°ã¡ã³ãã®ã·ã¹ãã ã®ãã³ããäžããŸãããã©ãã¯ã¯éåžžã«è©³çŽ°ã§å€æ§ã§ãã 16äžä»£ã®Road Rashãé«å質ã§äœãããŠãããæè»ãªãšã³ãžã³ãšåœã®ãã¯ã¹ãã£ãŒããããã«å«ãŸããŠããŸãïŒãã ããé床ã¯é ãã£ãïŒã
ã¿ãŒã

äžãšæ©ã®ããããŒã«ããžã·ã§ã³ã®å身ãæ¬ ç¹ã¯ãããŸããïŒãã®ã²ãŒã ã«ã¯ãäžããæ©ãæ²ç·ãžã®ç§»è¡ã¯ãããŸããããã®ããã«ãã¢ããã°ã°ã©ãã£ãã¯ã¹ã¹ã±ãŒãªã³ã°è£ 眮ã䜿çšãããŸããã
ã¹ãã€ãã³ã¿ãŒIIã¹ãã€ãã³ã¿ãŒII

ã®äœæè ãäœãèããŠããã®ãããããŸãããè¯ãã¢ã€ãã¢ãæªãå®è¡ãéè·¯ã®å¹æã¯ã¿ãŒãã«éåžžã«äŒŒãŠããŸããã移è¡ã¯å°ãè¯ããªããŸãã
Pitstop II

ãã®ææ³ã¯éåžžã«é«éã§ããããã匱ãCommodore 64ã§ããåå²ç»é¢ã®ã¬ãŒã¹ã²ãŒã ããã¬ã€ã§ããŸãã
ãšã³ãã¥ãŒã

ãšã³ãã¥ãŒãã¯ãAtari 2600ã§ã®æ¬äŒŒ3Dã®äœ¿çšæ¹æ³ã瀺ããŠããŸãã
ãšã³ãã¥ãŒãã¬ãŒãµãŒ

ãšã³ãã¥ãŒããšæ··åããªãã§ãã ãããããã¯ãExcitebikeã®3次å ã®é¡äŒŒç¹ã§ãããã¹ã¯ãªãŒã³ã·ã§ããã¯ãäžãäœæããææ³ã瀺ããŠããŸããäžã¯éåžžã«éããæè»ã§ãããäžè¬ã«å°å¹³ç·ã®äœçœ®ã«ã¯åœ±é¿ããªããããè£éããããã€ã³ãã䜿çšããããšæããŸãã
ããŒã¿ã¹

ããŒã¿ã¹ã¯ãããªã湟æ²ããäžã®æè¡ã䜿çšããŠããŸããèå³æ·±ãããšã«ãããŒã¿ã¹ã¯å°å¹³ç·äžã«éè·¯ã®äžéšããã€ã³ããã次ã«ã®ã£ããããåè²ã§å¡ãã€ã¶ããŠäžããã®éäžãã·ãã¥ã¬ãŒãããŸããã
Test Drive II Test Drive 2

ã®ã°ã©ãã£ãã¯ã¹ãã©ã®ããã«äœæããããæ£ç¢ºã«ã¯ããããŸãããã¬ãŒã¹ãå€è§åœ¢ã§ã¯ãªãããšã¯æããã§ãããå®éã«å€ãã®éè·¯ãåçŸããããšããŠããŸãããã®ã²ãŒã ã¯ãNeed for Speedãã·ãªãŒãºã«äŒŒãŠããŸããããªãªãŒã¹æéã®é¢ã§æ°å¹Žã¯è¿œãè¶ãããŠããŸãã
ã¹ããŒããã®ãŒ

ãã®ã²ãŒã ã§ã³ãŒããªã³ã°ãããšãèŠç¹ã移åããã ãã§ãªããéè·¯ãå°ãå·ŠãŸãã¯å³ã«ã¹ã©ã€ãããŸãã