Dendyでのゲヌムの曞き方



この蚘事では、Dendyでゲヌムがどのように䜜成されたのかを明らかにしたいず思いたす。 そしお、これが今どのように行われるかではなく、80幎代ず90幎代にどのように起こったか、そしおその時点で開発者が盎面した問題に぀いおです。 マネヌゞャヌ、デザむナヌ、たたはマネヌゞャヌずしお再教育したプログラマヌの最新の思い出を読むこずに飜き飜きしおいるなら、物事の技術的な偎面を少しでも明らかにするのであれば、catにようこそ。





それからそしお今


最近では、ゲヌム機の開発は、埓来のコンピュヌタヌ甚のプログラムを曞くこずを連想させるようになり、圓時の出来事ず今日の開発者の違いは非垞に倧きくなっおいたす。 䞀方では、今日、技術ず開発文化がはるかに進歩しおおり、高蚀語での開発が可胜になりたした。䞀方で、80幎代には、コン゜ヌルを補造する䌚瀟は、サヌドパヌティの開発者にゲヌムを䜜成するために䜕を䞎えるべきかをただ完党には理解しおいたせんでした。 したがっお、次のプレむステヌションでドキュメンテヌション、5぀のデモディスク、匷力な開発ステヌション、実際にはコン゜ヌル自䜓ず80幎代の盎接開発に適した汎甚コンピュヌタヌのハむブリッドを入手できる堎合、倚くの開発者はコン゜ヌルの仕様を蚘茉した小冊子で満足しおいたした。 しかし、ハヌドりェアの郚分に぀いおは、ラゞオ垂堎に行かなければなりたせんでしたたたは、州ではなく州に䜕があったのでしょうか。





ちょっずした歎史


ニンテンドヌ゚ンタヌテむンメントシステムNESは元々䜜成されたものず考えられおおり、圓瀟のDendyや䞖界䞭の数十のクロヌンがすでにらせん状になっおいたす。











写真を芋お、これが完党に真実ではないかもしれないこずは明らかです。 もずもず、1983幎の日本では、Famicomコン゜ヌルがただリリヌスされおいたした。 いずれにせよ、NESずFamicomの2぀のわずかに異なるコン゜ヌルがありたした。 カヌトリッゞ内のゲヌムのプログラムコヌドは䞡方ずも同じでしたが、それらの開発もさたざたなツヌルによっお実行されたした。 カヌトリッゞ自䜓は倚少異なっおいたした。 NESの堎合、カヌトリッゞ䞊にいく぀かの远加の接觊があり、チップに぀ながったが、理論的には認可されたカヌトリッゞのみにあるはずでした...



1983幎に、任倩堂は新しく䜜られたコン゜ヌルをサヌドパヌティの開発者にしか倢芋おいない。 したがっお、最初のいく぀かのゲヌムは、コン゜ヌルの䜜成者自身によっお䜜成されたした。 それらのいく぀かは、アヌケヌドマシンに既に存圚するゲヌムのポヌトでした。 これらのゲヌムは、NESの暙準によっおも原始的であり、ハヌドりェアのすべおの機胜を䜿甚するわけではありたせん。 その開始期間のすべおのゲヌムは1぀の画面に収たり、カヌトリッゞのデヌタが32キロバむトを超えるこずはありたせんでした。 その期間の最も有名なゲヌムドンキヌコング、バルヌンファむタヌ、マリオブラザヌズ。 皮肉なこずに、NESはスクロヌルレベルの特別なハヌドりェアサポヌトを備えおいたしたが、最初のゲヌムはサむドスクロヌラヌではありたせんでしたが、新しいコン゜ヌルの利点を最倧限に匷調したゲヌムをリリヌスするために、神自身がコン゜ヌルのすべおの機胜を知っおいるず呜じた䌚瀟によっおリリヌスされたした。



32 kbのNESゲヌムのサむズの制限は、最初の数幎でのみ発生したした。 それから、サヌドパヌティの開発者は倚かれ少なかれコン゜ヌルに適応し、32 kbでは誰にずっおも十分ではないこずに気付きたした。 この状況を芋お、任倩堂はすべおの新しいカヌトリッゞのマッパヌを䜜成するこずにしたした。これにより、ゲヌムを1桁倧きくするこずができたした。 ここで、NESアヌキテクチャ自䜓は倉曎されおいたせんが、カヌトリッゞが倉曎され、NES自䜓の機胜が拡匵されおいるこずに泚意する必芁がありたす。



カヌトリッゞには、RAM、ビデオメモリ、コプロセッサ、保存甚の䞍揮発性メモリなど、あらゆる皮類のチップを入れるこずができたす。 理論的には、モデムやラズベリヌパむなどをカヌトリッゞに远加できたす。 もう1぀は、これを実装するには、巚倧な努力ず数日間の無料䌑業が必芁になるずいうこずです。





カヌトリッゞ


NESカヌトリッゞの仕様はただむンタヌネットで芋぀けるこずができ、䞀般的にはコミュニティによっおかなり詳现に説明されおいたす。 しかし、カヌトリッゞの補造プロセス自䜓は、暗闇に芆われた謎です。 ほが確実に、ペヌロッパず米囜では、任倩堂はカヌトリッゞの補造に専念しおいるこずが知られおいたす。 ぀たり、箱自䜓にチップが入っおいたす。



チップセットは幎々増加しおいるため、カヌトリッゞは実際には倉曎されおいたすが、開発者の芳点からはコン゜ヌル自䜓の仕様が倉曎されたず蚀えたす。 この機胜により、NESは長い間人気を博し、他のゲヌム機ず競合しおいたす。



各開発者は、コンパむルされたゲヌムROMのヘッダヌで、ゲヌムで䜿甚されるNES機胜のリストを明瀺的に指定する必芁がありたす。 䞀郚の機胜は「通垞の」カヌトリッゞでサポヌトされおいたす-たずえば、メモリマッパヌですが、任倩堂は将来のカヌトリッゞに切望されたチップを含めるために、保存たたは远加のRAMに远加料金を支払う必芁がありたした。



日本には、カヌトリッゞの補造に埓事し、特定のゲヌム甚に䜜成された独自のチップを同時に远加する䌚瀟がありたした。 その埌、NES゚ミュレヌタヌを䜜成した人たちは、そのようなもの自䜓が倚くの神経现胞を食べ、そのようなゲヌムを頭の䞭で機胜させようずしたした。



カヌトリッゞのアヌキテクチャは、プログラム自䜓ずグラフィックスプラむトが異なるチップにあるこずを暗瀺しおいたす。 スヌパヌマリオブラザヌズのカヌトリッゞの写真の䟋を次に瀺したす。











私たちず䞀緒に販売されたカヌトリッゞでは、そのようなチップは通垞、コン゜ヌルに付属しおいるカヌトリッゞでのみ䜿甚されおいたしたが、垞にそうずは限りたせん。 海賊カヌトリッゞは、チップの代わりに黒のしみを䜿甚したした。ほずんどの堎合、それらは同じ回路でしたが、異なる技術を䜿甚しお䜜成されたした。 䜕で コメントで、この質問に察する答えが芋぀かるず思いたす。





開発機噚


公匏のニンテンドヌSDKに関する情報は非垞に乏しいので、すでに存圚しおいなかったず信じる傟向がありたす。 ぀たり ネットワヌク䞊にはそのようなナニットの写真が数枚ありたすが、任倩堂からリリヌスされたずは蚀われおいたせん。さらに、その倖芳は、圌らが最終的な開発者のクラフトである可胜性が高いこずを瀺唆しおいたす。 そのため、利甚可胜なものはすべお仕様だけでした。その埌、各開発者は可胜な限りスピンしたした。 自家補の開発機噚は、曞き換え可胜なデヌタバンクずデバッグステヌションを備えた倉曎されたカヌトリッゞの2぀のクラスに分けられたした。



最初のケヌスでは、すべおが比范的単玔です。埓来のカヌトリッゞでは、デヌタバンクずグラフィックスが同様のチップに眮き換えられ、䜕床も曞き換えられる可胜性がありたした。 これは、そのようなツヌルを䜿甚した開発が満足しおいるず蚀うこずではありたせん-再コンパむルのたびに、カヌトリッゞを再フラッシュする必芁がありたした。 もちろん、プログラムの量が少ないにもかかわらず、圓時のコンピュヌタヌの機噚ず電力を考えるず、ファヌムりェアの速床は䜎かった。 それにもかかわらず、いく぀かの䟋でこのデバむスは同じで、倚くの堎合プログラマヌの唯䞀のツヌルでした。



RAMカヌトリッゞの堎合、開発ははるかに高速でした。 実際に開発が行われたコンピュヌタヌを䜿甚しお、ゲヌム䞭にメモリを盎接線集するこずができたした。 EEPROMチップはメモリバンクに眮き換えられたした。メモリバンクは、コン゜ヌルからは通垞のカヌトリッゞず芋なされ、開発者のコ​​ンピュヌタヌに接続されおおり、通垞のRAMでした...たたはディスク...たたはデバむス-プログラマヌが曞いたドラむバヌに䟝存しおいたした圌の発案のため。



最も頑固なたたは成功した開発者は、デバッグステヌションを自慢するこずができたす-倉曎されたNESは、RAMカヌトリッゞのすべおの利点に加えお、ビデオメモリ、プロセッサレゞスタなどの内容を芋お深いデバッグを行うこずも可胜にしたした たずえば、そのようなステヌションの1぀。











どのコンピュヌタヌで開発が行われたのかは䞍明ですが、コン゜ヌルでゲヌムのデバッグバヌゞョンを実行するために必芁な無線コンポヌネントの倧隒ぎを考えるず、コンピュヌタヌモデルはあたり重芁ではありたせんでした。 日本の開発者がMSXコンピュヌタヌを䜿甚したこずはよく知られおいたす 。 かなりの確率で、Apple 2コンピュヌタは非垞に䞀般的であり、NESで䜿甚されおいるプロセッサず同様のプロセッサを備えおいたため、米囜で䜿甚されたず蚀えたす。





゜フトりェア


ゲヌムの開発に䜿甚される䞻な、そしお唯䞀のプログラミング蚀語はアセンブラヌです。䞀郚の幞運な人はコンパむラヌを入手できればCで曞いおいたす。 しかし、この堎合でも、䞀郚の䌁業は任倩堂からアセンブラヌを賌入せず、独自にアセンブラヌを䜜成したした。 なぜ呌ばれたのかを蚀うのは困難でしたが、倚くの情報源は、その存圚の最初の数幎に、ファミコンのツヌルをサヌドパヌティの開発者ず共有しなかったず蚀いたす。



NESで䜿甚されたプロセッサは、Apple 2やCommodore 64のようなコンピュヌタヌにも存圚し、アセンブラヌやCコンパむラヌさえありたしたが、NESアヌキテクチャにはただいく぀かの違いがあり、野生のシステム制限ずバンキング叀いアンロヌドが必芁ですプロセッサがアクセスできる領域に新しいプログラムコヌドをロヌドしたため、コン゜ヌルの最倧機胜を䜿甚するCゲヌムを䜜成できたせんでした。



アセンブラヌは、グラフィック゚ディタヌ、プログラマヌ、デバッガヌなど、手動で䜜成する必芁のある唯䞀のものではありたせん。これらはすべお、プログラマヌの思いやりのある手によっお䜕床も䜜成されたした。 マップ゚ディタヌは別の蚘事ず芋なすこずができたす。コンピュヌタヌは匱くお䞍明瞭であるため、たずえば、メトロむドのマップ党䜓を手動で玙に描いおから、ゲヌム内に断片的に゚ンコヌドしたした。





開発プロセス


開発者はしばしば、NESを目にしなかった昚日の孊生を募集したした。 ゲヌムを䜜成する䞭小䌁業の倧郚分は、「シャラスキナオフィス」ずいう甚語が最適でした。 兞型的なゲヌムでは、開発に3〜6か月かかりたした。 チヌムはほずんどの堎合小芏暡で、3〜10人でした。 1ゲヌムをリリヌスし、その埌跡圢もなく消えた倚くのオフィスがありたした。



開発プロセスは通垞、開発ツヌルの䜜成から始たりたした。 その時たでにゲヌムのコンセプトはすでに甚意されおいたしたが。 䞀般に、初期の頃、倚くのNESゲヌムはアヌケヌドマシンからの移怍でした。 ゲヌム自䜓がただプログラムされおいない堎合でも、䜜曲家ずアヌティストが問題を取り䞊げたした。 Dendivゲヌムのほずんどすべおの音楜ずすべおのグラフィックは、コンピュヌタヌで䜜成されたものではありたせん。



最初に、デザむナヌは背景ずキャラクタヌのスケッチを描いおから、適切な画像を遞択した埌、いわゆるピクセレヌションが始たりたした-NESパレットは画面䞊で䞀床に14色しかサポヌトしおいなかったので、この制限を考慮しお画像を再描画する必芁がありたした。 次に、図面をグリッドに描画し、必芁に応じお匕き䌞ばしたり圧瞮したりしたした-NESハヌドりェアは8x8ピクセルのスプラむトをサポヌトしおいたした。 マリオのキャラクタヌは、キノコを食べた埌、4パスで描かれたした-8パスで。 些现なこずですが、無芖されるこずもあるため、画面に倚くの敵がいたずき、䞀郚のゲヌムでスプラむトが消えるのを目にしたした。 ちなみに、ビデオメモリヌには2皮類ありたした。1぀は通垞、キャラクタヌスプラむトやその他の小さなものが保存され、もう1぀はより倚くのレベルマップが保存されおいたした。 埌者は別のアドレス空間にあり、ハヌドりェアアクセラレヌションによるスクロヌル操䜜をサポヌトしおいたした。



䜜曲家の仕事はプログラマヌの仕事にスムヌズに流れ蟌みたした-音楜を曞くこずは物語の䞀郚に過ぎず、ゲヌムに゚ンコヌドするこずも利益の問題ですが、それから楜しみが始たりたした。 䞊蚘のように、ゲヌムの速床が䜎䞋するこずがありたした。そのため、プレリリヌスでそのようなブレヌキが前䟋のないレベルに達した堎合、䜜曲家は音楜を「最適化」するタスクを䞎えられたした-䞍芁なオペコヌドを削陀しおゲヌム党䜓をスピヌドアップしたした。 そのずき、䜜曲家の真の技術が明らかになりたした。 映画のゲヌム開発者が垞に映画の音楜を䜿甚するこずを蚱可されおいたずいう事実により、䜜曲家の恥ずべき箱に䜙分なコむンが远加されたした。 このように、䜜曲家はオリゞナルでなくおはならない䜕かを曞かなければなりたせんでした。



NESのゲヌムでは、いわゆるリパッケヌゞが䞀般的でした-これは、1぀のゲヌムがスプラむトずレベルを倉曎し、時にはゲヌムプロセス自䜓をわずかに倉曎するこずに基づいお他を䜜成するずきです。 たずえば、CastlevaniaずNinja Gaidenは同じ゚ンゞンで䜜成され、Darkwing DuckはMegamanRockmanシリヌズのゲヌムの゚ンゞンに基づいお䜜成されたした。 特に、ダンディゲヌムの倧郚分が同じタむプのサむドスクロヌラヌであるずいう事実を考慮するず、リパックの本圓の範囲は䜕かを掚枬するこずしかできたせん。





開発者


すでに述べたように、それらの倚くは昚日の孊生でした。 圓時は倚くのアヌキテクチャがあったため、少なくずも䞀郚のアセンブラの知識で十分な堎合がありたした。 アヌケヌドゲヌム機のプログラマヌのコホヌトから移行した倧量のフレヌム。 埌者は、むンタビュヌず区別するのが非垞に簡単です。圌らは、プラットフォヌムを倉曎した埌に遭遇したNESの䜓系的な制限を正圓化しようずするたびに。 真実は-NESは圓時のテクノロゞヌの最前線で䜜成されたのではなく、スロットマシンに搭茉されたハヌドりェアよりも劣っおいたした。 しかし、顧客にずっおは費甚が少なく、プログラマにずっおは䞍満が増えたす。 ゚ンドプログラマヌの芳点からのNESの制限の適切な説明は、次のビデオで芋るこずができたす http : //www.youtube.com/watch?v=Hvx4xXhZMrU



もちろん、圓時の開発者たちが正確に䜕をしおいたかに興味がありたしたが、残念ながら、この質問には答えられおいたせんでした。 プログラマヌは、その期間に぀いおのいたいたしいこずを芚えおいたせん。 ぀たり 圌らはいく぀かの組織的な瞬間、チヌムで生じた困難、週末のピザの食べ方、借金を返枈するためにNESのプログラマヌずしお仕事を急いで探した方法を芚えおいたすが、眠れぬ倜を過ごしたコンピュヌタヌのブランドに名前を付けるこずはできたせんでした。 そしお䞀般的に、圌らの仕事は日垞的なものずしお受け止められおいお、圌らは人生のために数癟䞇䞖代の蚘憶に残る玠晎らしいものを創造するずいう感芚を持っおいなかったず蚀えたす。



それから数幎埌、圌らは曞いたものの重芁性を理解し始めたした。 そしお、圌らは本圓に恥ずかしくなりたした。 それらは理解できたした-その圓時のコン゜ヌルの動物園、圌らの未来の鈍さ、開発䞭のミクロ管理-これらすべおが、あなたが䜕かを理解できない、理解できないものを曞いおいるずいう印象を䜜りたした、そしおそれはどのような芋通しで明確ではありたせんでした。



すでに述べたように、䌁業の䞭には倚くの日垰り旅行がありたした。今では、この垂堎で詊しお、砎産し、忘华されたiPhone甚のゲヌムを曞いおいるようなものです。 膚倧な数のDendiv ROMには、開発者に関する情報が含たれおいたせん。これは、プログラマによる䜜業結果の評䟡が非垞に䜎いこずを瀺しおいたす。



驚くべきこずに、30幎経っおもゲヌムを開発し続けおいる人たちがいたした。 それらは゜ヌシャルネットワヌクで芋぀けるこずができたすが、そのうちの少なくずも1぀に到達するための2ダヌスの詊みが倱敗した埌、私はこの圹に立たない掻動をやめたした。 しかし、私がロムの最も倧芏暡なコレクションから䜕ずか匕き裂いた開発者の名前のリストはこちらです。





きょう


最近では、倚くの人がNES甚のゲヌムを曞いおいたすが、それはたったく問題です。99は、カヌトリッゞを䜜成するこずを考えずに、゚ミュレヌタ専甚にサンプルをプログラミングしおいたす。 たずえそうではなくおも、この方法のほうが優れおいたす。今日、プログラマヌには、デバッガヌが組み蟌たれた゚ミュレヌタヌ、既補のマクロアセンブラヌおよびCコンパむラヌ、コミュニティによっお䜜成された倚数のスプラむトおよび音楜゚ディタヌがありたす。 nesdev.com Webサむトには、この骚の折れる䜜業を自分で行うためのすべおが含たれおいたす。 たたは、少なくずもこのサむトのWikiセクションを芋お、ダンディに぀いおあなたがどれだけ知らなかったかを調べる䟡倀がありたす。



そのため、今日は、マむクロコントロヌラプログラミングに専念する科目で自分の研究宀甚のコヌドを曞いたが賌入したこずがないダンディのために、どの孊生もゲヌムを曞くこずができたす。





おわりに


その時代の発展に぀いお埗られた断片的な情報から刀断するず、ほが30幎間で䜕も倉わっおいたせん。 そしお、1985幎にDandyでゲヌムを䜜成するプロセスは、今日のスマヌトフォン甚のカゞュアルなおもちゃの䜜成ずほずんど倉わりたせん。 誰かがより詳现な情報を持っおいる堎合、私はそれを蚘事に喜んで远加したす。 リストからプログラマヌにグヌグルで質問するこずもできたす。運がよければもっず笑顔になるかもしれたせん。 そしお、神が犁じおいるなら、あなたは今、iPhone、PSP、たたはさたざたなタブレットのおもちゃをリベットしおいる-20幎埌に誰かが間違いなくそれを必芁ずする日蚘を぀けなさい。



All Articles