2017年4月18日

剣を使った格闘ゲーム、Stolen Steel VR

作成 Jeremy Peel

おそらくゲーム デザインで最も過小評価されているものは嬉しい偶然でしょう。Stolen Steel VR は、中世を舞台にした剣を使った格闘ゲームでステルス系 FPS『Thief』の雰囲気があり、生きていることに感謝する嬉しい偶然を味わうことができます。Stolen Steel VR は、メルボルンのデベロッパー、Impromptu Games の Joe Wintergreen 氏が開発したゲームです。AI の衛兵と剣で戦う精巧なシステムが取り入れられています。前後に剣を振りかざしたり、突き刺したり、ブロックしたりします。

「誰かが何かを Twitter でつぶやいたら、それを VR テンプレートに簡単に組み込めることがあるのに気づきました。プレイヤーに刀を持たせると、何もかもがうまくいくでしょう。多くの困難がありましたが、最初からとても楽しめました。」

こうして、Stolen Steel VR が誕生したのです。Steam のリリースまで、ステルス AI、壊れたボトルの物理、新しい武器を取り入れる技術に取り組むという短いながらも楽しい作業になりました。

戦闘に向けてロボットを訓練する


blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Stolen+Steel+VR%2FMIU_StolenSteelVR_Pic1-770x433-2af0831e84d50db4b7943563ed623f129f8d8541

Stolen Steel VR で襲撃者に力を与える AI はステルス ゲーム用に作られています。そのため、必要以上に攻撃的です。暗闇でいかにプレイヤーを見失うかをわかっていますし、どうやったら再び見つけられるかも理解しています。

「AI の 90% は Stolen Steel で発生しません。ただし、偶然はあります。ときどき、相手がプレイヤーを見失って、プレイヤーが最後に存在した場所の周囲を見始めます。すると『この AI は予期しない行動をするな』と思うでしょう」と Wintergreen 氏。

ひげを蓄え、つば広のかぶとをかぶった衛兵は、Wintergreen 氏が最初に作った AI です。すぐに彼のお気に入りの仕事になりました。こうした衛兵はアンリアル エンジン 4 (UE4) のビジュアル スクリプティング システムであるブループリントを使って制作されました。ブループリントは、プログラミングの知識がなくても優れたプログラマーにさせてくれるツールです。

「AI を作るのはとても面白いです。小さな者たちをしつけて、行動させて、驚かせてくれるのですから。」

Wintergreen 氏のブループリントでは、AI は大きく枝分かれするフローチャートになっています。一定の状況下で衛兵たちがどのようなパスをたどるかを指示しています。例えば、誰かを見つけたら、自らに一連の質問をします。既に戦闘状態か? その場合は、何もしない。暗闇に相手がいるか? その場合、見えていないふりをする。相手に好意を持っているか? その場合、Hello と言う。

blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Stolen+Steel+VR%2FMIU_StolenSteelVR_Pic2-770x433-9918e7daec92d340a748f047311b1503073fe48a

「ただし、まだ Hello と言っていない場合に限ります。間抜けだと思われたくないですからね。この方法ではすぐに手に負えなくなるので、いくつか別のやり方があります。」

現在、UE4 ではビヘイビア ツリーをサポートしています。これは比較的新しい機能で AI をBlackboard とツリー自体の 2 つの部分に分けます。Blackboard はキャラクターのメモリを保存する場所であり、ツリーは決定を下し、それに対して行動するプロセッサの役割を果たします。ビヘイビア ツリーは、Wintergreen 氏が作った間に合わせのブループリント チャートと似ているように見えますが、一段と単純なシステムになっています。

「もう一回やるとしたら、多分ビヘイビア ツリーを使うと思います。見やすいですしね。自分が作った無秩序に広がったブループリント グラフも気に入っていますけど。とはいえ、AI がどんどん複雑になると、使いづらくなっていきます。維持管理がやっかいな巨大なマシンになるからです。」

ボトルを破壊させる


blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Stolen+Steel+VR%2FMIU_StolenSteelVR_Pic3-770x433-f6e0c8d348a89af48dbc2b2b04a2d27bcd509fb1

Wintergreen 氏が友人と一緒に作った初期の VR プロトタイプとして、病院内でマフィアによる殺人から逃れる目撃者のゲームがあります。プレイヤーは自分の手で車椅子を動かして逃げます。

「基本的インタラクションとして教えたかったのは、ウィスキーのボトルがあって、そこからグラスに注ぐという動作です。次にそのボトルを使って、物にぶつけたり、敵がやってきたら投げつけます。」

Wintergreen 氏は Stolen Steel でもこうしたボトルを武器として使いたいと考えましたが、それは技術的にとても簡単なことでした。Stolen Steel ではボトルが十分な力でオブジェクトに当たると、ボトル本体は削除されて壊れたボトルの首部分に置き換えられます。同時にボトルの破片がスポーンし、あちこちに飛び散り、ガラスが粉々になる様子が表現されます。

「この機能はお気に入りです。トレーラーでご覧いただけるように、私は 5 つのボトルを壊しました。」

ボトルが砕け散るかどうかを判断する力のしきい値を決めるのは難しいことです。

「300 ニュートン以上くらいの力でぶつかると壊れます。正確にはわからないんです。物理は難しいですから。うまくいきそうな数字を見つけてやってみることです。」

特別な例外もあります。例えば刀に当たるとスピードは関係なくボトルは常に壊れます。また、破壊のしきい値以下の力で 4 回攻撃を受けると、ボトルは粉砕します。ですから何とかボトルを壊そうとするプレイヤーはそのスイングの強さに関係なく最終的には成功します。

「コントローラーを実際に何かにぶつけて壊してしまうのではと心配する人もいると思います。当然です。私は壁を少し傷つけてしまいました。」

戦闘の強化


blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Stolen+Steel+VR%2FMIU_StolenSteelVR_Pic4-770x433-819b786e2b96a27dd5b22fcedfcd64a2d4c1bfe6

最近、ゲームに茄子が加えられました。メッシュをプロシージャルに半分にスライスできる UE4 の機能からインスピレーションを受けました。この機能は、物理を使った 3D の Fruit Ninja で効果的に使われています。Stolen Steel VR の茄子はボトルのように武器になります。当然、武器がなくなった衛兵の AI は急いで茄子を取りに行きます。

「きれいな茄子なんですよ。次はシェフ シミュレーション ゲームを作るとよいかもしれませんね。」

Stolen Steel VR は Steam で入手できます。 アンリアル エンジン 4 は現在無料です。

編集注記: PCGamesN は、長く続いている Making It in Unreal シリーズのためにアンリアル エンジンで制作された素晴らしいゲームを選んでそのデベロッパーにインタビューしています。エピック ゲームズは編集プロセスに関与していません。