私が始めたゲームには、比較的ユニークなrequirejs構造があります。現在のコードは私の始まりにすぎませんが、おそらく最適化も含めて、単一の JavaScript ファイルとしてビルドする方法を見つけようとしていました。
私が直面している問題は、エンジンの各部分のサブモジュールを持つようにエンジン モジュールをセットアップしたことです。この背後にある考え方は、さまざまなエンジン モジュールを簡単にドロップして、必要に応じて独自の構成を持つことができるということです。現在、私はこの機能を利用していませんが、将来的に利用する可能性があるため、可能であれば回避する必要はありません。
ツリーのアイデアは次のとおりです。
game - root directory for game code
- main.js - primary application definition
- engine - engine module
- - main.js - engine module definition
- - audio - audio module
- - ...
- - scene - scene module
エンジンを構成するすべてのサブモジュールを相対パスとして持っているので、サブモジュールを探す場所を更新しなくても、エンジンを移動できます。これに関する問題は、ノードでビルドする場合、エンジン モジュールの require.config() 設定を読み取らないように見えるため、存在しない場所でサブモジュールを探すことになります。
私の構造が間違っていると確信していますが、ゲーム構造全体を単一のファイルに構築できるようにしながら、エンジン モジュールを分離する方法を維持する方法についてのアイデアは大歓迎です。
詳細は GitHub リポジトリで確認できます: https://github.com/RedShiftDev/project-helium