見出し画像

ホラゲー「うえをむいてあるこう」を作ったので振り返る

2023/6/19から6/25で開催された
unity1week お題「ふる」に参加したので、最遅振り返りします!
unity1weekとは、お題に合わせたゲームを一週間で作るゲームジャムイベントです。


作ったゲーム

unity1week参加のきっかけ

なんかゲームつくりたいなーとなんとなく思い続ける日々を過ごす

GodotやUnityの浅い勉強をしつつも作品として完成せず

unity1weekというものが開催されていることを知る

参加してみようかなーという考えがうっすら頭をよぎる

咄嗟に、今この勢いでやるしかない!と参加を決意
(この時点で1日目すでに経過。遅い。)

目標設定

参加を決めたので絶対成し遂げたいことを掲げました。
「最低限の遊べるものを完成させる」

残業多めの社会人生活、休日は寝て過ごしていた自分にとって、いきなり理想のゲームを目指すと挫折することは目に見えていたので!
今回はゲームのクオリティとかはまず抜きにしてなにかしらを完成させる体験を得るということを目標にしました。

ゲームとしてクオリティを高めていくのはもっと経験を積んでから、という意識でいこうと決めました。

アイデア出し

「ふる」でアイデアを出します。

  • ダイスを振る

  • 画面を振る

  • 敵が降る

お題とは別軸で、自分の一番興味があるテーマなんだろうと考えました。
やっぱり「ホラー」かな・・・

ということで
「敵が降る」x「ホラー」でゲーム制作することに決めました。
(この時点で2日目経過。遅い。)

ゲームの内容考える

unityでは一人称ゲームのスターターキットが配布されていることを知り、てっとり早そうなのでこれを元に一人称視点ホラゲーをつくることに決めました。

ゲーム性としての面白ポイントは、以下で設定しました。
「敵が降ってくるから上側を注意しないといけないけど、
足場も細いので下側も注意してないと落ちてしまう」

これでプレイヤーの葛藤をもたせることを目指しました。

制作フェーズ


手を動かしていきます。

3D制作

blenderも初心者だけど、とりあえずモンスターを作ります。

blenderの制作画面

キュートなおばけができました!
顔をプレイヤーに追従させたいので、首にボーンもいれます。
(一番苦戦した・・・)

本当は手足・指にもボーン入れたかったのですが、スピード優先して省きました。
(この時点で4日目経過。遅(略))

音制作

ホラゲーで一番大切なのって音だよな、と思い
音を作成しながらゲームの雰囲気を考えました。

ブラウザでお手軽に作曲できるbandlabを触りながら試行錯誤。
人間の発声に近い音をみつけたので、ハミングをしているような音を作成。
これがずっと奥から鳴り続けてたら怖いのでは?ということで採用!

あとは敵が降るときに発する声とプレイヤーが落ちた時の音を作成して、素材は準備万端!

Unity作業

初心者なので、ChatGPT4に課金していろいろ教えてもらいながらつくりました。
スターターキットのシーンとスクリプトに記述を追加する形で、ひとつひとつ試しながら実装を進めていきました。

実装の流れは以下で進めました。

ステージを作成

トリガーに当たるとモンスターが降る挙動作成

モンスターに当たるとリスポーンする機能作成

プレイヤーが落ちるとリスポーンする機能作成

セーブ地点作成

敵の首をプレイヤーに追従させる機能作成

最終ゴール作成

提出締め切り日の次の日の深夜、
なんとなく遊べるゲームができました。
(この時点で遅れている)

事件が起こる

あとはビルドするぞ!というタイミングになったので、
ビルド設定を確認し始めました(ここが一番遅い!!!)

「やべ、プラットフォームwebGLにしてなかった・・・」と気づいたのでプロジェクト設定のプラットフォームを変更。
ここでうっすら嫌な予感は的中しました。

「webGLにしたらゲームのマウス追従がなんかうまくいかなくなったな・・・」

後にわかりますが、これはwebGLにした時のバグではなく、マウス追従感度がデフォルトに戻っていたのが原因だと考えられます。
(追従していないのではなく追従が少量すぎて気づかなかった)

そこで、スターターキットをもう1回読み込み直したら治るのでは?、という判断に至りました。

これが軽率でした。

スターターキットの再インストールボタンをポチッと押してみました。

インストールが終わってUnityの画面を見てみます。

ん??????
なんかデータ消えてね????

午前3時の絶望ツイート。

スターターキットのスクリプトに直で書いていたコードと
ステージを組んでいたシーンが全て初期化しました。

面倒でgit管理とかもしていなかった結果、
元のデータはどこにもありませんでした。

この時自分はなんか逆に吹っ切れていて、とりあえず考えるのをやめて翌日の出勤に備え即寝ました。
そして、翌日、一からの作り直しを決意することになったのです。


ここで心折れて諦めなかった自分を褒めてあげたい・・!😭

幸いスクリプトをいくつか分割しており、消えていたのはプレイヤーの操作回りにまつわる記述だけだったので、まだ致命傷は避けられました。

消えてしまったシーンについては作り直しになりました。
以前はステージ構成でUnityの立方体オブジェクトをつかってたのですが、
微妙な段差にひっかかったりしていたので、blenderで流動的なステージを作り直すことに決めました。

結果としてはゲームのクオリティを少しあげられたし、色々教訓にもなったしよかったかなと思います!!!(スーパーポジティブ)

初心者すぎてみなさんはこんなミスしないと思うのですが
データの上書き保存・消失には十分気をつけましょう!!!

教訓

  • ビルド環境・プラットフォームは最初に確認しよう

  • スターターアセットのシーンやスクリプトは直接編集しないようにしよう

  • 機能を1つのスクリプトに収束させず、機能別でスクリプトは分けておこう

  • バックアップは常に意識しよう

完成

そんなこんなで締切日から3日遅れでゲームを提出することができました!

コメントでさまざまな感想をいただけたのはすごく嬉しかったです!
自分の意図したホラー演出が伝わって嬉しいという気持ちと、もっと怖くできる!という気持ちが湧いてきました。

あと、ホラゲー苦手な方もいらっしゃるので「※ホラー注意」と書いておいてよかったなと思いました。

バグ報告について

プレイヤーが永遠に落ち続ける、というバグ報告をもらったのですが、自分では再現しませんでした。
そのため、友達にプレイしてもらいながら画面を見ていると、キーを入力したまま落ち続けると永遠に落ち続ける現象が確認できました。

自分でプレイしている時は自然と落ちている時はキー入力を離していたため再現せず、改めて第3者にプレイしてもらうことの大切さを学びました。

ゲームとしての反省点

  • 上みたり下みたり、視点を大きく動かす必要があるので、酔う

  • 自分の立ち位置が分かりづらく、足場も悪いのもあって操作性が悪い

  • リスポーンした時、どっちが進行方向かわからなくなる

  • もっと怖くできる

など、ゲームとしてはまだまだ改善できる部分あるなと感じています。

unity1week参加してみての感想

1つのゲームを完成させることができたという意味で参加して非常によかったなと思いました。
こうした外圧がないと、社会人なにかと理由を作って逃げがちですからね。。

ゲームを作ると、よりゲームの素晴らしさに気づくことができるので、自分の世界が広がっていいですね。
あと、他の人のゲームをプレイするほど他の人にも自分のゲームを見てもらえるという機能すごくよかったです。
いろんな観点から勉強になる体験でした。


さて、あしたからまたunity1weekが始まります。
今回も参戦する予定なので、前回よりもっといいゲームを目指して頑張るぞー!


この記事が気に入ったらサポートをしてみませんか?