Ownersheep
このサンプルは全ソースコードを公開しています。何百ものシミュレーションエンティティ群を用いたゲーム作成にどうQuantumを使用しているかを説明しています。
Quantum 1.2.4.1 F1
で構築Unity 2019.3.3f1
以降が要件Windows
で実行
最新のサンプルソースコードはこちらからダウンロードできます: Ownersheep
免責事項:このサンプルはMi'pu'miによって、Exit Gamesのために開発されました。
特徴
- 2人プレイの羊飼いゲーム
- 3Dグラフィックおよび2Dゲームシミュレーション
- Quantumの予測計算を用いた何百もの羊の群れのシュミレーション
動画
スクリーンショット




サンプルの実行方法
- Unityエディタで
quantum_unity
フォルダを開きます Game
シーンを開きます- Playを押します
オンラインでのサンプル実行方法
- PhotonのダッシュボードでQUANTUM APP IDを作成します: Dashboard
CREATE A NEW APP
をクリックしますPHOTON TYPE
をPHOTON QUANTUM
に設定しますNAME
フィールドを入力してCREATE
を押します- 新しいQuantumアプリの
MANAGE
のをクリックします - 下方向にスクロールし
CREATE A NEW PLUGIN
をクリックします SAVE
を押します
- Quantum App Idをコピーします
- 「PUN Wizard」を開きます Unityで'Window > Photon Unity Networking > PUN Wizard' (またはAlt+P)と進み、開いたウィンドウで「Setup Project」をクリックします。
- 「PUN Wizard」ウィンドウで、AppIdをペーストし「Setup Project」をクリックします。
Menu
シーンを開きます- Playを押します
- ゲームUIで
Connect
を押します Create New Room
を押してMax Players
を2-4に設定しますCreate
を押して、他のプレイイヤーがルームに接続するのを待ちますStart Game
を押して接続済のプレイヤーとゲームを実行します
技術資料
quantum_code folder
このフォルダにはゲームシミュレーションコードが記載されています。 シミュレーションは予測性で、画面にとらわれず、レンダリングエンジンに依存しません。
サブフォルダの quantum.stateにはシミュレーションが実行するステートデータが含まれています。 ここでは、自分のシミュレーションでエンティティを設定するのに使用した読み取り専用データを用いてUnityでシミュレーションを提供するのに使用可能なアセット定義を見ることができます。
シミュレーションエンティティ自体は.qtnファイルに記述されています。 Quantumはこれらの記述ファイルをフレームデータごとに解析し、ゲームシステムで使用します。
このサンプルに関連するアセットやエンティティは以下のフォルダにあります。quantum_code/quantum.state/Ownersheep
サブフォルダquantum.systemsには、予測シミュレーションロジックが格納されています。 Quantum内のシステムはステートレスで、Updateメソッドを介して受信するミュータブルフレームデータで機能します。 このミュータブフレームデータにはquantum.stateに記述されているエンティティが含まれています。
このサンプルで実際に使っているシステムは以下にあります。quantum_code/quantum.systems/Ownersheep さらなるシステムセットアップ、アップデート順序の決定などは以下にあります。quantum_code/quantum.systems/SystemSetup.cs
quantum_unity folder
このフォルダにはUnityプロジェクトが含まれており、ゲームのレンダリングと、ゲームプレイやマルチプレイヤーとは関係のないサードパーティのライブラリの実装を行っています。 以下は一例です:
- Photon Unity Networkingを使用したマルチプレイヤールームの作成とマッチメイキング
- PlayerIO統合またはローカル限定の「バックエンド」を使用して行うパーシステンスサーバーでの通信
Quantumはこのサンプルで使用している基本のロビー設定とプロファイリングUIを提供しています。 フレームワークは Assets/Quantum にありますが、このサンプルに適応させるため少々修正しています。 修正を行ったのはプレイヤーやルームのプロファイリングUIとデフォルト名選択切替のためのキーバインドなどです。
このサンプルに関連するスクリプトは Assets/Scripts と Assets/Sheep にあります。 これらのフォルダに格納されているスクリプトは簡潔で、インタラクションや表示関連のタスクを処理しています。
このサンプルで使用したアセットは、 Assets/Fonts、Assets/Models、 Assets/Prefabs、Assets/Resources、Assets/Scenes、Assets/StreamingAssets、Assets/UI、Assets/Worldにあります。
Assets 内の残りのフォルダはこのサンプルに使用したプラグイン関連のものです。
Release History
Apr 4, 2020
- Initial release of Ownersheep
Back to top