回答編集履歴
2
話の流れを整理。メッセージベースについて勝手解釈を追加
answer
CHANGED
@@ -5,8 +5,15 @@
|
|
5
5
|
メッセージベースによるゲーム駆動
|
6
6
|
[http://tech.cygames.co.jp/archives/2820/](http://tech.cygames.co.jp/archives/2820/)
|
7
7
|
|
8
|
-
|
8
|
+
ざっくり説明すると、`キャラとキャラは分離した関係にあるが、関係性を繋ぐためにメッセージを使おう。世界に発せられたメッセージをキャラクターそれぞれの思考によって解釈し、行動(振る舞い)を変化させよう。`という感じです。
|
9
9
|
|
10
|
+
メッセージを実際にやり取りするシステムには**MessageBroker**を導入するとスムーズに実装出来るようになるかと思います。
|
11
|
+
|
12
|
+
UniRxのMessageBrokerが便利という話
|
13
|
+
[https://qiita.com/CST_negi/items/6f9e692df4e4847cf8a9](https://qiita.com/CST_negi/items/6f9e692df4e4847cf8a9)
|
14
|
+
|
15
|
+
メッセージを実際に組み込む流れとしては、まずは「音を発した」というメッセージデータを作成します。例えば、
|
16
|
+
|
10
17
|
* 発したキャラのID
|
11
18
|
* 音量
|
12
19
|
* 位置
|
@@ -14,13 +21,10 @@
|
|
14
21
|
|
15
22
|
などがあればいいでしょうか。表現したいこと次第だと思うので適宜やっていきましょう。
|
16
23
|
|
17
|
-
|
24
|
+
次にプレイヤー側で「音を発した」というメッセージを作成、配信(Publish)します。
|
18
25
|
|
19
|
-
UniRxのMessageBrokerが便利という話
|
20
|
-
|
26
|
+
敵キャラは、敵キャラが生成されたタイミングで「音を発したというメッセージを受け取るための購読(Subscribe)」を開始し、敵キャラのインスタンスが破棄される、または倒されるまで購読を継続します。
|
21
27
|
|
22
|
-
メッセージを
|
28
|
+
敵キャラは音のメッセージを受け取ったら(聞き取り範囲内かなどの判定を入れつつ)音に反応したアクションを実行します。
|
23
29
|
|
24
|
-
敵キャラは、敵キャラが生成されたタイミングで「音を発したというメッセージを受け取るための購読(Subscribe)」を開始し、敵キャラのインスタンスが破棄される、または倒されるまで購読を継続します。
|
25
|
-
|
26
|
-
|
30
|
+
といった流れになろうかと思います。
|
1
MessageBrokerの紹介を先に行うようにしました
answer
CHANGED
@@ -14,13 +14,13 @@
|
|
14
14
|
|
15
15
|
などがあればいいでしょうか。表現したいこと次第だと思うので適宜やっていきましょう。
|
16
16
|
|
17
|
-
|
17
|
+
そして、メッセージをやり取りするシステムはUnityだとMessageBrokerがあります。
|
18
18
|
|
19
|
+
UniRxのMessageBrokerが便利という話
|
19
|
-
|
20
|
+
[https://qiita.com/CST_negi/items/6f9e692df4e4847cf8a9](https://qiita.com/CST_negi/items/6f9e692df4e4847cf8a9)
|
20
21
|
|
21
|
-
|
22
|
+
メッセージを実際に組み込む流れとしては、プレイヤー側で「音を発した」というメッセージを作成、配信(Publish)します。
|
22
23
|
|
23
|
-
|
24
|
+
敵キャラは、敵キャラが生成されたタイミングで「音を発したというメッセージを受け取るための購読(Subscribe)」を開始し、敵キャラのインスタンスが破棄される、または倒されるまで購読を継続します。
|
24
25
|
|
25
|
-
UniRxのMessageBrokerが便利という話
|
26
|
-
|
26
|
+
敵キャラは音のメッセージを受け取ったら(聞き取り範囲内かなどの判定を入れつつ)音に反応したアクションを実行する。という流れになろうかと思います。
|