0

HTML5 ゲームのエンジンを作り始めました。すぐに別のプロジェクト、基本的には進化シミュレーションに興味を持つようになりました。シミュレーションはサーバー上で実行されますが、実際のレンダリングはクライアント側で行われます。サーバー側でも、ゲーム エンジンのほとんどのクラスとコードを使用できることに気付きました。

今、私は何をすべきか分かりません。特定の機能と両方の側に共通の機能を備えた「モノリシック エンジン」を作成するオプションがあります。または、別の「ゲーム エンジン」を作成し、それを使用してシミュレーションをレンダリングしてゲームを作成し、シミュレーション固有の機能を持つ別の「シミュレーション エンジン」を作成することもできます。

モノルーシックなアプローチには、コードベース内のコードが大きすぎて無関係になるという問題がありますが、個別のアプローチには、両方のコードベースに同じクラスが含まれるという問題があります。

どうすればこの状況に対処できますか?

何か変更がある場合は、Javascript でコーディングしています。

4

1 に答える 1

2

2 つの用途の間で共通の機能であると感じるものを分離し、それらの部分を独自のライブラリに抽出する必要があるように思えます。これを「エンジン コア」と呼びます。すると、基本的に「ゲームエンジン」「シミュレーションエンジン」「エンジンコア」の3つになります。ゲーム エンジンとシミュレーション エンジンはどちらもエンジン コアを参照するため、エンジン コアの一部を更新すると、ゲーム エンジンとシミュレーション エンジンの両方が更新を受け取ります。これが正確にどのように実装されるかは、使用している言語によって異なりますが、考え方は同じです。

于 2012-08-03T21:57:15.323 に答える