プロジェクトの構造
新しいゲームの開発を開始するために[link] quantum SDKをダウンロードし解凍すると、次の2つのフォルダが関連します:
- quantum.code - ゲームプレイシミュレーションコード用のVisual Studioソリューションが含まれています(Unityとは独立した)。
- quantum.unity - シミュレーションとレンダリングエンジンを統合するためのサンプルスクリプトを含むUnityプロジェクト。

このマニュアルでは、提供されたquantum.code Visual Studioソリューションを使用したquantumシミュレーションの実装に関するトピック、およびサンプルブートストラップUnityプロジェクトとの統合について説明します。
Visual Studioソリューション(quantum.stateとquantum.systems)

Quantumでは、ゲームをECS(エンティティ、コンポーネントとシステム)アプローチで開発する必要があります。これは、ゲーム状態データ構造がエンティティとコンポーネントのコンセプト(他の予想されるタイプによって増強された)を中心に動くことを意味します。
ゲーム状態データは、QuantumのカスタムDSL(ドメイン固有の言語)を使用して、.qtn拡張子のファイルを使用してquantum.stateプロジェクトで定義されます。
このトピックの詳細は、マニュアルの次の章で説明します。
ゲームロジックはステートレスシステム(通常のC#で、パフォーマンス上の理由から管理されていないポインタを広範囲に使用しています)で書かれています。
Quantumシミュレータは、ゲーム状態構造(DSLを通じて宣言された)に直接保持されたデータの確定的なロールバックのみを保証するため、システムはステートレスでなければなりません。
システムの章では、エンティティの管理(作成/破棄/更新)、シグナル(システム間通信)とイベント(レンダリングエンジン(Unity)にゲーム状態の変更を通知するための細かいAPI)についても説明しています。
quantum.code Visual Studioソリューションは、含まれているプロジェクトを、Unity BootstrapプロジェクトのPluginsフォルダに直接更新されるDLLとしてビルドしますが、quantum.systemsプロジェクトの出力フォルダを変更することで、別のパスに簡単にカスタマイズできます):

ブートストラップのUnityプロジェクト

提供されたブートストラップのUnityプロジェクトには、Quantumゲームの実行とデカップリングされたシミュレーション(上記のquantum.codeソリューションで作成された)のレンダリングエンジンとしてUnityを使用することの両方を簡素化するための事前構築された統合スクリプトが含まれています。
ブートストラッププロジェクトに関する章では、シミュレーションの実行方法、入力の挿入方法、ゲーム状態のレンダリング方法、イベントコールバックの処理方法、Photonでのオンラインモードでの実行方法など、最も重要なトピックについて説明しています。
Back to top