Kilimanjaro Warehouse

WEBとかゲーム開発のことについて書きます。

#unity1week に参加した ~ギリギリ編~

こんにちは。
unityroom主催のUnity 1週間ゲームジャムに参加しました。
今回は第8回目の開催で、お題は「ギリギリ」でした。
Unity 1週間ゲームジャム | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

今回はjun-kiさんとコンビを組んで参加しました。
jun-ki (@jun_3453) | Twitter
作ったゲームはこんな感じです。

1週間、どんなことを行なってきたのかをブログに記しておこうとおもいます。

1日目(月)

とりあえず二人で話し合って、作るゲームを決めました。

  • トイレでギリギリ漏れそうな男性が、閉まっている個室を叩きまくる音ゲー
  • 茶店で店員が怒るギリギリまで水を頼んで時間を潰すゲーム

みたいな変なアイディアばかりでました。

途中でjun-kiさんが発した、「QTEをゲームに取り入れたい」という意見を受けて、
「上司にギリギリ見つからないようゲームで遊ぶ」というゲームを作ることに決定。
(結局QTEとはちょっと違った形になりました)

開発にはGitとTrelloを使うことに決まり、とりあえずその日は環境を作って終了。

2日目(火)

この日から実際にゲームを作り始めました。
「上司から隠れるゲーム」と「ゲームの中のミニゲーム」の二種類のゲームが必要になったので、
私は後者の方を開発することになりました。
2~3時間くらい作業して、簡単なプラットフォーマーが完成。

このミニゲームも、端のブロックから端のブロックへジャンプすると高得点がもらえるという、
ギリギリ要素を入れています。

3日目(水)

3日目ですが、この日はとても眠かったので、あまり作業できず早めに寝てしまいました。
実はこの時期、夜あまり眠れなく、睡眠不足な日々が続いていたのですが、
この日はぐっすりと眠ることができ、割と気分は良かったです。

4日目(木)

前日たくさん寝たおかげで、気力が満ちていたので、5~6時間作業できました。
作業の途中で、こんな発見がありました。


それはともかく、私が作ったゲームの部分で、「ジャンプの感触が変」という指摘が入りました。
ジャンプの高さを、キーを押した長さによって変化させるような仕様だったのですが、
初速が足りず、気持ちがよくない感触になっていたようです。
ここがなかなか難しく、追加で実装した二段ジャンプを含め、結構なハマりどころでした。

5日目(金)

この日も眠く、あまり捗らず寝てしまいました。

6日目(土)

この日は午後からずっと開発をしていました。
その甲斐もあり、夕方くらいに、下画面との統合を行い、システム部分はほぼ完成しました。

それ以降は、見た目の部分や細かい手触りを整える時間になりました。

7日目(日)

最終日。タイトル実装や細かい見た目の作成などを行いました。
ゲームジャムに参加するときは、大体いつも時間が足りなく、
最終日には泣きながら必須の機能を実装するということが多かったのですが、
今回は割と余裕があり、タイトル画面など、細かい場所をいじることができました。
(それでも、もっと時間は欲しかったですが...)

この日までこのゲームのことを「上司ゲーム(仮)」と呼んでいたのですが、本番の名前を決める必要がありました。
タイトル案は「上司の居ぬ間にゲー活」と「ギリギリーマン金太郎」という二つの案が出ました。
前者は「鬼の居ぬ間に洗濯」のもじりで、後者は...(略)
最終的に、ゲームの内容を説明できている前者に決まりました。

そういうことで、ゲームが完成しました!

完成したゲームへのリンクはこちら
上司の居ぬ間にゲー活 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう



以下、今回完成したゲームについて、
「工夫したこと」と「できなかったこと」を挙げておきます。

工夫したこと

・いらすとやの素材を加工する!
f:id:kilimanjaro-a2:20180611235805p:plain
上司から隠れるゲームには、いらすとやの素材を使用しました。
プレイヤーの素材は、緑色の服を着た男性が白いパソコンで寿司のイラストを描いているものを使用したのですが、そのままでは使えなかったため、加工しました。
画像全体を黒っぽくすることにより、上画面の黒いパソコンと下画面の白いパソコンの色を合わせ、男性の画像を切り取り、服の色だけ変えたものを上から被せるようにしました。
これにより、スーツで仕事してるっぽい雰囲気を出せました。
パソコンの画面は、Render Textureというものを使用して、別の場所にあるミニゲームを撮影して映しています。


・仕事画面
f:id:kilimanjaro-a2:20180613085742p:plain
仕事画面は、某OSっぽい感じに作りました。
ここに書いてあるコードは、私が書いて、実際にこのゲームで使われているクソコードです。


・操作の簡単さ/タイトルでのチュートリアル
f:id:kilimanjaro-a2:20180613085746p:plain
操作方法はわかりやすくするため、二種類だけにしました。

  • Zキーで仕事画面とゲーム画面の切り替え

そして、タイトル画面で、実際にその操作を行えるようにしました。
このゲームは、「ミニゲームで遊ぶ」と「上司から隠れる」という二種類のゲームが内包されており、
初見の人がいきなりこの二つを把握するのは難しいかなと思い、前者のゲームに慣れてもらうために用意しました。
分業して作っていたので、それぞれのゲームの依存性が低く、簡単に実装できました。


ツイッター/ランキング機能
jun-kiさんが実装してくれました。
今まで時間がなくて、ランキング機能を入れたことがなかったのですが、追加できてよかったなと思いました。
私より高いスコアを取っている方もいて、驚いています...
遊んでいただいてありがとうございました...!

できなかったこと

ミニゲームのエフェクト
全てのブロックを塗りつぶすとボーナスが入るのですが、
見た目上なんの演出もないので(音は違う音が鳴る)、わかりづらいかなと思いました。
積極的に全て塗りつぶしたくなるようなエフェクトや、加算されるスコアを表示したかったなと思っています。


・ゲームオーバー時の演出/リザルト画面
上司に当たると、即ゲームオーバー画面に入るのですが、
他の方のゲームを見ると、敵と当たった際に一瞬スローモーションにするなど、
「当たってしまった感」を出す演出があったりして、そういう演出を入れるべきだったなと後悔しています。


・上司の当たり判定の調整
上司の当たり判定は、赤いエリアに入ってくるとき以外はかなり緩くしています。
なので、上司が赤いエリアにいる状態でミニゲーム画面に戻しても、アウトにならずゲームが続行する場合があります。
これは意図的なものなのですが、どこまでアウトでどこまでセーフかが、プレイヤーにとってわかりづらいかなと思いました。
当たり判定を可視化したかったな〜と終わった後に思いました。


・ゲームバランスの調整
このゲームのテーマがギリギリということで、
上司がギリギリまで近づいているほど、ミニゲームで遊んでいるメリット(スコアの倍率が高くなる)があるようなゲームデザインにしました。
しかし、上司が発生する間隔や、ブロックが発生する間隔がランダムなので(ある程度の調整はしているが)、
いい感じにスコアを取れるかどうかが運任せになってしまうのが問題かなと思いました。


・設計
例によって私の書いたコードがクソコードだったので、
きちんと設計して綺麗なコードを書けるようになりたい...

思ったこと

今までゲームジャムには何回か参加していますが、今回は初のチーム参加ということで、得るものが多かったと思います。
なにより、最後まで完成させることができてよかったです!
次回のunity1weekにも参加しようと思いました。
(今度はデザイナーとか作曲家のような、プログラマー以外の人もチームに入れて参加とかしてみたい...!)