開発中およびリリース中に3Dモデル、テクスチャ、サウンド、スクリプト(Luaファイルなど)を保存する通常の方法は何ですか?私は主にC ++で友達とゲームを開発しています。プロトタイピングフェーズでは、GIMPでCヘッダーとして保存された単一のテクスチャーしかありませんでしたが、もちろん、このアプローチは適切にスケーリングされず、コンパイル時間が大幅に増加します。
Windowsでは、通常%PROGRAMFILES%
、ゲームの実行可能ファイルが存在するサブディレクトリにそれらをダンプし、おそらく適切なツリー構造に配置します。ただし、Linuxでは、状況ははるかに複雑に見えます。実行可能ファイルは通常に常駐しますが/usr/bin
、アプリケーションは他のファイルをに格納します。/usr/share
非実行可能ファイルをに配置するのは非常に悪い習慣だと思います/usr/bin
。ただし、開発中のディレクトリ構造はまったく異なります。
私は2つの異なる可能な解決策を思いつくことができました:
- 実行可能ファイルにそれ自体に関連するアセットファイルを見つけさせ、ゲームをにインストールし
/opt
ます。次に、へのシンボリックリンクを配置し/usr/bin
ます。開発中、アセットのバイナリへの相対パスは、デプロイメント時と同じです。 - プリプロセッサシンボルとして定義されている絶対パスでファイルにアクセスします。ビルドプロセス(この場合はraw
Makefile
)が適切に定義できるようにします。
どちらの方法も、ある面では私にはやや無関心に思えます。これについてゲーム開発業界で一般的な慣習はありますか?
私は見つけることができる唯一の関連質問がされたディスクのゲームアセットにインストール/の位置を決定し、資源や資産のディレクトリ・パスが、それらは、「ソースツリーから」実行中の問題に対応していませんでした。