がむしゃらメモ

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

第15回Unity1週間ゲームジャム お題「密」に参加した話 ゲーム開発編 『PSYCHONTACT』

 2020年4月27日(月)00:00~2020年5月3日(日)20:00に開催されたUnity1週間ゲームジャム お題「密」に参加した話です。ゲーム開発編。参加は4回目です。

 

今回は『PSYCHONTACT』というゲームを作りました。

 

こちらで遊べます。ご興味があればどうぞ。

プレイ時間目安:2分~3分

 

↓の前回参加時の記事は張り切り過ぎてしまったので今回は軽めに振り返って行きます。

gmshara.hatenablog.com

 

 

 

 

 

お題発表

 お題発表は夜の00:00、日付が変わる瞬間に、主催者のnaichiさんから行われます。今までの参加では寝ていたのですが、今回は起きてお題発表の瞬間を見ることにしました。ちょうどお題発表を見守る放送が行われていたので、そこで待機することに。みんなでお題予想するの楽しかったです。さて気になるお題は…

 

 

 お題「密」…!今流行の密でした。ひょえー。

 

お題発表後、待機していた生放送ページで開発者達があーでもないこーでもないと考えたりしているのがこれまた楽しかったです。このライブ感がすごく良かった。多分今後のunity1weekのお題発表は毎回起きてリアルタイムに見ると思います。

 

放送ページで開発者の方々が「密」から連想される単語を挙げていっていました。それらの単語を眺めつつ、ゲームをイメージしていきます。

  • 秘密:隠し部屋を次々と見つけていくゲーム
  • 密着:レール移動するオブジェクトに密着して高速移動するゲーム
  • 隠密:ステルスゲーム
  • 密漁:銛投げで魚の動きを止め、網で大漁する密漁ゲーム
  • 密集:敵を密集させるショットを撃って一網打尽にするゲーム

5つしかイメージ出来ない引き出しの無さ。勉強不足ですね。

 

脳内イメージで一番楽しそうだった「密着:レール移動するオブジェクトに密着して高速移動するゲーム」を作ることにしました。

 

 

 

1日目

 頑張ってプログラミングをします。なんか飛ばして、着弾点にプレイヤーが飛んでいけばいいだけ。楽勝楽勝。

 

壁にめり込みまくって全然上手くいかねえ!

 

 いやー全然動かねえ。プログラミング出来なさすぎる。こういう感じの処理、プログラマーならちょちょっと実装しそうですが、僕はふつーに1日掛かりました。

 

細かな部分は端折りますが、最終的に実装はショットを当てた位置にプレイヤーが加速して一定距離以下になるとショットの位置に座標ワープする、という処理にしました。座標ワープは下手するとプレイヤーを置いてけぼりにしてしまうのですが、直前で加速していると多少納得出来ます。多分。

 

で、一番の問題のレール移動です。これなんか良い方法無いかなあ~とググっているとこんな神記事が!これでレール移動ギミックもクリアしました。勝ったな。

 

 少しバグの不安に駆られつつも1日目が終了。

 

 

 

2日目

  初日にパラメータ弄りが終わらなかったので、頑張って弄ります。加速時にカメラシェイクさせて手応え良くしたり。

 パラメータ弄りが終わったら早速レベルデザイン、つまりステージ作りをやっていきます。今回は何も考えずに雑に作っていきました。(よい子はマネしちゃだめですよ)

 

  基本システムが完成すると気が抜けるのか、あっさりと2日目が終了。

 

 

 

3日目

  ステージを作っていきます。ステージを作るためにはプレイヤーを楽しませるギミックが必要です。よし考えよう。なんにも思い付かねえや。

 基本システムを使って楽しいゲームプレイをするためのアイディアが全く出ないということは、その基本システムはゴミだということです。が、Unity1週間ゲームジャムはその名の通り1週間でゲームを作るイベントです。超人なら3日目から別のゲームを作り始めても間に合うのでしょうが、あいにく僕はふつーの人間です。このシステムで特攻します。

 ギミックは大別して、

  • 狙う
  • 時間以内に移動する

の2種類の楽しさ・障害を追求しました。2種類しか出てこないのがおわっとる。

 

  心の奥で「オレはまたしてもしょうもないゲームを作ってしまうんだなあ…」と落胆しつつ3日目が終了。

 

 

 

4日目

 だらけそうになる自分を叱咤しつつステージ作り。2日目に軽く作ってみて見えた大まかな方向性としては

  • ワンセクションを短くして次々と進んでいく構成にする
  • 操作に慣れさせるために最初だけ少し長め
  • 制限時間以内にクリアする仕組みが相性良さそう
  • その場合パズル性のある構成は抑えるべき

といった感じでした。この辺を頭の片隅に入れつつ、あとはギミックを順番に紹介して、その後組み合わせて、最後は連続で飛んでフィニッシュ。

 これだけ雑に考えて作っていっても結局3日もかかってしまったという事実…ツイッター見過ぎました。ここでちゃんと集中して作ってなかったのは反省点。最後にしわ寄せがいきました。

 

  ゲームフローを完成させられずに4日目が終了。

 

 

 

5日目

 ここまで完全にノータッチだったグラフィックに手を出します。絵作りの方向性は3日目終了時に思い付きました。念動力で移動しているという設定です。

 普通に考えると、このアクションはワイヤー的な、スパイダーマンみたいなヤツになるんですが、その場合、プレイヤーキャラクターがちゃんとカーソル方向に照準を合わせるような絵を用意しなくてはなりません。技術的にやり方がいまいちイメージ出来ない上に、作業量が多くなるのは目に見えていました。

 念動力という設定(正確にはそれっぽい描写)にすることで、プレイヤーキャラクターが特にアニメーションせずとも説明が付きます。ワイヤーアクションだとありきたりな感じになりますが、念動力でビュンビュン飛び回るのはそこから少しだけ外れていてユニークかなという気がしました。念動力、つまりエスパー。制限時間のあるゲーム内容なので、エスパー認定試験をやっているという設定も思い付きました。ただしこれは時間が足りない&演出力が足りないで表現出来ませんでした。

 

 エスパーから連想されるイメージを用いて絵作りしていきます。『Kinesis』という似た題材のゲームを思い出したのでこのゲームのグラフィックを参考にしました。このゲーム、正直に言っちゃうと遊んだことありません。モバイル版が出るらしいので、それを待っていたのですが開発休止中だとか。そのうちPC版買って遊びます。

 その他、エスパーというと、『ポケットモンスターシリーズ』を連想します。あのゲームだとエスパーのイメージは「波紋」「瞳」「紫」「なんか虹色的なカラー」辺りでした。

 

 グラフィックを考える場合、まず色から決めていきます。サイコな感じのヤツの色を青、ピンク、緑にして、それ以外を紫系にする方針に決定。その他、触れてもオーケーなやつは白で縁取り、触れたら駄目なヤツは赤で縁取る感じにしました。

 

 タイルをオシャレにしたかったけど、全然オシャレにならないので、1種類にしてしまうことに。地形タイルは上手くいきませんでしたが、その地形タイルに合わせる形で描いた下からすり抜ける足場のタイルはなぜか良い感じになってテンション上がりました。

 

 トゲ、回転ノコギリは以前描いた素材を流用しました。素材流用は単純に時間短縮するのが狙いですが、これ以上にしっくり表現が思い付かないというのもあります。

 

 「触れると一定時間後死亡判定に変わるブロック」を「ガラスケースに入った爆弾」とかいう意味分からん表現になってしまったのが、ダメかつ面白かったところです。描いてる最中、「2ドットずつ」とか線を意識して描いてみると途端に良くなった気がして、今までどんだけ適当に描いてきたのかを実感するとともに、自分にはまっだまだ伸び代があることが分かって楽しかったです。ちなみに、爆弾は爆発エフェクトも頑張って描こうとしたけど即座にしんどくなってやめました。パーティクルで誤魔化しました。

 

 今回描いたものの中でお気に入りは「扉が開くアニメーション」「チェックポイントアニメーション」の二つです。ギュンって感じで気持ち良い動きが描けました。やっぱメリハリ大事。

 

  ちゃんと集中して色々描けて5日目が終了。

 

 

 

6日目

 サウンドの時間だあ。いつも通り曲作りが意味不明すぎて禿げた。考えてたのはこの辺り。

  • いきなり盛り上がる感じにしたいのでサビから始まる
  • サビは一音目を最高音にして盛り上げる
  • 最初だけ最高音だと物足りないので何回か最高音鳴らす
  • 1ループ1分

リズムは疾走感が欲しかったので「戦艦ハルバード:甲板 機械の星メックアイ」を参考にしました。しかし、相変わらずコードとかいうのが訳分からん。コードとベースの違いも分からないので発狂しかけました。なんとか良い感じのメロディを築いて立て直しました。ただ、メロディは途中で『ファイナルファンタジーXIII』の「閃光」に激似なことに気付いて少しだけ弄って悪足掻きしました。終わってみれば今まで自分が作った曲の中で一番好きな曲になりました。

 

 効果音、加速時の音はやかましいかなと思ったのですが、「なんかうるさくしてプレイヤーに正常な判断が出来なくして面白いと錯覚させる戦法」が出来そうだったのでこれでいくことに(むちゃくちゃだな)。

 お気に入りは「扉が開く音」です。気持ち良い動きに合わせて音を入れると更に気持ち良くなるようです。このゲームの扉が開く瞬間がスゴく好きです。あとはクリア時のジングル。このジングルはメインBGMのフレーズをそのまま流用したものですが、それってなんだかスゴい賢い開発してるみたいで気持ち良いです。

 逆に一番気に入ってないのは、「全部触れると扉が開くオブジェクトに触れたときの音」です。なーんか上手くイメージ出来ないんだよなあ…悔いが残る…

 

  サウンドをあらかた揃えて6日目が終了。

 

 

 

7日目

 ゲームフローを整えて完成させます。画面遷移とかクリア判定、ランキング、タイムアップ判定…はー、だる。

 naichiさんお手製ランキング機能をいつも通り実装しようとしたのですが、タイムを登録する形式は初めてだったので上手くいきませんでした。が、困っているところをnaichiさんが颯爽と解決してくれました。やはり神か…またカレーメシ送ろ。

 いつも通り、いや過去最大にしっちゃかめっちゃかになりつつギリギリでビルド&投稿が完了しました。今回は「80%ぐらいの力で開発」というのを薄ぼんやりとしたテーマに掲げていたのですが、結局最後は100%の力を振り絞った開発になってしまいました。6日目ぐらいまでは良い感じだったのになー。3,4日目辺りで緩めすぎたのが敗因か。

 

  フィニッシュ。過去最高にドタバタした。

 

 

 

反省点

 ・スケジュール云々

  • 1日目 企画・試作(ゲームデザイン確定)
  • 2日目 必要なギミックなどの実装と平行してステージ作り
  • 3日目 必要なギミックなどの実装と平行してステージ作り
  • 4日目 ステージ完成・ゲームフローの確立
  • 5日目 グラフィック
  • 6日目 サウンド
  • 7日目 予備 

  前回の反省を活かし、今回はこんなスケジュールで望みました。スケジュール自体は結構良かったと思います。が、3,4日目で少し緩んで結果7日目にしわ寄せがいってしまいました。3日目でステージ完成、4日目でゲームフロー確立、がいいかも。

 

 

※ここまで公開直後に書きました。

 

 

・リトライに使うキーをRキーにしたせいで、ランキング登録時にRキーが使えない

 はいアホ。1000回死んどけ。

 スペースキーでリトライにしましたが、今考えるとマウスホイールクリックで良かったかも。環境によってマウスホイールクリック出来ませんっていう場合がありそうで少し怖いが。右クリックは誤クリックが怖かった。

 

 

・ ショットの射程が分かりづらい

 フルスクリーンモードの場合、ショットの射程が分かりづらくなります。ショットの射程はカメラの範囲内にしているのですが、フルスクリーンにするとそれが分かりづらくなります。ただ、フルスクリーンにしないと画面領域外クリックが発動してしまうジレンマ…

 Cursor.lockState = CursorLockMode.Confined、を使うとWindowsビルドだとマウスカーソルが画面外に出ないように出来るようなのですが、WebGL(unityroom)だと上手くいきませんでした。どうすればいいか分からぬ…

 

 

 

反響

 操作が気持ち良い、レベルデザイン良いですね。主なコメントはそんなところでした。操作の気持ち良さはいつも通り力を入れている部分なので、良かったですね。レベルデザインは適当でもそれなりに楽しんでもらえるのが分かったので、収穫といえなくもない。

 

 

 

結果

 

 というわけで、総合14位でした。コメント&評価して下さった方々、本当にありがとうございました。今回特にハイクオリティな作品が多い中、ここまでこれたのはみなさまのお陰です。

 

 

 

 主催者のnaichiさん、ありがとうございました。参加者のみなさん、お疲れ様でした。

 

 

 

あとがき

  これは参加したときに常に感じることですが、他の評価されている作品に対して僕は嫉妬・不満を抱きます。いつもなら切り替えられるのですが、今回は特にひどかった。参加する度にどんどんひどくなっている気がします。なので、今後はUnity1週間ゲームジャムに参加するのは止めようかなと考えています。まあ三ヶ月後にしれっと参加してたりするかもしれませんが…現時点では、今後も参加し続けてどんどん自分が嫌いになる前に止めた方がいい気がしています。これ以上自分を嫌いになりたくない。

 もっと言うなら、ゲーム作り自体を止めた方がいいのかもしれません。作ってる間はそれなりに楽しいのですが、作り終えてしばらくすると自分のゲームがクソゲーに思えてつらくなります。まあ、止めるなら前向きに考えて止めたいですね。

 

 

 

 

特にオチなく終わり