ゼファーネットのロゴ

Age of Empires の開発者は、「ピクセル数が 2 倍あったにもかかわらず、Starcraft のような競合他社と比べて、画面をスクロールしてスプライトを埋めることができたのと同じかそれ以上の速さであった」ため、ゲームの大部分が低レベルのアセンブリ コードで書かれていることを認めました。

日付:

ゲームに関する素晴らしいストーリーの中には、開発者がどのようにしてゲームを機能させたかについての単純な話もあります。開発者にお気に入りの回避策を尋ねれば、巨大な路面電車が実際どのようなものかについて、一晩中楽しめるエンターテイメントが得られます。 帽子をかぶったNPC、またはウサギの実際の様子 Azeroth が機能する理由、などなど。

これはまったくその通りではありませんが、ある Redditor は最近、Chris Sawyer が Rollercoaster Tycoon 1 と 2 をアセンブリ言語で書いており、どうやら Age of Empires も同様だったと指摘しました。「AoE はアセンブリ言語で書かれています。これは実際に本当ですか?!」ゲーム全体がこの方法でハードコードされている場合でも、これは非常に注目に値しますが、当時はこれが珍しいことではなかったことに注意することが重要です。アセンブリ言語とは、できるだけ簡単に言うと、C++ のような高レベル言語よりもコンピューターのアーキテクチャと直接通信する低レベルのコーディング言語です。

Age of Empires がアセンブリ言語でコーディングされているかどうかに関する質問 返信でゴールドをヒット アンサンブル スタジオの創設メンバーの 1 人であり、最初からシリーズのコーディング リードを務めてきたマット プリチャードに感謝します。

「エイジ オブ エンパイアとエイジ オブ キングスで使用されるすべてのアセンブリ コードと、それらのゲームの他の多くの部分は私が書いたので、これについては明確にできると思います」とプリチャード氏は言います。 「合計で約 13,000 行の x86 32 ビット アセンブリ コードが書かれていました。」

Pritchard 氏は続けて、この大部分は「描画コア」にあり、Microsoft Macro Assembler 6.1 によって .obj ファイルにコンパイルされ、場合によっては Visual C++ にコンパイルされたと説明しました。平たく言えば、これはゲームがスプライトを描画するための非常に効率的な方法であり、Pritchard 氏は標準の C++ 実装よりも約 10 倍高速だったと推定しています。

「AoE の描画コアは、StarCraft などの競合他社よりも著しく高速でした。競合製品のほぼすべてが 800 x 600 の解像度であったときに、AoE の『すぐに使える』デフォルトの解像度が 640 x 480 だったのはこのためです」と Pritchard 氏は言います。 「ゲーム世界の領域に XNUMX 倍ほどのピクセルがあるにもかかわらず、画面をスクロールしてスプライトで埋めることができました。」

アセンブリ コードは、Age of Kings: HD エディション (32 ビット ゲーム) の時点でも使用され続けましたが、プリチャードは「両方の Definitive Edition は 64 ビット プログラムでインラインであるため、アセンブリ関数を C++ に書き直しました」アセンブリは 64 ビット C++ コンパイラではサポートされておらず、大幅に改善されたレジスタ セットとコンパイラの最適化により不要になりました。さらに、ディフィニティブ エディションのスプライト描画はマルチスレッドであり、そのタスクだけで最大 4 つのコアを使用します。」

このような回避策が必要となった理由の 3 つは、両方のゲームがスタンドアロン 2D カードが一般的ではなかった時期に開発されていたことです。「最先端は Voodoo 3 と 1 のような個別の 2D カードを使用する 166D でした」とプリチャード氏は言います。彼は、当時の技術的な制限について詳しく説明し、ほとんどの Ensemble 開発者が使用していたマシンの Pentium 16 CPU には「合計 XNUMXK のキャッシュがあった」と指摘しました。もっとわかりやすく言えば、「あなたはおそらく今、私が AoE を開発した PC が TOTAL で使用していたものよりも多くの CPU キャッシュ メモリを搭載した PC で作業しているでしょう。」 

プリチャード氏はかなりのキャリアを持っていますが、明らかにエイジ オブ エンパイアに真の親和性を持っており、HD エディション (ディフィニティブ エディションと混同しないでください) がどのように生まれたかについても言及しています。 「HD エディションは、私が誰かに興味を持ってもらおうと数年間 Microsoft のドアをノックし、Hidden Path (当時私は前雇用主の Valve で CS:GO に取り組んでいました) との契約を結んだ後に生まれました。むしろ小さかったです」とプリチャードは言います。

「マイクロソフトは、2 年代の 1990D ゲームの完全デジタル ダウンロード バージョンにはそれほど関心がないと考えていました (オリジナル ゲームの CD-ROM バージョンは、ほんの 5 ~ XNUMX 年前にはまだ店頭に並んでいました)。 HD は、HPE の優れたチームによってわずかな予算 (約 XNUMX 人、約 XNUMX 年弱) で行われたため、変更はより野心的な Definitive Edition ではなく、「絶対に必要な」範囲に抑えられました。」

ゲームのさまざまなコンソールポートにも興味深い詳細がいくつかあります。 「Ensemble は PS2 移植とは何の関係もありませんでした」と Pritchard 氏は言います。 「マイクロソフトは自ら契約を交渉し、コードとアセットを CD に落とし込み、『やってみろ』と言いました。ドリームキャストへの移植版もほぼ同じでしたが、その場合はホワイトボードに絵を描いたり、英語が話せないコナミのエンジニアにグラフィックの詳細を説明したりするのにXNUMX時間費やしましたが、私は日本語が話せませんでした。」

プリチャードは次のように締めくくっています。「1996 年の最初のゲーム作成から、2010 年から 11 年にかけての復活の原動力となり、現代に至るまで、これらのゲームで大きな役割を果たすことができて、私自身の旅を終えることができてとても幸運です。」 2019 年に DE がリリースされると、それが使用されました。

「私はその創造に携わることができてとても幸運であると同時に、それが人々にもたらしたあらゆる楽しみやそれ以上のものに今日まで謙虚に思っています。これらのゲームのファンやサポーターの皆さんがいなかったら、私はゲーム開発における素晴らしいキャリアを築くことができなかったでしょう。」

スポット画像

最新のインテリジェンス

スポット画像