クラシックゲームを新しいプラットフォームに移植するには何が必要ですか?
質問
私は、数年に渡り、分解と分解を含むクレイジーな趣味のプロジェクトを始めることを考えています。 OpenGLプログラミング。
3番目のAndroidアプリがほぼ完成したので、私はプラットフォームが大好きで、そのためにプログラムを作成すると言います。
さて、古典的なCarmageddonゲームを移植候補として考えてみましょう。
質問は次のように要約されます:
- 当時使用されたツールは何ですか?
- 特定の知識とは この種のタスク(数学 & gamedevの一般的な知識は別として)?
編集: 法的な質問はさておき。
解決
一般的なアプローチは、レガシーゲームをホストしたCPUおよび/またはシステムのエミュレータを実装し、ゲームのバイナリをそのまま実行することです(またはわずかに変更します)。
このアプローチは確かに元の作品の真の書き換え/ポートほど強力ではありません。たとえば、既存のバグを修正することさえせずにゲームを変更することはできませんが、非常に実用的でもあります。単一のホストシステムを再作成することにより、何十もの異なるゲームを実行できます。
アプリケーションを本格的に書き換え/移植するツールは、ソフトウェアのリバースエンジニアリングの一般的なツールです。
- 逆アセンブラー(特にアーケードゲームのプロデューサーに非常に人気があったZ80 CPU用)
- 逆コンパイラ(ゲームが記述された上位言語についての洞察がある場合)
- Google ;-)(私はインターネット検索エンジン全般を意味します)、ターゲットのゲーム(または同じシステム上で/のために作成されたゲーム)に関連する断片的なソースコードや情報を見つけることで、プロジェクトを開始します。
このようなプロジェクトで高度に進む前に、プロジェクトの合法性を主張すること、および関連する権利所有者などから正式な許可を求めることをお勧めします。
現時点ではそれを見つけることができませんが、最近では古いハードウェア/システムホストで実行されている長い機能のないゲーム(!)を最近復活させたものの、販売しようとするとトラブルに陥った(または無料で?)「復活」アプリケーション...
所属していません StackOverflow