演出とは説明である
ぴっくるでは現在、研究開発の一環で、PurpleMandrillの開発を進めています。
今回は敵の新しい行動パターンを作ってみます。
行動パターンとしては、いわゆるバクダン岩のようなもので、攻撃を加えると周りを巻き込んで爆発するというものです。
爆発をする前に逃げないと、巻き添えを喰らってやられてしまうというわけです。
また行動パターンを増やすにあたり、ソースの整理も行いました。
今までは敵の行動パターンが1つしかなかったのと、プレイヤーのダメージ処理やカメラの制御なども一連の処理の中で行っていたので、ゲームメインのソース内でコードを書いていました。
なのでこれを機に敵の処理周りを敵キャラクターのクラスに移動させることにしました。
まずは最低限の実装
とりあえず最低限の要件だけを満たしたものが以下の動画です。
攻撃をしたあと、いきなり爆発して主人公も倒れましたね。
作った本人は全てを知っているので、何が起きているのかが脳内で補間できますが、作った本人以外の人はそうはいきません。
明らかに演出が足りません。
まず何が起きているのかを整理します。
- 敵を攻撃する
- 敵が爆発体制に入る
- 自分のターンが来た際に敵が爆発する
という流れになります。
なので敵を攻撃をした際に「あれ、いつもとは違うぞ?」とプレイヤーに思わせる必要があります。
そのために、爆破体勢に入った際に通常アニメーションから専用のアニメーションに切り替えを行います。
これは先ほどの動画でも行われています。
その後、敵のターンになった際に自爆を行うわけですが、自爆の演出が入っていないため、いきなり爆発してしまっています。
自爆演出の追加
次にどのように爆発するのかを演出します。
自爆の定番と言えば「ふくれあがって破裂して爆発」でしょう。
実際の爆弾ではこのようなことはあり得ませんが、風船が膨らんで破裂する光景が我々一般人のイメージなので、それを真似るのが分かりやすくて良いと思います。
爆発する前に、キャラクターのスケールを調整して膨らませてみましょう。
どうでしょうか?
なぜ敵が爆発したのかが視覚的に分かるようになっていませんでしょうか?
ちなみにこの膨らみ表現ですが、DoTweenを使って表現しています。
transform.DOScale(1.7f, 1.0f).SetEase(Ease.Flash, 7, -0.65f)
この1行でボヨンボヨンと膨らんでいきます。
膨らんだり縮んだりを繰り返しながら徐々に膨らんでいくのは、アニメ的な表現ですね。
実際の風船でも息継ぎのために膨らみを少し止めて、また膨らませて止めて…を繰り返すと、それっぽくなります。
一定のペースで膨らませるよりも、こういった変化を付けた方が良いのは、人はこういう激しい動きに目が行きやすいからです。
最後にもう一工夫
演出をつけることでだいぶ分かりやすくなりましたが、もう少しだけ調整を行います。
動きの対象を注目させるため、敵をカメラの中心で捕らえます。
そして爆発の瞬間に少しだけ間を作ってやります。
その間にカメラを引きます。
それらの効果を入れたものが以下の動画です。
どうでしょうか。
カメラの中心に持ってくることにより、爆発が主役になっています。
そして爆発前の一瞬の間が、限界を表しています。
カメラを引くことによって、爆発の大きさを表現できます。
ここまで演出を入れれば、ほとんどの人が「攻撃をトリガーに自爆したんだな」ということが分かると思います。
まとめ
何かを説明したい場合は、演出をうまく取り入れることで伝えることが出来ます。
演出が無くてもゲーム自体は成り立ちますし、演出はゲームの面白さの本質ではありませんが、ゲームを分かりやすくしたり盛り上げたりするための重要なファクターです。
今回の演出も、処理自体は大したことはありませんが、調整を繰り返すので演出の調整だけで1日ぐらい潰れました。
DoTweenのパラメータも、値が0.1違うだけでも、なんかしっくりこなかったりします。
他人にゲームを遊んでもらって、なんか分かりづらいと言われたら、演出での説明を検討してみてくださいね。
有限会社ぴっくるとは?
ゲーム開発を行って19年目になる会社です。
他のデベロッパー会社と一緒にプロジェクトに参加して、いろいろなゲーム開発に携わっています。
音声収録・動画配信スタジオを運営し、会社・スタッフともに色々な情報発信を行っています。
そんなぴっくるではゲームプログラマースタッフを絶賛募集中です。
コメント