[第13回UE4ぷちコン]振り返り:行動生成

概要

・興味ベースでキャラの行動目標決定

・Waypointで移動

・バリエーション作る前に時間切れ

行動生成

状況を想定

つまみ食いシミュレーター、という事で

どういう状況でそれが起こるかを考える。

まず家庭の場合。

家族が調査対象になる。

が、それだと人数に限界がある。

また、「行動推定」が必要なほどあちこちウロウロしないだろう。

では街に出たらどうだろうか。

食い逃げを追いかけるゲームになるかもしれない。

ただ、今度は規模がデカすぎて

色々用意するものが増えそうだ。

それこそ、「ウォーリーを探せ」を作るぐらいの手間が必要そう。

間を取って、職場ならどうだろう。

小規模なオフィスなら、ある程度人数の幅がききそうだ。

「ボスが楽しみにしていたオヤツを部下が食べちゃう」

という状況もそこまで不自然ではない。

職場の上司がイタズラにあったり、

仕掛けた部下が反撃されたりするのもコメディっぽい。

という流れで、オフィスを舞台にすることにした。

キャラクターの行動決定

トリコのAIが興味ベースだったのを思い出して

単純化してパクる事にした。

各キャラに「仕事」「トイレ」「倉庫」といった興味値をランダムな値で割り振り、

実行中の興味は減少、そうでないのは増加という風にした。

興味値の増減にキャラ別の重みを設ければ、

真面目な奴とかトイレ近い奴とか、個性も設定できるだろう…と思って準備までしたが

そこまでは実装が追い付かなかった。

そして所定の時間ぶん興味値に従って行動し、

魔が差した奴がボスのおやつをつまみ食いしに来る。

そこから、所定の回数ぶん興味値に従って行動し、

終わった時点を15:00:00とする。

キャラクターの行動範囲

出来合いのマップ

いわゆるウェイポイントを埋め込む形で実装した。

・緑は単なる通過地点

・赤は行動目標(移動のゴール)地点。黄色矢印が行動時の向き。

キャラクターはこれらをA*で動き回る。

このツイートの動画がわかりやすいかも。

反省

状況の選択について

家族だと人数面でスケールしないと思ってオフィスにしたが、

最終的には「犯人は速攻で明らかになるが、行動を詳細に追い詰める」スタイルになったので

別に人数が多い必要はなくなった。

しかし、「全員グレイマン」にしてアセットづくりの手間を省きたいので

家族にすると表現にひと手間かかりそうだ。

でもグレイパパにヒゲとか、グレイママにエプロンとかでいいかもしれない。

キャラが複数いる意味がない

出来上がった実装では

プレイヤーの焦点は「犯人の犯行後の行動」であって、

犯人以外のキャラや、犯人の犯行前の行動に注目する動機がない。

一応、ツイートの検索結果をスカスカにしない、という働きはある。

後述の「雑談発生」は実装優先度を上げるべきだったかもしれない。

難易度調整がしづらい

「犯行後行動回数」で難易度調整かなと思っていたが

難しさというより単に手間の回数でしかない気もする。

妄想メモでは

「難易度が高いと犯人が直接自分の居場所をツイートせず、

他人のツイートで言及されたり他人の写真に写り込んだりする」

とあるが、

最小限の要素までしか実装できなかった。

しかし、そういった複雑さを入れるよりは、

状況そのものを増やしたり

ドラマ性を盛り込んだりした方が

遊びとしては楽しめるのではないかという気がする。

ドラマ性が無い

「作劇」と言いつつ、何のドラマもない。

妄想メモには、

「つまみ食いした後、大変なことになる」

という要素があった。

例として、

バナナをつまみ食いした部下が徐々にゴリラ化していき、

その様子が本人や同僚のツイートから徐々に明らかになるというものだ。

同僚が「なんだアイツ!?」とか言いながら、

飛び掛かられて若干ブレている写真とかから行動を推定する。

最終的に会議室で大暴れしている。

現状の実装では、

ゲームが始まると推定が終わるまでキャラを消しているが、

このパターンではむしろ最終時刻でのキャラを先に表示して、

プレイヤーに「いったい何があったんだ」ということを

ツイートを辿りながら知らせる、という流れになっただろう。

しかし、犯行後から完全にシナリオ通り行動する必要があり

自動生成とは相性がやや悪い気がする。

ツイートする位置が毎回固定

ウェイポイントそのものの位置は固定なので

写真も同じ見た目になり、位置予測が退屈になる。

これについては、

「位置指定そのものは

ツイート発見に対する褒美的なものであって

ここを難しくしたいわけではない」

と当時のメモにあった。

ぐるぐるドーンみたいな演出も、賑やかしの為だった。

今振り返っていて思うのは、

「それは一理あるが、

多様な状況を用意するのとセットなんじゃないか」

という事だ。

例えば、ステージ1はオフィス内だが

ステージ2は違う屋内で別の事件が起きる、とか。

とにかく、「ウォーリーをさがせ」みたいに

やる事が同じでも、状況が多様なら楽しめる。

今回は「多様な状況」を作る部分に手が回っていない。

これについては、時間切れで実装できなかったが

「移動するワーカー同士が接触すると『雑談』が始まり

『同僚とお喋りで盛り上がった』というツイートが発生する」

という要素が入れば多少ケアできたかもしれない。

「写真は自撮りみたいになる。

どこで雑談が発生するか予測不能なので、写真も多様になるはず。」

と、当時のメモにある。

プレイヤーが位置推定可能な写真になるかどうか保証しかねる部分は

何かしら対策が必要だろう。

マップ中にランドマークを仕込んで、何か一つ写り込むようにするとか。

行動のバリエーションが少ない

「仕事」「トイレ」「倉庫」しか入れられなかった。

妄想メモには

「猫画像を見るアクションがあって、

それを実行しているキャラに近づくと自分もその画像に見入る

(雑談と同じ行動割り込み)」

というものがあった。

行動を追加していくなら、こういった相互作用というか、

状況の多様さがより増えるものを優先していれるといいかもしれない。

余談

Marketplace(又はAsset Store)自体がおもちゃ売り場のような感じではあるが、

Synty Studiosのアセットを眺めていると特に

レゴブロック売り場に迷い込んだ時の気持ちになる。

このワクワクを忘れないようにしたい。

疲れたら見に来よう。

以上