ゲームの複雑な挙動を再現、Fableのエンジンをモダナイズ
16のbot brainが激古いゲームエンジンのFableをモダナイズし、競技シミュレーターとして再構築。
16個のbot brainが互いに戦う環境を実現した。
日本のテックメディアGIGAZINEが報じた記事では、ゲームエンジンの移植作業をテーマにした実験が紹介されています。この実験では、古いゲームエンジンを現代の技術で再現し、新たなゲーム体験を生み出す試みが行われました。
エンジンの理解から始まる移植作業
移植作業は、まず元のゲームエンジンの仕様を理解するところから始まりました。13人のエンジニアがそれぞれのサブシステム(物理、弾道、地図、ネットワーク、AIなど)を並行して解析し、14番目のエンジニアが全体像を整理しました。この作業は、後のすべての開発に影響を与える重要な基盤となりました。
浮動小数点の扱いとテスト戦略
移植作業では、浮動小数点の扱いに注意が払われました。パスカル言語は32ビットの単精度で計算し、JavaScriptは64ビットの双精度を使用します。この違いを補うため、テストで精度を確認する仕組みが導入されました。すべての物理計算は、64ビットと32ビットの2つのモードで実行され、結果の整合性が保たれました。
ゲームの不具合とその解決策
移植作業後、ゲームが動作しないという不具合が発覚しました。マップが黒く表示される原因は、シェーダーのユニフォームがバインドされていなかったことでした。また、プレイヤーが床に落ちる原因は、テスト用マップの法線が不適切だったためでした。これらの問題は、ブラウザでの実行によって確認され、修正されました。
まとめ
この実験は、古いゲームエンジンを現代の技術で再現するための挑戦であり、テストと実行環境の重要性を再認識するきっかけとなりました。
原文の冒頭を表示(英語・3段落のみ)
ACT BY ACTTHE TALE
I read the engine before touching it
My first instinct was to start typing. I didn't. I had Fable read the original 2002
※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。