がむしゃらメモ

がむしゃらのメモ的な扱いのブログです

第13回 unity1week お題「さがす」に参加した話 ゲーム開発編

 2019年10月14日(月) 00:00~2019年10月20日(日) 20:00に開催された

Unity 1週間ゲームジャム、通称「unity1week」に参加した話をする。

こちらはゲーム開発編だ。

Unity 1週間ゲームジャムについての詳細はこちら(https://unityroom.com/unity1weeks)

↓↓前回参加した際の記事↓↓

gmshara.hatenablog.com

今回作ったゲームはこちら(https://unityroom.com/games/soundseekshot)

ダウンロード不要、PCブラウザ上で遊べる。60秒で終わるゲームだ。

今回の記事では、試験的にです・ます調をやめた文体で書いている。

お題発表前

 今回、unity1weekが始まる前に体を慣らしておこうと考え、開催一週間前から一人でunity1weekをしていた。なので、お題発表前後はそのゲームの完成&投稿のためにバタバタしていた。作ったゲームがこちら。

ゲームデザインが迷走を極め、締め切りが来たから無理やり完成させたシロモノだ。ゲームの大部分を一日で作った。このとき、一日あればある程度作れるということを学んだのは良かったと思う。

 コインコレクター投稿直後にお題「さがす」が発表される。このときは、コインコレクターの素材を利用して「音を頼りに岩を爆破してお宝をさがすゲーム」なんかを夢想しつつ寝る。

一日目

 正式に一日目がスタート。どんなゲームを作るかふわっと考えていく。考え方としては、前回参加した時とほぼ同じ。「なにを」「どう」さがすのか?→さがしたもので何かするのか、さがしたら終わりか。こういう視点で考え、特に探し方に注目する。出来ればコンセプトから組み立てたかったのだが、1週間しか時間が無い中で「ちゃんと遊べるゲーム」を作るためには慣れ親しんだ「システムから作る方法」を取るしかなかった。以下、思い付いた探し方。

  • 探知機(音)で探す。
  • 物を掻き分けて探す。
  • ズームイン、ズームアウトで探す。
  • 物をひっくり返して探す。
  • 呼ぶ、聞き込みをして探す。

などなど。そうするうちに「自分と敵が一手ずつ動くシステムの中でゴールまでの安全なルートを探すパズルゲーム」を思い付いた。前回参加作品もパズルゲームだったので、今回もパズルゲームを投稿してパズルの人という印象を持ってもらうのも良い気がした。早速、実現できるかどうか軽く試作に取り掛かる。

 しかし、プログラミング出来るかどうか分からない要素がいくつも見つかった上に、面白そうな感じが全くしない…この案は捨てる。

 最低限の方向性を初日のうちに決めておきたかったので、実現に問題が無さそうな「音を頼りに的を探して撃つゲーム」にする。少し調べてVector3.Distanceという関数を知り、的に近づくと音が高く、早くなる仕組みはある程度出来上がる。そのほか、明るくキラキラしているようなショットを目指してパーティクルを弄るなどしてこの日は終了する。

  翌日に少し気の重くなる予定が入っており、あまり良いアイデアが浮かばなかったのも相まってモチベーションは最低だった。

二日目

 作り始めたゲームに対して、「着弾時はこういう演出にしようか」「弾が音を発するようにしたらどうか」など、色々考えているうちにモチベーションが復活する。問題意識がある状態が良くて、それがない状態が悪いんだと思う。ゲームを作り始めた段階では、問題を見つけることすら出来ない。だって始まってすらいないんだから。

 撃った弾自体が探知機となって的に近いほど音が高く早くなるような仕様を試してみた。そのほか、爆発音だけちゃんと作ったり着弾時に画面が一瞬真っ白になるようにしてみたりして二日目が終わる。

 見事に迷走している。明日は爆発エフェクトを描くことにする。

三日目

 爆発エフェクトをしっかり描く。いつもどおりDownwellを参考にした。爆発は四方に膨らんで、千切れる感じが良いらしい。そのほか、いただいた助言を取り入れてプレイヤーが外周を周って中心に向かって弾を撃つ仕様を試してみた。

 やることが見えてこない。依然迷走しつつ三日目終了。

四日目

 発売を楽しみにしていたソフト、リトルタウンヒーローが発売されたので遊ぶ。ルールがすぐに分かり、奥深いというターン制バトルの理想形のようなゲームだ。しかも作曲家はあのUndertaleを作ったToby Fox氏と、ポケットモンスターダイヤモンド・パールで初めて作曲をしたという天才、佐藤仁美さんだ。そのうちクリアしてこのブログで感想記事を書きたい。

 あ、ゲーム制作のほうはカーソルを動かして的を直接撃つ方式にして、カーソルもプレイヤーも消してみるのを試しただけになった。あとちょっとパーティクル弄ったり。

 リトルタウンヒーロー面白い。

五日目

 そろそろUIとかゲームフローとか作らないといけないということで、諸々作った。画面の外枠をグルっと回るゲージをちょっとやってみたかったので作ってみた。前回のunity1week参加作品の千本桜(作者:なかじさん)から影響を受けている。

↓↓千本桜はこちらから遊べます。オススメ↓↓

千本桜 | フリーゲーム投稿サイト unityroom

千本桜では敵が出現するまでの猶予として外枠をグルっと回るゲージが使われている。僕のゲームではプレイヤーがもらえるタイムボーナスの量&猶予として使った。

 そのほか、爆発エフェクトを火の粉が飛び散っているように見えるよう少し微調整するなどして五日目が終わる。

 この辺りでコンセプトが出来つつあった。「探して楽しい、当てて気持ち良い」といったところか。だがツイートした通り、「探して楽しい」が出来ていない。

六日目

 「探して楽しい」を探す。が、見つからない。考えた中で少しマシそうな仕組みが、「プレイヤーは索敵役としてNPCを補佐、的を見つけるのに徹し、NPCが自動で的を撃墜する」というのだった。NPCを愛着の持てるようなキャラクターにして、プレイヤーが的を発見してそれを撃墜するたびにそのNPCがプレイヤーを褒めまくる。スゴイ!!ヨクヤッタ!!イイゾ!!みたいな。とはいえ、一日で作った経験が無いキャラクターを作るのは難しいし、そもそも探すシステム部分に関しては結局何も考えられていない。

 敗北宣言。またしても面白いゲームは作れなかった…

七日目

 「探して楽しい」を諦めて完成させる。まず、音の速さと高さを調整した。その後、「早く当てれた俺すげえ」「ボーナス嬉しい」を引き出すようにタイムボーナスを作る。続いて、ゲームプレイ時間を60秒にして、着弾時のヒットストップを消す。

 次に、カーソルが無いと流石に難しすぎるのでは?と思ったので、カーソルはやっぱり出すことにする(これが今回のゲーム制作一番のファインプレー)。加えて、もっと分かりやすくするために、クリックしたら的に当てられるときにカーソルを光らせるようにする。

 ここらでプレイヤーを褒めるテキスト入れ出す。最初はSCORE : の上辺りに表示していたが、中央にでっかく表示したら良い感じに気持ちよくなれたので、これでいくことにした。また、タイムボーナスに合わせてテキストも変わるようした。

 ここまで出来てから音楽を作り始める。ゲーム画面が暗い感じなので、明るい曲を作ろうとイメージして作った。同時に、耳に残る曲にしたかったので、曲の前半は繰り返しを意識した。出来れば60秒で終わる曲にすることで、曲の変化から残り時間を大体把握できるようにしたかったが、無理にそうしようとすると曲全体のイメージがすぐに崩れてしまいそうだったので大人しく15秒ほどの曲をループさせてまとめる。このとき、鈴と手拍子みたいな音を鳴らせば曲が明るくなることを発見する。

 そのほか、ランキング機能、プレイヤーが少し振り返れるように的を当てた痕跡などを作成して完成させ、GIF画像撮影やらビルドやらを済ませてunityroomに無事投稿を済ませた。

 投稿日時は19:29だった。途中でアクセス集中してページに入れなくてちょい焦る。タイトルセンスなんとかならんのか。

反響

 意外と楽しんでもらえた。主なコメントを抽出すると

  • 当てたときが気持ち良い。
  • 当てる速さでテキストが変化するのが良い。
  • 導入が良い。
  • シンプルで良い。
  • 的を探すのが楽しい。
  • もどかしい。難しい。音の高低差をもう少しつけてほしい。
  • メモリ増えるバグあるよ。
  • 最初分からなかった。クリックしたときの音階を当てるゲームと勘違いした。

といった感じだった。上4つに関しては狙い通りだったので、かなり良かった!導入に関しては今回やたら褒められてる気がした。恐らく、ゲーム性と相まって良い印象を与えたのだと思う。今回のゲームで一番面白い瞬間が一番最初に的に当てた瞬間だと思うので、当然といえば当然なのかもしれない。

 一方で、探すのが楽しいと言われるのは意外だった。正直、作った側としてはもう2、3歩足りない気がしてる。

 難易度に関してはやや難しすぎた。音の調整は良い調整の仕方が分からなかったからある程度はしょうがないものの、的はもう少し大きくするべきだったかもしれない。

 メモリ増加バグに関しては、一応何とか解決出来た。ご指摘本当にありがとうございました。WebGLはゲーム画面をクリックするまで音が鳴らない仕様なのだが、このときに何回も音を鳴らそうとしてるとメモリがモリモリ増えていくらしい。クリックするまでは音が鳴らないようにしておく必要がありそうだ。今後も気を付けるべき問題だろう。

 最初分からなかった人もいるようなので、誘導がまだまだ上手くいっていない。最初数発は的が見えるようにして、途中から闇に溶けるようにすれば良かったかもしれない。

 そのほか、ダントツで満点評価だと言って下さったり、ハマってランキング1位を取るぐらい遊んでくださった方も居たりして最高だった。たくさんのコメントありがとうございました。全部返信しましたよ。

結果

 総合13位(4.068)だった。奇しくも前回と同じ順位だった。閲覧数840、評価数123(この時点で恐らくTOP)。詳しい評価は以下の通り。※括弧内は平均点数

  • 楽しさ  26位(4.033)
  • 絵作り  30位圏外(4.106)
  • サウンド 5位(4.252)
  • 操作性  17位(3.984)
  • 雰囲気  30位圏外(4.024)
  • 斬新さ  30位圏外(4.008)

評価してくださった皆様方、どうもありがとうございました。今回評価数が多かった要因は間違いなく、他の人のゲームを遊んで評価しまくったからだ。しかし、これを毎回やるのは死ねるので、そのときの自分の予定と体調を考えるべきだろう。今回はモチベも高く、遊べる時間も潤沢にあった。

 今回のゲームに対する評価を数値から見るなら、「サウンドが少し秀でていて、そのほかは良く纏まっているゲーム」といった感じだろうか。サウンドの評価が高くなったのは、音をゲームデザインに組み込んでいるからだろう。これよりも上の順位に行きたいのなら、今回と同レベルにゲーム全体のクオリティをまとめつつ、他を圧倒する秀でた部分を1つ2つ作る必要がありそうだ。無理だろ。

反省

 「探して楽しい」が見つけられなかったのが悲しい。毎度のことながら力不足を感じる。特に、今回遊んだ他の人のゲームの中に「こういうのが作りたかった!」と感じる「探して楽しい」があったので、余計にそう感じる。

 タイムボーナスとゲージの結びつけが弱い。今回特に指摘はされなかったが、画面をグルッと囲むゲージがなんなのか分かりづらい。もう少し考える必要があった。

 タイムアップが分かりづらい。これも指摘はされなかったが、タイムアップ直前の強調が足りていない。人によっては急に終わってしまうように感じるだろう。ここもちょっと工夫が必要だった。

 そのほか、細かすぎるのでいちいち記載はしないが、反省点は多い…

総括

 「アイデアなんも出ん…時間来たから完成させなきゃ…」で完成させたゲームが、自分が思った以上に高い評価をいただけたので、驚いた。投稿する前は「今回TOP30入りは無理だろう」と思っていた。ありがたい…

 とはいえ、そろそろ「自分が心底面白いと感じるゲーム」を作りたい。頑張ってコンセプトを練らなくては…あと天才プログラマーの奴隷を手に入れないと。

 今回もunity1weekは楽しかった。機会があれば次回も是非参加したい。unityroomの管理人にしてunity1week主催者のnaichiさんには感謝しかない。いつもありがとうございます。これからもお世話になります。

 最後までお読みいただきありがとうございました。