なんかホラーっぽいゲームを作ってみた。
なんか、思いつきでホラーゲームっぽいなにかを作ったのでそれについてテキトーに。
作ったやつ
こんなの作りまった。
左にある装置のロックを解除して非常口から逃げるやつです(適当)
Worker | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
ことの発端
何気なくアセットストアを見ていると、気になるアセットが、
あ、なんか作れそう。(あと、BGMがすげぇ壮大。)
ってことで、この雰囲気に合わせたホラー系のゲームを作ることに。
ステージ作成
早速、アセットにあった壁のモデルを並べてステージを作っていたのだけれど…
面倒くさい。
数値を調整しながら並べていくのは大変だし、グリッドスナップで合わせようにもだんだんずれていく…。
せめてBlenderみたいにオブジェクトスナップがあれば…!
ありました。
移動モードでvを押すと頂点スナップ、Shift+Ctrlを押すと面スナップができるんですね。
知らなかった。人生の0.0001%くらい損した気分。
まぁ、なんやかんやあって完成しました。
敵の実装
初めてのNavMesh
敵の動きを作るにあたり、Unityに標準では言っているNavMeshを使ってみました。
使うのは初めてだったけれど、何も考えないで実装できちゃいました。
やはりUnityはネ申。
敵の動きについて
はじめはNavMeshに全部任せて延々とPlayerを追い回すようにしてたんですが、ずっと後ろからついてきて散歩してる気分に…。
てことで、80%の確率でプレイヤーの位置、残り20%の確率で指定したランダムな場所に移動するようにしました。
結果、正面にいたり角でばったり鉢合わせたり比較的いろんなシチュエーションが生まれました。
ランダム目的地
敵の見た目
巨大な顔に追いかけられるっていうのはたしかに怖いと思うが、このモデルはそもそもホラー用じゃないからあまり怖くないという…。あと、どこから迫ってきているかをわかりやすくするために発光させると、なんか…シュール…。
初期案
ってことで、試しに自撮りした写真を切り抜いて適当にスプライトとして貼り付けてみた。
改良後
ま…まぁ…怖いか。心なしかキモさも上がった気がする。
なんとなく不気味な雰囲気が出た(?)のでこれで行くことにしました。
ゲームの目的とは…
さて、プレイヤーと敵が完成したが、肝心のゲーム性が存在していないということに気づいてしまった。…。さぁどうしよう。
まず出たのが
「ただの鬼ごっこ」…だんだん足が早くなる敵から逃げ続ける。
これはいつか限界が来るし、何か釈然としない。
まぁ、結局誰かの実況で見たDbDみたいな、機械を修理したら出口が開く的な感じにしました。
その他細々したシステム作成
ミニマップ
これは画面左上にあるこいつ↓でどこを通ったかわかりやすくするやつ。
作ってみたかったからつけたけど、実際実用性皆無。
作り方は壁と軌跡用のTrailRendererをレイヤー分けして、その2つだけが映るカメラ用意して、カメラのRenderTextureをUIのRawImageに流し込むだけ。ね、簡単でしょ。
ライフゲージ
こいつ↓のこと。
作り方は、子にゲージの画像を持ったMask付きの親のWidthをスクリプトから変更させるだけ。うん。簡単。
タイトル・クリア・ゲームオーバー画面作成
正直これ作ってる頃にはもうモチベがだだ下がりだったんでそんなに力入れてませんでした。
それでも、それなりの形にはなってるんじゃないでしょうか。
教訓:DoTweenProとColorful FX使っときゃそれっぽいメニュー作れる。
振り返り
今回、特に計画も立てずなんとなくで作り始めたけれど、やっぱり大まかでもいいから計画を立てるべきだったと多少後悔。
まぁ、色々な機能触れたし、一応完成もしたんで良しとします。
クソゲーでも計画は立てようね。
P.S.
アセットストアからダウンロードする喜びを知ってしまって、容量が大変なことになってしまいました…。
使用したアセット
今回使用したアセットはこちら。
システム系
DOTween Pro
Proを使うのは今回はじめてでしたが、めっちゃ使いやすかったです。
お陰でタイトル画面がめっちゃ簡単に作れちゃいました。
Standard Assets
FPSコントローラを使いました。
ドラッグ&ドロップで動くものができるってすごいですよねぇ。
Easy Save
ハイスコアの保存に利用しました。
んで、使ってる途中に気づいたんですが、AutoSaveって機能でGUI上で保存する値を決められるみたいですね。(まだ試してないけど)
やばいわ。
TextMesh Pro
タイトルやボタンなど、色んな所で使いました。
DoTweenProとも相性良さそうです。
UniRx
今回始めて使いました。使い方がまだあんまりわかっていませんが、使えるようになったほうが良さそう感はすごい伝わりました。
軽く勉強しながらこれからも使っていきたいと思います。
素材等
Bubble Font
フォントのアセットです。
TextMeshProと合わせて使用。今回ホラーな雰囲気ということで、手書き風フォントを探したら出てきました。いい感じ。
Simple Vector Icons
シンプルなアイコンがセットになったアセットです。
結構実用的なアイコンが多かったのでおすすめです。
Hospital Horror Pack
このゲームを作るきっかけになったアセット。
このElectroPanelのモデルを見て、スイッチ入れて脱出する案を思いつきました。
PBR - Hospital Horror Pack
上のアセットだけではオブジェクト数が少なかったのでこっちのオブジェクトを追加で配置しました。
上のと雰囲気が似ていたんで同じところが出しているのかと思ったら違うんですね。
Builders Torch
ちょっと見えにくいかもしれないけれど、画面右下にこいつが写ってます。
サンプルシーンにあったやつをそのまま持ってきたら色々設定されてて使いやすかったです。
昔使っていたけれど、この豆電球タイプの懐中電灯ってまだ使われているんだろうか…。
Bronze figures
正直的に悩みながら3Dモデルを探していたときにこのアセットを見つけて、アイコンのインパクトからこいつにしようと決めました。
巨大な銅像に追いかけられるってリアルだったら死ぬほど怖いよね…。
画面効果
Post Processing Stack
みんな大好きこのアセット。
Colorful FXと一緒に使ったらいい感じになりました。
Colorful FX
画面の雰囲気出しに。
個人的にアナログTV風になるのと画面にノイズが走るやつが気に入りました。
Amplify Occlusion
これのお陰でオブジェクトののっぺり感が軽減されました。
心配だったけど、WebGLでもちゃんと働いてくれていたので良かった。
オーディオ系
Ambient Sample Pack
環境音①
機械の電源が入ったあとループ再生する音として利用しました。
環境音大事。
Horror and Sci-Fi Ambience LOOPS LITE
環境音②
ゲーム中常に流れている音です。無音よりもこんな感じの音があったほうが雰囲気出るような気がします。
環境音大事。
Dark Magic
敵に見つかったときの音と機械の電源を入れたときの音として利用しました。
使用用途が少しずれてる気もするがスルーで。
Free Horror BGM Loop
的に見つかったあとにループ再生するBGMとして利用しました。
緊迫感あって普通に焦る。
Horror Ambient Sounds Pack
敵の声(?)と心臓の音を利用しました。
その他にも色々あったので使いみちがありそう。
Horror Sound Atmospheres and FX
GameOver画面とClear画面の音楽として利用しました。
意外とBGM素材としていい感じのアセットがなかったので探すのが大変でした…。
その他
unity-simple-ranking
NCMBに対応したらしく表示が早くなっていました。簡単ににランキングが実装できるので使用しました。ありがたや…。
unityroom-tweet
このパッケージのお陰でTwitter共有が一瞬で実装できてしまいました。ありがたや…。
非常口素材
非常口専用の素材サイトです。すごい…限定的。