こんにちはぬいぐるみです。unityroomではNと名乗っております。unity1weekのときだけゲームを作るタイプのぬいぐるみです。
unity1weekの参加は3回目でした。
過去作はこんなものを作っています。
1回目:「RE■■■」 お題:RE
2回目:「ほしをいっぱいふらせよう!」 お題:ふる
「お前か!」って人もいれば「はじめまして」って人もいるでしょう。
3回目の参加となる今回は「女の子の部屋でただのんびり過ごすだけのゲーム」を公開しました。事前にこちらを遊んでもらえると、開発ブログも楽しめるかもしれません。
目次
1日目:
お題が「おくる」と発表され、アイディア出しをしていました。
とりあえず案が3つくらい思い浮かんだから、どれが一番おもしろいかを睡眠会議で決めるか
— ぬいぐるみ (@cutenuigurumi) December 17, 2023
この時に思い浮かんでいたのは、こんな感じでした。
・エアコンで風を送るゲーム
レストランにいるお客さんたちが快適に過ごせるようにエアコンの温度を調整するゲーム。
男、女、子どもで快適温度が違う。快適温度内にいるとスコアが高くなる。
途中で窓が割れたり火事が起こったりする。(温度が激しく変化する)1分間でスコアを競い合う。
・勇者が魔王城に送り込まれるゲーム
数々の死亡フラグを乗り越えて魔王城に到達できれば勝ち
ただし魔王城は冬山の山頂にある。死にゲー
「先代勇者がついてきてくれるから大丈夫だ!」
→ついてきてもらう:先代勇者に置き去りにされて死亡
→断る:死亡
「魔物を倒したぞ。皮をはいで街に持って行って旅の軍資金にしよう」
→する:密漁で逮捕 する:臭すぎて仲間に嫌われた。社会的に死亡
・日々を送る
ほのぼのげー。脱出ゲームに近いかもしれない。説明無しで部屋があるだけ。
クリックしたり、時間経過でどんどん実績が解除されていく。実績を集めるのが目的。
1は今の自分の技術的にできるか分からなかったためお蔵入り。
2はまず冬山の厳しさの事前調査が必要だったので、ちょっと時間が足りないな……と、
3だったらREのときに作った脱出ゲームが活かせるかもと思ったので結果的に3を選びました。
1と2は他の機会でまた作れればいいな。
当初のイメージでは窓からは海のさざ波が見えて安楽椅子に座って波の音に耳を傾けながらゆっくりとした時間過ごす……実績取得はそのついでくらいのイメージでした。いつの間にか女の子の部屋になってました。
2日目:
#unity1week
一番楽しい所、画面の仮配置。(楽しい所終了)
ゲームの大まかな方向性をまとめた。
細かい仕様と3D素材との格闘は明日のわたしががんばるはずデス……。 pic.twitter.com/6MFCgwXWHc— ぬいぐるみ (@cutenuigurumi) December 18, 2023
画面の仮配置をしました。
この日にゲーム内で実装予定の実績名と条件を詰めていました。本当は実績数100くらい作りたかったのですが、流石に間に合わなくてお蔵入り……。
3日目:
今日の進捗#unity1week
イラストをひたすら描いたり素材探し
UIまわりをちょこちょこいじってた
目に見える進捗があんまりない……
unity1weekのために有給取ったはずなのに、眼科行ってお昼寝してたら一日が終わってしまった。悲しい。— ぬいぐるみ (@cutenuigurumi) December 19, 2023
この日は進捗があんまりなかった。
Clean & Minimalist GUI Pack | 2D GUIをいじってた。
あんまり書くとネタバレにしかならないゲームなので進捗も載せづらい……。と思いながらツイートしていた思い出。
この日にWebGLでビルドしたときだけ画像が表示されない問題を解決してた。
4日目:
左側に実績が表示されるようになりました。
実装済み実績6/20
間に合うのか……日曜日は唐揚げを1キロ揚げないといけないから実質あと3日半くらいしかない……#unity1week pic.twitter.com/VA8jEMs85b— ぬいぐるみ (@cutenuigurumi) December 20, 2023
だいぶ今のゲームっぽい画面に近づいてきた。
5日目:
窓の外の背景を切り替わるようにしていました。
青空、夕焼け空、夜空の画像をPrefabからゲーム上に作成し、一番上にある画像をどんどん薄くしていく。数値がゼロになったらDestroyする。最後の一枚になったらPrefabからまた作成を行う、という単純な仕様です。
Order in Layerを青空(0)、夕焼け空(-1)、夜空(-2)というように設定していました。
夜空だけになった時、青空が生成されるが、夜空が消えるよりも先に生成され、かつ手前に来てしまう……という現象が発生しましたが、改善するまでには時間が足りず……。どうするのが正解なんでしょうね。
6日目:
ほぼ一日がかりで作業。16〜20までの実績とそれに付随したあれこれを作成。
1周する分には問題ない程度には完成。
女の子が出てきてからの会話はFungusで作成をしていたのですが、会話文を作るに当たって本当に助けられました……。神アセット。
実績の表示はScriptableObjectに実績名、実績の解除条件、フラグを入れていたので、フラグがオンになっていたら実績名と解除条件を表示する、という感じで作っています。
この画面はClean & Minimalist GUI Pack | 2D GUIのデモに入っていた「Inventory」の画面をもとに作っています。このアセットがなかったらこんなにおしゃれには作れませんでした。
7日目:
朝4時に就寝、朝10時に起きて19時ごろまで作業。仕事より頑張ってんじゃねえか。
- BGM、効果音
- 取得した実績の表示
- セーブ&ロード
- Endシーン
- 画像付きツイート機能
- サムネイルの作成
- 全実績解除記事の作成
- デバッグとそれに付随する修正
をこの日やってました。
クリスマスなのでからあげ1キロ揚げていました。皆メリークリスマス!(突然の飯テロ)
延長戦:
バグ修正
スマホ対応といいつつも、フォントが黒豆腐になっていたのでFont Asset Creatorを生成し直しただけです。
同じ現象で困っている方はこちらのページが参考になるかも。
よかったこと
遅刻せずにゲームが完成できた。
時間配分は前回よりもうまくできた。デバッグの時間もリリース前に取れた。
わるかったこと
コードがとても汚い
1週間でゲームを作りつつ、コードもきれいに作れるとかどんな達人なん……。
unity1weekにこれから参加する人へのアドバイス
事前にゲームプレイしてくれる友人大事
「ちょっと事前に遊んでおかしい所ないか指摘してくれない?」ってゲーマーの友達を事前に確保しておいてお願いするといいと思いました。
今回のゲームの場合、以下のバグが事前のデバッグ作業で発見されました。
- 電気、ドアを長押ししている間に連打される
- BGMを毎週調整しないといけないのは大変
- セーブ&ロードを挟んだ場合女の子が帰ってこなくなる現象の修正
三回で帰ってこなくなる - 2周目のタイミングで「電気消しといて」のセリフのあと
電気を消さなくてもエンドシーンに行ってしまう - 絵の実績がバグる
絵の実績を回収せずにロードすると絵が表示されなくなり、回収不可 - スマホで遊ぶと文字がばける
自分で遊ぶ分には2週目クリアできるかな、くらいしかやっていなかったのですが、
他の人にデバッグ作業をお願いできると、ゲーム内容を知らない分ちゃんとリアルなゲームプレイ時のデータが返ってきます。事前にお願いしてよかったと思いました。
unity1weekに参加しない、ゲーム好きの友人の確保とても大事。
使えるアセットは使おう
今回、FungusとClean & Minimalist GUI Pack | 2D GUIの2つのツールにすごく助けられました。なかったら完成無理だったかも。
無料、格安Assetの情報を提供している人もいるのでチェックしておくと良いかも
開発秘話
Q 主人公はなんで女の子の部屋にいたの…?
A 彼氏、友達、兄弟姉妹、ストーカー(女の子はもう諦めてる)、女の子の家に勝手に居着いている幽霊……お好きな設定でどうぞw
Q 「寝起きでロールプレイ」って何?
A 今回、イラストを提供してくれたスイカの種のまりおさんの書かれているガチハードSF小説のタイトルです。カクヨムにて連載中。まりおさんは「RE■■■」のときの女の子もイラストを描いてくれました。