今回は皆さん大好きなホラーゲームに関する話題で、タイトルの通り「Unityを使ったホラーゲームの作り方」を一通りご紹介していくという内容です。
私は今まで35作品以上のゲームを作ってきたのですが、実はつい先日まで本格的なホラーゲームを作ったことがありませんでした(※正直作り方がよく分からなかったのです)。しかし一昨日になって急にホラーゲームを作りたくなり、なんとたったの3日間で「The T-pose Man」というシンプルなゲームを完成させて先ほどitch.ioで公開しました。
このゲームの開発により、ホラーゲーム開発に関する知見を色々と得ることができたので今回皆さんに共有しておきたいなと思ったというわけです。そこでここでは
- そもそもホラーゲームとは何か
- (開発ソフトに関わらず)ホラーゲーム開発で知っておくべきこと
- Unityでホラーゲームを開発するときのポイント
といった点について詳しく書いていきますね。
そもそもホラーゲームとは?
まずはじめに、そもそもの話として「ホラーゲームとは何か?」「どんな特徴があるのか?」という根本的な部分から説明しようと思います。
ホラーゲームの定義
ホラーゲームはゲームのサブジャンルの一つで、端的に言えば「恐怖体験を楽しむためのゲーム」です。おそらく厳密な定義はないと思うのですが、一般的には
- 幽霊や怪物に突然襲われるなどの脅かし
- 暗闇や閉所の探索
- グロテスクな表現や残虐な表現
といった要素によってプレイヤーの恐怖心を煽るゲームが多い印象です。
ホラーゲームの特徴
さてそんなホラーゲームですが、他のゲームジャンルとは異なる点・特徴と言える点があります。主なものとして次の2つが挙げられます。
- 怖ければ何でもあり
- ゲーム実況の題材として非常に人気が高い
怖ければ何でもあり
一つ目の特徴は、ホラーゲームは怖ければ何でもありでゲームとしての形式は問われないという点です。
普通、あるゲームのジャンルはそのゲームの形式(ルールや操作方法など)で決まりますよね?でもホラーゲームは怖ければホラーゲームとして分類しても何も違和感がないので、「ホラーゲームはこうしないとダメ」という決まりは特になく、かなり自由に作ることができます。
まあ一般的にホラーゲームといえば
- 2Dホラー:見下ろし型で追いかけっこがある(=2DアクションRPGに近い形式)
- 3Dホラー:一人称視点で閉所を探索する(=FPSに近い形式)
といったゲームが多いのですが、極端なことを言えば全く違うゲーム形式でもホラーゲームとして成り立つ場合があります。このようなことを考えるととても懐の広いジャンルだと思いますし、発想次第では新しいゲームを生み出しやすいジャンルなのかもしれません。
ゲーム実況の題材として非常に人気が高い
次に二つ目の特徴は、皆さんご存じかと思いますがホラーゲームはゲーム実況の題材として人気が高い点です。
怖いホラーゲームほど実況者のリアクションを引き出しやすいので、面白い動画を撮影しやすく配信にはうってつけの題材となっています。もし自作のホラーゲームを有名な人に実況してもらうことができればゲームの知名度は一気に高くなることでしょう。そういったチャンスが他のジャンルよりもあることもホラーゲーム開発の魅力ですね。
ホラーゲームを作るうえで知っておくべきこと
では前置きはこのくらいにしておいて、ここから本題である「ホラーゲームの作り方」について詳しく説明していきます。
まずは(開発ソフトに関わらず)ホラーゲームを作るうえで是非知っておいて頂きたいことを4つご紹介しておきますね。
- ホラーゲームはシチュエーションが一番重要
- ホラー演出では緊張と安心のサイクルを心がけよう
- ホラーだからといって理不尽にするのはダメ
- ゲーム実況のルールは明記しておいたほうがよい
それぞれ詳しく見ていきましょう。
ホラーゲームはシチュエーションが一番重要
一つ目はホラーゲームはシチュエーションが一番大切だということです。
なぜシチュエーションが重要なのか?例えば「殺人鬼に襲われるホラーゲーム」の場合を考えてみると、極端な話
- 主人公:筋肉ムキムキの褐色マッチョマン
- 殺人鬼:ヒョロヒョロでなんか弱そうなやつ
- 襲われる場所:昼間の公園
- 襲われ方:敵が真正面からパンチしてくる
とかだったら全然怖くなさそうですよね。ところがこれが
- 主人公:かよわい女の子
- 殺人鬼:肉切り包丁を両手に持った、筋肉質で目をひん剥いた男
- 襲われる場所:誰もいない夜の裏路地
- 襲われ方:敵が主人公をじりじりと追いかけて袋小路に誘い込む
だったら一気に緊迫感が漂ってくるわけです。つまり主人公が置かれた状況によって怖さが全然違ってくるので、ホラーゲームを作るときはまずシチュエーションを練るのが大切だと思います。
ホラー演出では緊張と安心のサイクルを心がけよう
次に二つ目は、ホラー演出では緊張と安心のサイクルが重要だということです。
よく「ホラーゲーム=とにかく怖くすればいい」と勘違いしている方がいらっしゃいますが、個人的には単に怖いだけではダメで怖さにメリハリがあったほうがより楽しい怖さになると思っています。やはりずっと怖いだけではプレイヤーさんも疲れてしまいますし、単調なので飽きてしまうかもしれませんよね。
そこで緊張状態と安心状態が交互に入れ替わるような作りにするのがよいと思います。例えば先ほどのシチュエーションなら、
- 夜の裏路地。後ろから笑い声が聞こえ、振り向いたらヤバそうな奴がいた!(緊張)
- 必死に逃げる。追手は足が遅かったので引き離せた(安心)
- と思ったら、逃げた先は袋小路だった!殺人鬼が笑いながら近づいてくる…(緊張)
といった感じにするとより絶望感が高まって効果的でしょう。このように緊張と安心のサイクルを上手く回すことでより楽しいホラーゲームになります。
ホラーだからといって理不尽にするのはダメ
三つ目に知っておいていただきたいことは、ホラーゲームだからといって理不尽にするのはダメということです。
ホラーゲーム開発ではプレイヤーの恐怖心を煽ろうとした結果、ついつい初見殺しなどの理不尽要素を入れてしまいがちです。しかし基本的に理不尽さと怖さは別物であり、理不尽要素が強すぎると怖いと感じるよりは「なんだこのクソゲーは!」と思う怒りのほうが勝ってしまいプレイヤーとしては面白くないでしょう。また、何度もやり直すことを前提とした作りになっていると単純に面倒くさいですし、やっているうちに怖さにも慣れて効果が薄れてしまいます。
このようなことを考えるとホラーゲームであっても難易度調整は重要で、他のゲームと同じかそれ以上に綿密な調整が要求されると思います。
ゲーム実況のルールは明記しておいたほうがよい
最後に四つ目はゲーム内容とは直接関係がないのですが、ホラーゲームではゲーム実況のルールは明記しておいたほうがいいということです。
上のほうで書いた通りホラーゲームは実況してもらいやすい一方で、実況者の中にはモラルがない人もいるので平然とネタバレなどをされてしまう場合もあります。したがって後々トラブルに発展しないように予めルールを設けておくと安心です。
Unityでホラーゲームを作るときのポイント
ここまでの内容でホラーゲーム開発のポイントについてご理解いただけたと思いますので、ここからはUntiyでホラーゲームを作るときの具体的なポイントをご紹介します。
といっても、先ほども書いた通りホラーゲームには「こうすればいい」という特定の決まりはありません。そこでここでは一人称視点のサバイバルホラーを例に挙げてポイントを解説していきますね。
- 操作性の良いプレイヤーキャラクターが必要
- 制約を設けることで危機感を煽る
- 敵キャラクターのAIも重要
- どこから敵が迫っているかを分かりやすくする
それぞれ詳しく見ていきましょう。
操作性の良いプレイヤーキャラクターが必要
まず一つ目のポイントは、ホラーゲームには操作性の良いプレイヤーキャラクターが必要だということです。例えばプレイヤーが敵から必死に逃げようとしているのに、
- ちょっとした段差に引っかかる
- カメラの視点移動がガタガタしていて酔う
- なんかジャンプの挙動が怪しい
とかだったら余計なストレスが溜まりますよね。そこで根本的な部分として質の良いキャラクターコントローラーを用意したいところです。
私の場合は半年くらいかけて丁寧に自作したキャラクターコントローラーをゲームに導入していますが、アセットストアには下記のような高品質なキャラクターコントローラーが販売されているため、お財布に余裕があればそれを使うのもいいかもしれません。
一方でもし自作する場合は、特に理由がなければRigidbodyを使ったキャラクターコントローラーを作ることをオススメします。一応Unityには「Character Controllerコンポーネント」というキャラクター操作用のコンポーネントもありますが、あまり出来が良くないのでRigidbodyを使ったほうが確実です。参考になさってください。
制約を設けることで危機感を煽る
次に二つ目のポイントは、ゲームシステム的な部分ですが何らかの制約を設けると危機感を煽れるのでお勧めです。
例えば私のゲームの場合、スタミナの概念を導入して「スタミナが足りない場合はダッシュできない」という状況になるようにしました。これによってプレイヤーは
- 怖いからダッシュを使ってさっさとクリアしたいなぁ
- でも無暗にダッシュしたら敵が来たときに逃げられないよな
というジレンマに陥るので楽しくなりますし、例えば必死に逃げている最中にスタミナが切れたらより一層絶望感を味わうと思います。
このようにホラーゲームでは何かを制約することで面白くなる場合があります。いま例に挙げたスタミナの概念はC#スクリプトで簡単に実現できますし、効果も高いのでぜひ真似してみてください。
敵キャラクターのAIも重要
さて三つ目のポイントは、敵キャラクターのAIの出来も重要だということです。
ホラーゲームであれば、3Dにしても2Dにしても追いかけっこになる場面が必ずと言っていいほど出てくると思います。このときに
- 経路探索の出来が悪く、敵キャラが特定の通路で動けなくなってしまう
- 思考ルーチンの出来が悪く、敵キャラがプレイヤーの後をまっすぐに追いかけるだけ
といった感じだとプレイヤーが興ざめしてしまいますよね。そこで敵キャラクターのAIをしっかりと作る必要があります。
Unityでの敵AIの作り方に関しては以下の記事で詳しく説明しているので、そちらも併せてご覧いただければと思います。
どこから敵が迫っているかを分かりやすくする
最後に四つ目のポイントは、敵がどの方向から迫っているのかを分かりやすくすることです。
一人称視点のホラーゲームの場合、後ろが見えないので敵が真後ろから迫ってきた場合にプレイヤーが全く気付かない可能性があります。そしてもしそのまま敵の攻撃を食らってゲームオーバーになってしまったらどうでしょう?プレイヤーからしたら理不尽極まりないですよね。なのでそのような状況にならないようにきちんと工夫すべきです。
そこで例えば、敵がプレイヤーに近づいたら音を発するようにするという手段があります。音というのは具体的には
- 足音
- 笑い声
- 緊張感を煽るBGMに切り替える
などですね。UnityであればAudioSourceコンポーネントに「3Dサウンド」を設定できる項目があり、これを上手く使うと敵がいる方向から音が聞こえるようになるので便利です。
また、この手段を使うと不気味さや緊張感を一層引き立たせることもできるので効果的です。ただしプレイにあたってヘッドフォン等を使わないとあまり意味がないので、その点は説明書に書いておく必要があります。
おわりに
以上、Unityでホラーゲームを開発して得た知見を元にホラーゲームの作り方について一通りご説明しました。
一言でまとめると
ということになります。大事なことは「いかに楽しい怖さを演出できるか」という点に尽きると思うので、ぜひその辺を工夫して楽しいホラーゲームを開発していただければと思います。
この記事がUnityでのゲーム開発のお役に立てば幸いです。