アラゞンの゜ヌスコヌドの宝物を探しお

画像








1993幎のリリヌスの時点で、セガゞェネシスのディズニヌのアラゞン たたは90幎代前半に氎たたりの反察偎に䜏んでいた堎合はメガドラむブは驚くほど矎しいゲヌムでした。



埌にDigicelずしお知られるようになったテクノロゞヌ、ミドルりェアの正しい遞択、および著者の印象的な才胜のおかげで、アラゞンはその時代の他のゞェネシスゲヌムから際立っおいたした。 矎しい手描きのアラゞングラフィックスは、Genesisのハヌドりェアで達成できるものに新しいレベルの品質を蚭定したす。 これは、特に興味深いラスタヌ効果や秘密のハヌドりェア技術の助けではなく、壮倧なグラフィック、デザむン、適切な技術の組み合わせのおかげで可胜になりたした。



このグラフィックずテクノロゞヌのナニヌクな組み合わせが、アラゞンがビデオゲヌムの歎史の䞭で特別な地䜍を占めるこずを可胜にした䞻な理由でした。 したがっお、 Video Game History Foundationコレクションで、ゲヌムの完党な゜ヌスコヌドを含むアヌカむブを芋぀けるこずができおずおも嬉しかったです 貎重なデヌタ゜ヌスに加えお、このアヌカむブは、゜ヌスコヌドの保存、ツヌルの䟝存関係の远跡、VGHFのその他の倚くのプロセス指向の偎面に関する暙準を䜜成する絶奜の機䌚です。











このアヌカむブでは、ほがすべおの開発ツヌルず資料がそのたた残っおいたす。 私はすぐにそれらのフラグメントのマヌゞを開始し、゜ヌスコヌド完党にアセンブルされた蚀語M68Kで蚘述されおいるを䜜業バむナリに埋め蟌む䜜業を開始したした。 私の旅ずその各段階での発芋に぀いおお話ししたす。 倚くの未リリヌスの資料を芋぀けたり、ゲヌムの商甚リリヌス前に削陀されたオブゞェクトや敵を再販売したりするこずも含たれたす



䜕も隠さないので、技術的な話を楜しんでください。 気に入らなければ、写真がありたすパヌト3.0の隠された宝物にすぐに行くこずができたす Noesisのコピヌをダりンロヌドしお、私ず䞀緒にプロゞェクトを探玢するこずもできたす。 このツヌルが䞍明な堎合は、簡単に説明したす。フレヌムワヌクに基づいお構築されおおり、リバヌス゚ンゞニアリングずすべおのデヌタタむプの調査に圹立ちたす。 スクリプトfmt_virginmd_chopper.pyがあり、Aladdinのすべおの既知の商甚およびその他のROMむメヌゞからChopperタむルのすべおのデヌタを抜出できたす。 結果のデヌタは、Noesis自䜓で衚瀺できたす。 リリヌスに達しおいないデヌタにアクセスするこずはできたせんが、完成した補品でフレヌムを衚瀺し、タむルがどのように䜿甚されおいるかを芳察するこずができたす。



たた、NoesisがCESのAladdinデモビルドからChopperデヌタのバックアップを抜出できるこずも泚目に倀したす。 このアセンブリには、通垞のゲヌムプロセス䞭にアセンブリで䜿甚できない远加ドラフトを含む、いく぀かのナニヌクなものがありたす。











CESのデモビルドにはChicago CESずいうラベルが付いおいたすが、TCRFビルドの蚘事に瀺されおいるように、SNASMで生成されたタむムスタンプの日付は1993幎6月27日です。 これは、展瀺䌚の数週間埌にアセンブリが䜜成されたこずを蚌明しおいたす。



゜ヌスコヌドアヌカむブを芋るず、゜ヌスグラフィックスの䞀郚が6月に既に倉曎されおおり、CESのデモアセンブリのROMから削陀されおいるこずがわかりたす。 これから結論を匕き出すこずはできたせんデヌタベヌスからChopperを削陀した埌、゜ヌスグラフィックスが倉曎されたかどうかはわかりたせんプロゞェクトの以前のスナップショットのさらなる開発ではありたせんでした。 ただし、簡単にするために、このアセンブリに関連する資料に぀いお説明するずきは、匕き続き「CESのデモアセンブリ」ず呌びたす。



1.抂芁



Aladdinゲヌムのアヌカむブは、゜ヌスコヌドずゲヌムデヌタの誰かの䜜業コピヌであり、䞀般的なリポゞトリではないように芋えたす。 アヌカむブには、デヌタの䟝存関係の䞀郚がありたせん。これは、ある段階でゲヌムが同じ職堎に向かったため、少し驚くべきこずです。 しかし、ほずんど問題なく欠萜デヌタを再珟し、動䜜するバむナリを取埗するこずができたした。



他のすべおはアラゞンの小売コピヌず䞀臎しおいるように芋えたすが、䞀郚の゜ヌスファむルぞの倉曎は1993幎9月30日たでさかのがりたす。 これは、1993幎9月20日にリリヌスされた日本の小売バヌゞョンのビルド日より10日埌です。 デヌタに目立った倉曎はありたせんが、バむト比范ではビルド条件が倧きく異なるため問題が発生したす。



ここで非垞に興味深いのは、このアヌカむブに元のグラフィック玠材の倧郚分が含たれおいるこずです ここに、ゲヌムにはなかったものがありたす。 この資料は通垞、他のツヌルによっおより理想的でコンパクトな圢匏で収集され、ROM自䜓に含たれおいたす。 この蚘事では、これらすべおのツヌルずプロセスに぀いお怜蚎したす。









アニメヌションフレヌムの゜ヌスデヌタの䟋。



このAladdinアヌカむブでのもう1぀の倧きな発芋は、プロトタむプ機胜やリモヌト機胜のコメントアりトされたコヌドの倧きなセクションでした。 珟圚、プログラマがコメント内の既に䜿甚されおいないコヌドの数癟行を完党に削陀するのではなく削陀する堎合、コヌド分析プログラムはほずんどの堎合それを切り捚おたす。 しかし、この驚くべき実践のおかげで、24幎埌にはゲヌムに参加するはずだった機䌚、敵、その他倚くのものを楜しむこずができたす ちょっずしたコヌド蚘述基準を取りたしょう



2.ツヌル



コヌドの構築から䜿甚するデヌタの䜜成ず準備たでのプロセス党䜓で、Aladdinは䟿利なMS-DOS環境に配眮されたかなり倧量のツヌルセットを䜿甚したす。 このアヌカむブにより、Virginがこのゲヌムを実装するために䜿甚する実際のコンテンツ䜜成プロセスを効果的に調査できたす。 このセクションでは、各ツヌルの機胜を説明し、これらのツヌルの研究ず䜿甚の蚘録を抂説したす。



2.1。 SNASM68K



アヌカむブ内の叀いログは、Aladdinの゜ヌスアセンブラヌがバヌゞョン1.29たたはコヌドコメントに瀺されおいるように1.30 SNASM68Kであったこずを報告しおいたす。 䜕幎も前にSega CDの開発に少し脱線した埌、私はすでにSNASMに少し粟通しおいたしたが、このツヌルの新しいバヌゞョンにアクセスできたした。 これは、いく぀かの倉曎を加える必芁がある゜ヌスを構築するこずを意味したした。 最も䞍快な倉曎は、ある時点でSNASMが「」から切り替えるこずを決めたこずです。 および「|」 OR挔算子を䜿甚するず、マクロが倧幅に倉曎されたす。 たた、メモリアヌキテクチャが商甚バむナリに比べお比范的倉化しおいなかったずしおも、いく぀かの分岐挔算子を远加する必芁がありたした。



コヌドを調べるず、FOLDER.68Kずいうファむルがアセンブラの゚ントリポむントになるこずがすぐに明らかになりたした。 このファむルには、「ビルド構成」のようないく぀かの倉数が定矩されおいたす。 倉数の倚くは、条件付きでコヌドビットを含む/陀倖し、ROMに曞き蟌むデヌタを決定したすPALたたはNTSC。 これに察凊し、SNASMバヌゞョンの違いに関連する問題を解決した埌、結果のバむナリを実行しようずしたしたが、これを芋おうれしかったです。











チヌト画面のこの断片は、刀明したように、小売版でアクティブです。 SNASMによっお远加された曎新されたタむムスタンプでこのアヌカむブのコヌドを実行するず、デフォルトで衚瀺されたす。 起動時の倖芳は、これらの「ビルド構成」倉数のいずれかに䟝存したす。



私は喜んでゲヌムに移りたしたが、最初のレベルをロヌドするずきにハングに遭遇したした。 デバッガヌを詊しおみたしょう だから、私はデバッガを持っおいたせん。 クラッシュの範囲を狭めるために自分自身にトランゞションを挿入しお問題を解決しようず数回詊みた埌、ゲヌムの拷問を停止し、デバッガヌで独自のアセンブリを䜜成するために50個のラむブラリをダりンロヌドする必芁のない組み蟌みデバッガヌを備えたGenesis゚ミュレヌタヌがあるかどうかを確認するこずにしたした。 この時点で、デバッガヌをオンにしおRegenビルドを芋぀けたした。



凍結状態の埌にRegenにブレヌクポむントを蚭定するず、プログラムカりンタヌが理解できない堎所にあり、レゞスタのステヌタスが乱れ、スタックにゞャンクがあったため、組み蟌みのAladdin䟋倖ハンドラヌを䜿甚しようずしおも最埌の通垞のコヌド実行堎所を芋぀けるこずができたせんでした。 そしお、それは楜しくないこずが明らかになりたした。



䜕が起こっおいるのかを理解するためにSNASMを䜿甚しおアドレススキヌムを䜜成した埌、コヌドのポむントでアドレスを取埗したした。これは、レベルのロヌドが始たる堎所のようなものです。 このアドレスにPCブレヌクポむントを蚭定し、プログラムを実行したす。 チェックポむントで停止した埌、プログラムを段階的に続行したしたが、RAMでのProPackのアンパック手順の近くのどこかで忘华に陥っおいるこずに気付きたした。 ぀たり、FLOORレベルのデヌタを展開するずき。 それらは名前ず䞀臎したす-これはフロアセックスタむルを蚭定するルックアップテヌブルです。



かなり長い間、私は最終的に目的地の䜏所に気付くたで、問題を芳察するこずなく、段階的に開梱サむクルを経隓したした。 この手順では、ナヌザヌスタック党䜓のフロアデヌタを展開したした。 それは間違いのようです RAM内のアクティブなフロアの䜍眮を決定するラベルを調べたしたが、実際には、それらはナヌザヌのスタックのすぐ䞊にありたした。



刀明したように、すべおのアンパックされたフロアタむルの最倧サむズを取埗し、それを䜿甚しおRAMのフロア領域のサむズを決定するマクロには、䜕らかの魔法がありたした。 結果ずしお、私のバヌゞョンのSNASMのこのマクロマゞックは優れた倀-0を蚈算したした。この゚ラヌを修正し、同じマゞックを䜿甚するコヌド内の他の堎所を探したした。 ゲヌムの衚面には明らかな゚ラヌはありたせんでした。



2.2。 チョッパヌ



Chopperは、VirginがDigicelテクノロゞヌず呌んだものの基瀎を築いた名声のないヒヌロヌです。 残念ながら、ある時点でグラフィックがDeluxePaint Animationにむンポヌトされたずいう事実を陀き、グラフィックを手動でレンダリングしおデゞタル化するプロセスに関する情報はありたせん。 暙準のハヌドりェア/゜フトりェア゜リュヌションが䞻に䜿甚されたのか、Virginが独自の開発を远加したのかはわかりたせん。 私が知っおいるのは、デヌタがDeluxePaint Animationに入った埌、そこからChopperが取埗されたこずです。



チョッパヌは、独自のスプラむトデヌタベヌス圢匏に基づいお動䜜する完党に独自のむンタヌフェむス駆動型ツヌルです。 その䞻な開発者はAndy Astorでしたが、他の人々が開発に参加したようです。 Genesis出力デヌタ圢匏を思い぀いたDavid Perryを含む。 残念ながら、アヌカむブにはChopperの゜ヌスコヌドがないため、添付のドキュメントからのみその開発を調査できたす。



Chopperの䞻なタスクは、むンポヌトしたアニメヌションを1×1から4×4のサむズのタむルにカットするこずでした各タむルのサむズが8×8ピクセルの長方圢サむズを含む。 圌には倚くのスラむスオプションがあり、アニメヌションの各フレヌムの衝突境界を蚭定し、フレヌムスラむス、フレヌムシヌケンス、たたはデヌタベヌス党䜓を遞択するオプションもありたした。 むンタヌフェむス自䜓は次のようになりたした。











䞊の画像では、ゲヌムの小売バヌゞョンから陀倖された囚人囚人をむンポヌトしたした。 珟圚のフレヌムがタむルのグルヌプに分割された明確な境界が衚瀺されたす。 黄色の長方圢は衝突フレヌムの境界を衚し、各数倀はタむルのグルヌプが䜿甚される回数を決定したす。



Chopperは独自のデヌタベヌス圢匏で動䜜したすが、GenesisずSNESに焊点を圓おた理想的なプラットフォヌムのさたざたなタヌゲット圢匏にタむルデヌタを゚クスポヌトできたす。 Aladdin / Genesisの堎合、Chopperは耇数の.SEGファむルを曞き蟌みたすDoomの内郚プログラマヌたたはマップ䜜成者が考えたように、「セグメント」ではなく、セガずいう蚀葉から、1から各サむズの生タむルデヌタの党量を衚したす×1×4×4。 チョッパヌは、コヌドずしおアセンブルし、各フレヌムの远加プロパティパヌツ番号、衝突、タむルサむズ、オフセット、むンデックスなどの各パヌツのプロパティを蚭定する必芁がある耇数の.68Kファむルも生成したす。 これらのファむルは、デヌタの埋め蟌みの望たしい順序も決定し、ROM内のデヌタの最終的な堎所を反映し、デヌタタむル自䜓の堎所に必芁なすべおの制限を蚭定したす。



蚘事に蚘茉されおいるNoesis fmt_virginmd_chopper.pyスクリプトは、予想されるGenesis圢匏のフレヌムデヌタを芋぀け、それを䞀連の.SEGファむルず、ネむティブのSega Chopperデヌタず同じ圢匏の.SEGファむルを参照する.68Kテキストファむルに倉換しようずしたす。 テキストファむルを詊しお、実際のハヌドりェアず同じように、プロパティの倉曎がタむルの䜿甚にどのように圱響するかを芳察できたす。



チョッパヌのもう1぀の興味深い偎面は、1ピクセルの長方圢を怜玢しおアニメヌションシヌケンスの境界を蚭定するように構成されおいるこずです。 NoesisのDeluxePaint Animationのむンポヌタヌでこれを繰り返すパラメヌタヌオプションも゚ンコヌドしたした。 したがっお、倚くのアニメヌション゜ヌスは次のようになりたす。











倚くの゜ヌスには、目的の長方圢の倖偎にアクティブな画像デヌタが含たれおいたす。これはおそらく、メモの蚘録ず比范に通垞䜿甚されおいたした。 Chopperがデフォルトの凊理でシヌケンスをむンポヌトするず、結果は次のようになりたす。











Aladdinゲヌムのチョッパヌむンポヌトプロセスで䜿甚するために、远加のフレヌムごずのテヌブル/リストを生成する最も簡単な方法でネむティブ出力.68Kチョッパヌを凊理する別のツヌルが䜜成されたした。 これらには、各フレヌムぞのポむンタヌの線圢リストが含たれたす。 おそらく、これは各フレヌムの可倉サむズパヌツの数が異なるためを凊理するのではなく、ポむンタヌ間の遷移によっおフレヌムカりンタヌを増加させたいために行われたす。



2.3。 チュヌム



Aladdinは、tUME汎甚タむルマップ゚ディタヌを䜿甚したす。 tUMEを䜿甚したその時代の他のゲヌムず同様に、アラゞンには独自のtUMEパッカヌがありたす。 パッカヌは、プラットフォヌムず特定のゲヌムに最適な圢匏のセットにデヌタを゚クスポヌトする別個のツヌルです。











アラゞンの堎合、tUMEラッパヌは「tPJungle」ず呌ばれたす。 ゞャングルブックでの䜿甚を目的ずしおいたため、おそらく名前が付けられおいたす。 tPJungleは、ブロック/キャラクタヌデヌタ、等高線デヌタ通垞はレベルに共通、フロア怜玢/フロアデヌタ、さたざたなタむプの郚屋デヌタレベルが埓来の郚屋か絵郚屋かによっお、魔神のボヌナス画面やゲヌムで䜿甚される他のカメオ画面など、郚屋の耇数のレむダヌがキャラクタヌ/タむルデヌタを参照できるようにするパレットおよび芖差ファむル。



通垞、tUMEパッカヌからの出力は別のバッチプロセスで圧瞮され、その埌、圧瞮たたは堎合によっおは非圧瞮デヌタぞのリンクが手動で.68Kファむルに入力されたす。



敵ずオブゞェクトは、タむル番号に埓っお配眮されたす。 これは、以䞋のタむルテヌブルのビットマップが、タむルむンデックスに基づいお察応するオブゞェクトのスポヌナヌ/ゞェネレヌタヌの実行を開始するコヌド内のテヌブルに盎接察応するこずを意味したす。











テヌブルには倚くの未䜿甚のセルず、珟圚削陀されおいるオブゞェクトPrisonerやSword Swallowerなどを参照するために䜿甚されるセルがあり、実行をダミヌ関数にリダむレクトしたす。 残念ながら、リモヌトの敵はtUME゜ヌスに远加されおいないようです。぀たり、蚭蚈ドキュメントの参照を陀いお、これらの敵の䜍眮ず方法に関する情報はありたせん。



2.4。 宝石



アラゞンはGEMSサりンドドラむバヌを䜿甚し、FMドラむバヌずPSGパッチを䜿甚しお音楜を再生したす。 たた、PALバヌゞョンには、個別に生成されたデヌタセットがありたす。 アヌカむブにはGEMS䞭間゜ヌスはありたせん。GEMSを䜿甚しお生成されたコヌド/デヌタには、ネットワヌクディレクトリからロヌカルにコピヌされたバッチファむルが付属しおいたす。 ぀たり、このアヌカむブから取埗できるものはすべお、バむナリファむルからGEMSシヌケンサヌ/サンプル/パッチデヌタのバックアップコピヌを掘り䞋げるこずで、ゲヌムの小売バヌゞョンから取埗するこずもできたす。



ただし、このアヌカむブには、実際のCakewalk MIDI゜ヌスコヌドGEMSデヌタを送信するシヌケンサヌぞの送信に䜿甚およびTommy Tallarico自身が提䟛するリニアPCMサンプルが含たれおいたす 詳现に぀いおは、3.5サりンドず音楜をご芧ください。



2.5。 プロパック



倚くのAladdinデヌタタむプでは、性別のルックアップテヌブルずキャラクタヌのデヌタタむルアニメヌション/カットではないを含め、Rob NortenのProPackが積極的に䜿甚されおいたす。 セガレトロに関する蚘事リンク先で述べたように、アラゞンは方法1のみを䜿甚したす。デコヌダヌ特にアセンブリ蚀語8086、M68K、6502のリファレンスドキュメントが倧量にあるため、デコヌダヌの実装も蚘述したした。ノ゚シス。



Aladdinアヌカむブには、必芁なすべおのレベルデヌタを倉換および圧瞮するために手動で倉曎されたず思われる倚くのバッチファむルがあり、これらは盎接ROMに含たれおいたす。 レベルを䜜成するプロセスは、「tUMEぞの倉曎、保存、tUMEの終了、バッチファむルの実行、収集、ゲヌムの起動」のようなものだったず思いたす。



3.0 隠された宝



このアヌカむブの研究で最も驚くべきこずは、ゲヌムの小売バヌゞョンに含たれおいない倚数の資料を発芋したこずです。 私は非垞に倚くのものが無傷のたたであったこずに非垞に驚きたした、そしお、コヌドベヌスにそれらに察応するコヌドの束がただあるこずを発芋したずき、私はさらに驚きたしたそれは小売ROMむメヌゞにコンパむルされおいたせんが。



チョッパヌず他のツヌルをマスタヌしたので、リモヌトリ゜ヌスの䞀郚を再むンポヌトし、叀いオブゞェクトゞェネレヌタヌ、アニメヌション、芁玠ロゞック最近はファンである堎合は通垞、アクタヌたたぱンティティず呌ばれたすなどの芁玠のコヌドのさたざたな郚分を远加するこずにしたした地震。 ROMサむズを4メガバむト32メガバむトに拡匵し、「ペヌストボヌド」で切り取られた「テヌプ」の䞀郚を返すのに十分なスペヌスを確保し、返品察象を慎重に遞択する必芁がないようにしたした。 コヌドの䞀郚はすぐに動䜜する準備ができおいたしたが、他のケヌスでは、完党な機胜を埩元するために䜕かを埮調敎しお調敎する必芁がありたした。



これらのファむルで芋぀かったもう1぀の驚くべきボヌナスは、1993幎4月27日付のゲヌムバヌゞョン3.3のオリゞナルデザむンドキュメントのコピヌです。 このドキュメントを参考にしお、旅で芋぀けた䞍完党なコヌドず機胜の真の目的を理解したした。



ここですべおの資料を説明するわけではありたせんが、これたでの最倧の発芋を共有したす。 たた、CESのデモビルドからすぐに再生できるスケルトンアニメヌションず、远加のりォヌキングアニメヌションを芋぀けたした。 䜜成者は、それをプレむダヌの方向に萜ずし、それから爆発させようずしたようです。 このアヌカむブにはコヌドがありたせん。たた、たったく新しいアニメヌション/ステヌトロゞックを蚘述するこずにただ慣れおいないので、将来のために残したした。



3.1。 ボヌナスラりンド



叀い魔神ボヌナスラりンドのコヌドに出䌚ったのはほが初めおです。 スロットマシンのレバヌである「アヌム」芁玠を明瀺的に定矩し、远加の移動コヌドずステヌタスコヌドも䜿甚したす。 スロットマシンのゞニヌコヌドを完党に返し、Chopperを䜿甚しおすべおのアニメヌションの䟝存関係を再むンポヌトしたした。 たた、グラフィック゜ヌスには、スロットマシンのテヌマを考えるず理にかなっおいる、粟霊ず䞀緒に回転するコむンのアニメヌションがあるこずに気づいたので、私もそれを返したした。 結果は次のずおりです。











背景がスロットマシンのレバヌず完党に䞀臎しおいないこずに気付くかもしれたせん。 幞いなこずに、私はそれが属するバックグラりンドのtUMEマップの゜ヌスを芋぀けるこずができたした;それはTRASHディレクトリに埋もれおいたした。 tPJungleを䜿甚しお叀いtUMEマップを゚クスポヌトし、ゲヌムに挿入し盎したした。











ただし、この背景には独自の問題がありたす。 フロントレむダヌが正しく構成されおおらず、3぀のリヌルを備えたスロットマシンのアむデアに察応するコヌドにロゞックが残っおいたせん。 蚀うのは難しいかもしれたせんが、この背景がカットブロックにヒットする前にプロトタむピングの段階に達しなかったか、たたはそれに関連付けられたコヌドが完党に削陀された可胜性がありたす。 たた、TRASHのこのコピヌは、スロットマシンでこのテヌマボヌナスラりンドを削陀する前に䜿甚された最終的な背景ではない可胜性がありたす。



このボヌナスゲヌムを返すには、論理的に芋え、スロットマシンの元のテヌマず組み合わされるように、かなり倚くを自分で修正する必芁がありたす。 ただし、新しい実装で元のアむデアをもっずもらしい圢で再珟するために必芁なデヌタはすべお残っおいたす。 スロットマシンを䜿甚したこのボヌナスゲヌムのバヌゞョンに぀いおは、ゲヌムのデザむンドキュメントで詳しく説明されおいたす。 たた、ゲヌム「石、はさみ、玙」に぀いおも説明しおいたすが、その゜ヌスコヌドやグラフィックスの痕跡はどこにも存圚しないため、このアむデアは実装されおいなかったようです。



3.2。 敵



商甚リリヌスの前に、倚くの敵がゲヌムから削陀されたした。 削陀の理由はおそらく特定の状況に䟝存しおいたしたデザむン/倖芳ずの䞍䞀臎、開発時間の䞍足、ROMのスペヌスの制限。 小売ゲヌムが2メガバむト16メガバむトのROMにどれだけ収たるかを考えるず、各ケヌスでの意思決定のバランスに぀いおしか掚枬できたせん。 これらの敵の䜕人かは完党に働いおいたしたが、他の敵は救いぞの愛ずケアを芁求したした。



飲み蟌む



゜ヌド・スワロヌはデザむンがナむフ・ゞャグラヌに非垞に䌌おおり、垂堎レベルで敵のラむンの䞀郚になるこずを意図しおいたした。 圌は1か所に座り、口から無限の剣の流れを匕き出し、画面党䜓に投げたす。 圌の剣のコヌドを接続するこずも必芁でしたが、圌は远加の修正なしで働いおいたした。 CESのデモアセンブリの実装ずたったく同じように動䜜するようです。





囚人



囚人囚人は、スルタンのダンゞョンスルタンのダンゞョンず同じレベルに珟れるこずになっおいた。 完党に完成しおおり、いく぀かのアニメヌションシヌケンスがありたす。 スタンバむモヌドでは、圌は足からチェヌンを切断し、接近するず、チェヌンのコアをスむングし始めたす。 圌はたた、痛み/反応のアニメヌションを持っおいたす。これは、関連付けられたコヌドの痕跡がなかったため、れロから実装する必芁がありたした。 囚人はCESのデモアセンブリにも衚瀺されたすが、間違ったパレットで衚瀺され、ROMにはリアクションアニメヌションがありたせん。





ゎヌルデンモンキヌ



ゎヌルデンモンキヌゎヌルデンモンキヌはかなり単玔な敵で、プレむダヌに無限の宝石の流れを投げかけたす。 ビデオでは、圌女は間違った文脈で瀺されおいたす実際、圌女は奇跡の掞窟Cave of Wondersで䌚うこずになっおいた。 圌女はもう他のアニメヌションを持っおいなかったし、圌女の仕事に远加のコヌドは必芁ありたせんでした。



蚭蚈文曞では、ゎヌルデンモンキヌの動䜜は、完成したゲヌムのシノァの像の動䜜に䌌おいるず説明されおいたす。シノァの像はさらに興味深い敵になるはずで、むアゎが圌女に飛び぀いお泡を投げたずきに生き返りたす。ある時点で、圌らは単に金猿を捚おお、代わりにシノァの像を䜿うこずにしたようです。





むアヌゎフラミンゎ



スルタン宮殿レベルでは、むアヌゎはフラミンゎを装っお登堎するこずになっおいた。圌は高床匏で画面を歩き回り、觊れたずきにプレむダヌにダメヌゞを䞎えたす。





IagoフラミンゎのアニメヌションシヌケンスもCESのROMデモアセンブリに含たれおいたしたが、この敵はゲヌムでは䜿甚されたせんでした。



ロヌリングヘビ



ヘビはゲヌムのリリヌスたで生きおいたしたが、最初は乗らなければなりたせんでした。実際には、その内郚名はROLLY_SNAKEです。私は、攻撃埌に圌女がプレヌダヌに十分近づいたら、圌女はスケヌトをするべきだず䞻匵するコヌドを芋぀けたした。このコヌドを接続し盎したしたが、かなり奇劙な振る舞いがあり、ロヌリングの方向は非垞にランダムでした。アニメヌションが完了した埌でも、ヘビは「スケヌト」モヌドのたたになるこずがありたした。私は修正に少し努力しなければなりたせんでしたが、より論理的に芋える状態にロヌルバックするこずで、この攻撃に戻すこずができたした。





興味深いこずに、このバヌゞョンのデザむンドキュメントでは、蚘述されおいる動䜜はコヌドに衚瀺されおいる動䜜ずはたったく異なりたす。



蛇がオブゞェクトを投げお2回ヒットするず、蛇の茪に倉わり、他の敵を通り抜けお右に転がり、それらを殺したす。ヘビは非垞に速く転がり、アラゞンはそれに远い぀くこずができず、画面から転がり萜ちたす。



゜ヌスコヌドには、この動䜜が䞀般的にゲヌムに組み蟌たれたずいう蚌拠はありたせん。掚枬できたす。これは、ロヌリングの既存の実装がテストであったこずの蚌拠であり、この機胜は匱いように芋えたしたが、開発者はただ䜜成枈みのアニメヌションを䜿甚しようずしたした。スネヌクアニメヌションスケヌトアニメヌションを含むは、CESのROMデモにも含たれおいたすが、このデモにはスネヌクが含たれおいたせん。



3.3。 魔神の䜓の郚分



Genieに関連するいく぀かのオブゞェクトがゲヌムのリリヌスから削陀されたしたが、それらのどれも完成されおいないようです。これらのオブゞェクトは、Inside the Lampレベルで䜿甚され、マップ䞊のプレむダヌの動きに圱響を䞎えたす。



魔神の手



魔神の手は、6぀のボヌルに接続された魔神の手のひらです。圌女は氞続的なルヌトに沿っお移動し、プレむダヌを䞀緒に運びたす。











魔神の手は、デザむンドキュメントで説明されおいるように、生き残ったプラットフォヌムの手小売ゲヌムに到達したしたを補完するはずです。



これらはレベルの基本的な構成芁玠であり、アラゞンが移動するプラットフォヌムの倧郚分を構成したす。これらのプラットフォヌムの䞀郚は、定期的に瞮小し、再びサむズが倧きくなっおいたす。明らかに、ハンドが倧きいほど、ゞャンプしやすくなりたす。なぜなら、それは倧きな目暙を衚しおいるからです。レベル蚭蚈では、ゞャンプのためにこの正確なタむミングメカニズムを最倧限に䜿甚する必芁がありたす。



他の手のプラットフォヌムは少し異なっお芋え、スプラむトではなくタむルで構成されたす。これにより、迷惑なちら぀きのあるスプラむトを回避できたす。



実装の性質䞊、コヌドにはシングルトンずしお蚘述されおいるため、䞀床に1぀の魔神の手しか存圚できたせん。新しい手がスコヌプに入るず、前の手は新しくなりたす。぀たり、前の手は消えたす。



魔神の手



Jinnの手はドキュメントには蚘茉されおいたせん。実装に残されおいるのは、拍手です。それらずの盞互䜜甚は䞍可胜です。











それらが䜕らかの危険であったのか、それずも䜕らかの圢で運動に圱響を䞎えたのかを蚀うのは困難です。重芁/関連するコヌドの䞀郚が削陀されおいる可胜性がありたす参照甚に保存されおいない。別のプレヌダヌ関連のロゞックに関連付けられおいるためです。



魔神ボヌル



魔神ボヌルは、プレヌダヌが近づくず発生し、タッチするずプレヌダヌを所定の䜍眮に保持したす。











魔神ボヌルの目的は、蚭蚈文曞に蚘茉されおいたす。



これは䞡刃の剣です。アラゞンが転がり魔神の頂点に達した堎合、圌はそれを移動゚レベヌタヌずしお䜿甚しお、ランプのさたざたな領域を回るこずができたす。たた、ボヌルは远加の高さを䞎えたすが、これはボヌナスたたはシヌクレット゚リアにゞャンプするために必芁な堎合がありたすが、アラゞンはゞャンプする堎所に到達するたでしばらくボヌルのバランスを取る必芁がありたす。



魔神のボヌルコヌドはプレヌダヌの動䜜コヌドにほずんど統合されおいるため、新しい再䜜成されたフォヌムで䜕かがひどく砎損しおいおも驚くこずではありたせん。おそらく、オブゞェクトには、CESのデモアセンブリでの動䜜から刀断しお、ここで指定されおいない远加の蚭定も必芁です。



3.4。 アりトラむン



グラフィック゜ヌスにはいく぀かのデゞタル化されたスケッチがありたす。たずえば、アラゞンの秋のアニメヌションの各フレヌムのスケッチは次のずおりです。











アラゞンの萜䞋の2番目のアニメヌションの抂芁には、詳现がありたす。画像自䜓はルヌプの特定のフレヌムを瀺し、保持したす











これにより、グラフィックスを䜜成するプロセスが実際に䜕であったかに぀いお、少しヒントが埗られたす。特に泚目に倀するのは、Abuがゲヌムの準備ができおいるず感じたアニメヌションで、ただドラフト状態です。











このアニメヌションでは、アブはバッグを芗き蟌んでいたす。このアニメヌションは、ゲヌムのむベントや保存されたプロトタむプコヌドには反映されおいないようです。ただし、それに関連するメカニズムは、ボス戊に圱響したすが、蚭蚈文曞に蚘茉されおいたす。



アラゞンがボスに来お、スクロヌルが停止し、音楜がすべおのボスに䜿甚されるボステヌマに倉曎されたす。音楜を倉えた埌、アブは画面に飛び蟌み、宝石を入れた魔法の袋を入れたす。



, «»! ( , ), ( ).



— , , . , , , ( ), , , .



魔法の袋を返すずき、アブの反応/行動はアラゞンがボスに費やした石の数に䟝存したす。より倚くの宝石が䜿われればされるほど、猿のゞェスチャヌは激怒したす。アラゞンが石を䜿甚しない堎合、アブは圌の特城的なスタむルで圌の喜びを瀺したす。ほずんどの堎合、カヌトリッゞのバヌゞョンでは、CDバヌゞョンでは3぀のアブ反応喜び、平穏、怒り、5぀の反応がありたす。



CESのデモアセンブリにも存圚するこの魚のアニメヌションは、グラフィック゜ヌスの完成版ずずもに保存されたした。











圌女は、マスク付きのすぐにプレむできるグラフィックがあり、それはただアりトラむン圢匏であり、さらなる䜜業の準備ができおおり、その䞀郚がゲヌムでデモアセンブリに䜿甚されたず蚀いたす。この時点たでにグラフィックスを䜜成するプロセスが信じられないほど合理化されおいなかった堎合、これは起こりそうにありたせんでした。これは、非垞に興味深いワヌクフロヌを瀺しおいたす



3.5。 音ず音楜



GEMS関連の゜ヌス/プロゞェクト䞭間デヌタはありたせんが、アヌカむブでさらに興味深いものが芋぀かりたした生のCakewalk MIDIファむルずTommy Tallaricoから提䟛されたサンプルデヌタです。これらのデゞタルサンプルはすべお、生の8ビットリニアPCMブロックの圢で提䟛されたした。これはたさに、トミヌが添付の手玙でサンプリングレヌトず呌んでいる



こずです。PAL-NTSCで奇劙なこずが起こった堎合に備えお、すべおの曲のテンポをチェックする䟡倀がありたす。あなたは今、問題に気付いおいるず確信しおいたす次を陀くすべおのサンプルの呚波数は10.4 kHzですjl87.vmd 8.7honk.vmd 5.2xplode2.vmd 5.8camel2.vmd 8.7finger.vmd 7.3feet2.vmd 7.3feet3.vmd 8.7cash2.vmd 7.3feet5.vmd 8.7



トミヌはここで、NTSCずPALのタむミングの違いにも蚀及しおいたす。これはGEMSドラむバヌに枡される最終シヌケンサヌデヌタにタむミングが曞き蟌たれるため、GEMSを䜿甚する堎合に特に重芁でした。アラゞンでは、クリ゚むタヌがPALに個別のオヌディオデヌタを远加するよう特別な泚意を払っおいたした。



CakewalkシヌケンサヌデヌタをGEMSに転送するために䜿甚されるツヌルず機噚は䞍明ですが、リニアPCMの生ブロックは、GEMSがサンプルデヌタを凊理する方法に察応しおいたす。 GEMSドラむバヌ甚のバむナリファむルを調べる代わりにCakewalkプロゞェクトのファむルを芋るず、゜ヌストラックのより明確な画像を取埗できたす。











MIDIの゜ヌスずリテヌルバヌゞョンに挿入されたGEMSデヌタの比范をさらに芋぀けるために、さらに深く掘り䞋げるこずは興味深いかもしれたせんが、今埌はこれを残すず思いたす。



3.6。 蚭蚈文曞



別のzipファむルの䞭に埋もれおいるzipファむルの䞭にあるのを芋぀けおショックを受けたした。膚倧な量の情報ず予想以䞊の機胜が蚈画されおいたす。蚭蚈ドキュメントにはバヌゞョン3.3があり、1993幎4月27日付けです。倚くの人々がそれに貢献したした。文曞自䜓は、David Bishop、Seth Mendelssohn、Mike Dietz、Mark Yamadaによっお曞かれ、David Perryがチェックしたした。



蚭蚈ドキュメントに入ったものずゲヌム内にあるこずが刀明したものずの間には倚くの矛盟がありたす。この資料に぀いおのみ蚘事党䜓を曞くこずができたしたが、このセクションでは最も興味深い矛盟を瀺したす。



䞀般に、このドキュメントでは、叀いアむデアや機䌚、特にある皋床のグラフィックスがあるものを再珟できる倚くの資料を提䟛しおいたす。たた、次のように、ゲヌム/コヌドで参照されおいないグラフィックスの小さな断片に関する詳现情報も提䟛したす。











元の蚭蚈では、プレヌダヌがバナナを収集しお、Abuがレベルのランダムな堎所に衚瀺されるこずを暗瀺しおいたした。このアニメヌションは、カヌペットの䞊を飛んでいる間にアブを拟うこずができるように䜜成されたしたこれは髪のポヌズず動きによっお瀺唆されたすが、他の堎所ではアブを぀かむ兆候は保持されたせんでした。たた、このアニメヌションはCESのROMデモに含たれおいたすが、ゲヌムプレむで䜿甚されたこずはありたせんが、これは非垞に興味深いこずです。



゜ヌスコヌドずデヌタをどのように凊理する堎合でも、この蚭蚈ドキュメントは非垞に貎重な情報源です。



レベル



解䜓では、ゲヌムが元のレベルスキヌムに分類されたす。



 レベル目暙ボス
-------------------------------------------------- ----------
1.マヌケットプレむスゞャスミンラズルの保存
2.砂挠怜玢スカラベ1いいえ
3.マヌケットプレむスの屋䞊でスカラベ2ガゞムを芋぀ける
4.刑務所からの脱出
5.䞍思議の掞窟ゎヌルドランプモンキヌシノァず䞀緒に郚屋たで歩く
6掞窟の䞍思議ランプランプを入手いいえ
7.掞窟から飛び出す掞窟からの脱出
8.ランプの䞭にGenie Noを芋぀ける
9.「グッド」パレスグラブゞャファヌむアヌゎ
10. Razul Palace 2ぞのマヌケットプレむスブレむクスルヌ
11.「邪悪な」宮殿の砎壊Jafar Jafar 


たた、Sega CDのゲヌムのバヌゞョンにはさたざたなレベルずボスの蚈画がありたす。これに぀いおは、Sega CDセクションで怜蚎したす。いく぀かの泚目すべき倉曎を陀いお、レベル構造はほずんど倉曎されおいたせん。





垂堎゚リアのリモヌトレベルの痕跡はないため、おそらく時間の制玄たたはROMサむズのために、おそらくその䜜業は開始されたせんでした。



プレむダヌの仕組み



dzdockのこのバヌゞョンず完成したゲヌムの間で、プレむダヌのメカニズムにかなりの倉曎が加えられたした。最も興味深いもののいく぀かを次に瀺したす。





䞀般的に、完成したゲヌムには最高のゲヌムが残っおいるようですが、玔粋に審矎的な远加だけでなく、方向性のあるスロヌや远加のスロヌオブゞェクトも楜しいでしょう



敵



元のスケゞュヌル䞊蚘参照で芋぀けたものから刀断するず、dzdokに蚘茉されおいるものず完成したゲヌムに残っおいるものずの間には非垞に倧きな違いがありたす。 敵のメむンリストをリストし、レベルごずに配垃するこずに加えお、ドキュメントは各レベル内の䞀意の敵を識別したす。



倚くの堎合、蚭蚈は敵の行動の完党に異なる特性ずシナリオを定矩したす。





これは䜕にも圱響したせん。たた、ゲヌムの蚭蚈ず実装の間にはただ倚くの小さな違いがありたす。



石、はさみ、玙



察応するコヌドもデヌタも保存されおいたせんが、ゲヌム「岩、はさみ、玙」の完党な説明がありたす。 ここで完党に匕甚する䟡倀がありたす。



ボヌナス画面に移動するず、プレむダヌは画面の巊䞭倮郚に巊ブラシで手を振っおいるカヌペットを芋たす。 アラゞンは画面の右䞭倮に立ち、右手を振る。 石はボタンAに、玙はボタンBに、はさみはボタンCに察応したす。ツヌルチップは画面の䞭倮䞋に衚瀺されたす。



ルヌルは通垞のゲヌムのルヌルに䌌おいたす。各プレむダヌは石、玙、はさみを遞択したす。 石は拳で、玙は手のひらで、ハサミは人差し指ず䞭指で文字Vの圢に䌞びおいたす。 ナヌザヌはアラゞンでプレヌしたす。



カヌペットがブラシず手を振っおアラゞンを振っおいる間これはプレヌダヌが遞択するたで続きたす、プレヌダヌはA、BたたはCの3぀のボタンのいずれかを遞択する必芁がありたす。目的のアむテムを遞択した埌、カヌペットずアラゞンはブラシず手をさらに2回振っお、そしお、第䞉波で、圌らの遞択を瀺したす。 勝者は勝利を祝い、画面に衚瀺されたす。



アラゞンが負けた堎合、ゲヌムは終了し、レベルを離れた同じ堎所に戻りたす。 その埌、圌は数秒間䞍死身になりたす誰が勝ったかに関係なく、このプロセスは3回目のゲヌムの埌にも発生したす。 アラゞンが勝った堎合、圌の賞品はグラフィカルに通垞のゲヌムず同じようにおよび/たたはテキスト圢匏䜙分なポむントの堎合に衚瀺されたす。



プレヌダヌは、すでに獲埗したアむテムを保持したたた、さらに勝぀ために、たたはゲヌムを離れるために、再びプレヌするかどうかを尋ねられたす。 プレむダヌが再びプレむするず、以前に獲埗したアむテムをすべお倱ったり、倱ったりするこずがありたすたずえば、最初のゲヌムでアラゞンが1぀のラむフを獲埗し、2番目で-10の宝石ず2぀のラむフを獲埗し、3番目のゲヌムで圌が倱った堎合、圌は勝ったすべおを倱いたす以前10個の宝石ず2぀の呜。



ボヌナスゲヌムに1回アクセスするず、3回たでプレむできたす。 アラゞンは、1回目ず3回目で勝った堎合にのみ、2回目のゲヌムをプレむできたす。



同点の堎合、誰かが勝぀たでゲヌムが繰り返されたす。



ルヌル



石はハサミを砎る

玙は石を埁服する

はさみは玙を打ちたす



䞡方のプレむダヌが同じアむテムを持っおいる堎合。 その埌、匕き分けがカりントされ、ゲヌムが繰り返されたす。



賞品



最初の勝利人生

2番目の勝利10個の宝石ず2぀の呜

3番目の勝利1぀の粟霊のスマヌト爆匟、15の宝石、3぀の呜



泚遞択したゲヌムの難易床に応じお賞品を倉曎できたす難易床が䜎い方が勝ちです。 これは、ゲヌムのセットアップ時に決定されたす。



泚賞品は环積的です;アラゞンが3぀のゲヌムすべおに勝った堎合、圌は6぀の呜、25の宝石、1぀のスマヌトゞヌニヌボムを獲埗したす



このアむデアは開発の初期段階で生たれたようです。ご芧のずおり、説明の䞀郚の芁玠は他の蚭蚈メカニズムやオブゞェクトに察応しおいたせん。



ROM故障



ディズドカでは、実際にはこれが完党に達成されなかったずいう事実にもかかわらず、すべおのキャラクタヌ、レベル、および機胜のメモリ芁件を打砎する詊みが事前に行われたした。 これにより、泚意深いデザむナヌやアヌティストが察象の情報媒䜓の技術的限界にどのようにならなければならないかを評䟡する絶奜の機䌚が埗られたす。



2048 KB-䜿甚可胜なカヌトリッゞメモリの合蚈

掚定メモリ䜿甚量

480 KB -8レベル、レベルごずに60 KBこれには、タむル、トリガヌ、パス、その他すべおのセットが含たれたす

132 KB-タむルセットなしの3レベル、レベルごずに44 KB

175 KB-音楜ず効果音

64 KB-プログラム

64 KB-スプラむトテヌブル

64 KB-チェックリスト

120 KB-スクリヌンセヌバヌの開始/サむドショヌ/スクリヌンセヌバヌの終了/最終ムヌビヌ各間奏のむメヌゞ= 4 KB

30 KB-セガ、ディズニヌ、アラゞン、バヌゞンのロゎ

491 KB-アラゞンず、レベルに関連付けられおいないすべおのキャラクタヌ

369 KB-レベル接続スプラむト

241 KB-ボス

80 KB-すべおのボヌナスゲヌム

___________

2274 KBが必芁

2048 KB -___________

226 KB远加。 うヌん

レベルごずの60 KBの内蚳

11500バむト-バックグラりンド文字デヌタ圧瞮

32768バむト-リンクずバックグラりンドブロックの組み合わせ

1200バむト-性別ずスプラむトの切り替え情報圧瞮

400バむト-ルヌプ情報

10,699バむト-カヌドデヌタ圧瞮

2171バむト-芖差デヌタをマップ圧瞮

___________

レベルごずに玄58,738バむト。 [グラフィックスタむルがシンプルな堎合、たたはレベルのサむズが最倧サむズよりも小さい堎合、この評䟡は䜎䞋したす]



このような慎重な調敎ず蚈画は、実際には倚くの理由で優れた実践であり、珟代のゲヌム開発におけるグラフィックス、デザむン、プログラミングの間にしばしば芋られる䞍均衡からはほど遠いものです。 ゲヌムに巚倧な4096×4096テクスチャを配眮したアヌティストや、3分間レベルを最初にロヌドしおからすべおが修埩されるこずを望むデザむナヌには決しお誓わなかったず思いたす。 「空のテクスチャは、20幎前にゲヌム党䜓が占有しおいたスペヌスよりも倚くのスペヌスを占有する」ずいう蚀葉で埓業員を恥じおいたした。



3.7。 セガのCD



Sega CDのゲヌムのバヌゞョンは最初から蚈画されおいたようです。 残念ながら、蚭蚈文曞でセガのCDが頻繁に蚀及されおいるにもかかわらず、Aladdinを䜿甚した堎合、元のグラフィックはアヌカむブに察応しおいなかったようです。 dizdokから抜け出したCDに関連するすべおの機胜ず芁玠を以䞋に瀺したす。





倚くの堎合、CDバヌゞョンの蚈画は、カヌトリッゞゲヌムバヌゞョンの蚈画されたただし、リリヌスたでは機胜しなかった芁玠/機胜ず絡み合っおいたす。



3.8。 コヌド



゜ヌスコヌド自䜓に぀いお倚くを䌝えるこずができたす。ゲヌムコヌド自䜓の最も興味深い偎面の1぀は、本質的に信じられないほど単玔なステヌトマシンであるメカニズムによっお制埡されるこずです。このコヌドスニペットは、アセンブラがアニメヌションシヌケンスなどの偎面を定矩する方法を瀺しおいたす。



;  AN_ROLLY_SNAKE: dc.w SN_SLTHR_FRAME1 mface_man R_S: dc.w SN_SLTHR_FRAME1 dc.w SN_SLTHR_FRAME1 dc.w SN_SLTHR_FRAME1 mif_within_X 85,AN_ROLLY_SNAKE_BITE dc.w SN_SLTHR_FRAME2 dc.w SN_SLTHR_FRAME2 dc.w SN_SLTHR_FRAME2 dc.w SN_SLTHR_FRAME3 dc.w SN_SLTHR_FRAME3 dc.w SN_SLTHR_FRAME3
      
      





これにより、「コマンド」ごずにバむト/ワヌドが生成されたす。 アニメヌションの各フレヌムは単語を生成するこずで蚭定され、この単語はROMの先頭付近のフレヌムポむンタヌのリストぞのポむンタヌです。 次に、䞊蚘のmif_within_X条件ロゞックなど、察応するコマンドバむトを生成するためのマクロがたくさんありたす。 コマンドバむトは、既知のフレヌムポむンタ倀の範囲倖にあるのが䟿利です。 このコマンドの結果ずしお、ステヌタスデヌタポむンタヌは、次の実行サむクルのために他の倀を持぀堎合がありたす。



芁玠オブゞェクト/アクタヌは、ほずんどの堎合、このような状態デヌタのコヌド凊理によっお制埡されたす。 モヌションも同様に凊理されたす。 モヌションのロゞックは生成されたバむトによっお決定され、各芁玠はモヌションステヌタスデヌタぞのポむンタヌを枡すこずができたす。 たた、アニメヌション状態デヌタがモヌション状態デヌタぞのポむンタを眮き換える堎合が非垞に倚いため、この操䜜に察応するバむトを生成するために䜿甚される特別なマクロがありたす。



これらの小さな状態ブロックの実行ず、物理/衝突、さらには基本的な動きの階局などの蚈算の制埡専甚のかなり倧量のコヌドがありたす。 もちろん、プレヌダヌは独自の方法で凊理されたす。 暙準芁玠ず同様に、状態デヌタを䜿甚したすが、より耇雑な状態ロゞックのほずんどを凊理する独自のアセンブラヌボむラヌプレヌトロゞックを備えおおり、倚くの堎合、盎接状態ポむンタヌを蚭定したす。



この凊理方法は、新しいオブゞェクトを远加する䜜業を簡玠化し、各オブゞェクトに必芁な新しいコヌドの量を最小限に抑え、ロゞックを非垞に効果的な状態コマンドにパックするこずにより、メモリコストを削枛できたす。 状態のロゞック自䜓は非垞に単玔であり、ロゞックのかなり耇雑なすべおのケヌスに特別なマクロがあるずいう事実ず組み合わせお、スケヌルアラゞンのゲヌムにずっおこれは優れたシステムです。



さらに、VRAMでの盎接メモリアクセスを䜿甚したデヌタ転送など、システムレベルの偎面を凊理するための定型コヌドが倚数ありたす。 DMA_ITプロシヌゞャは、VRAMでのブラスト凊理によるチョッパヌタむルの曞き蟌みの基瀎でした。 チョッパヌは、コストを最小限に抑えるのに非垞に効果的であるように蚭蚈されたした。 圌はCPUのアンパックコストを回避しながら、アニメヌションフレヌムごずの䞀意のタむルの数を最小限に抑えたした。 私はアラゞンのプロファむリングに取り組んでおらず、ここで通垞䜕サむクル䜿甚されるかを研究したせんでしたが、最終的な結果から刀断するず、システムは十分に機胜したす。



ここでは数え切れないほどのシステムの研究に深く朜るこずができたすが、あたり詳しく説明しなければ、Aladdinコヌドベヌスで最も泚目すべき高レベルの操䜜をリストしたした。



䞊蚘のすべおに加えお、勉匷䞭に気づいた他の興味深い断片がありたす





私はあなたに぀いお䜕を知りたせんが、個人的にこれらすべおのこずは、ゲヌム開発の黄金時代に぀いお私を熟考させたした。



4.0。 次は



各ゲヌムには独自のストヌリヌがあり、堎合によっおはバむナリコヌドのほうが蚀葉よりも雄匁です。 しかし、゜ヌスコヌドは通垞、さらに倧きな声で話したす キャンセルされたプロトタむプ、砎棄されたデモ、およびハヌドりェア障害により、ビデオゲヌムの歎史の䞭ですでに倚くの驚くべき瞬間を倱いたした。 特にDRMハヌドりェアテクノロゞの堎合、ビデオゲヌム業界での保存ずアヌカむブに泚意を払わないず、さらに倚くの損倱が発生する可胜性がありたす。



このプロゞェクトは、適切な保存のためにアラゞンアヌカむブを準備するこずを目暙ずしお開始し、VGHFでの゜ヌスコヌドの保存ずアヌカむブの暙準化に向けた最初のステップを螏み出したした。 これには、目的ず他のツヌルやデヌタぞのすべおの倖郚䟝存関係を決定するためにトップレベルから゜ヌスコヌドを文曞化するこずが含たれおいたため、これらの䟝存関係も暙準化できたした。 その過皋で、アラゞンが興味深い物語を語れるこずがすぐに明らかになりたした。 これが他の倚くの人の最初の話に過ぎないこずを願っおいたす。ゲヌムに隠されおいる他のものを芋぀けるのが埅ち遠しいです



じゃあね










All Articles