本記事は広島大学 HiCoder & ゲーム制作同好会GSD Advent Calendar 2022の17日目の記事です。
はじめまして、ずあきです。GSDでお絵描きとプログラミングをしてます。つい先日Splatoon3でXマッチの参加権を手に入れました。イカちゃんを愛でましょう。
さて今回は私が初めてunityroomに公開した「幽霊と宝の塔」の制作から一般公開までの流れを振り返ります。GSDというサークルがどう活動しているのかということを伝えられたらと思います。
記事制作にあたり、共同制作者のkentyさんに許可をもらいました。kentyさんありがとう!!
幽霊と宝の塔ってどんなゲーム?
早い話、「重力方向を変えられるアクション死にゲー」です。unityroomで無料で遊べるので是非…!
ゲーム制作月間
2021年の6月ゲーム制作月間「たかい」でkentyさんと組んで作ることとなりました。GSDでは期間とテーマを設けてチーム制作を行い、最終日に試遊会として発表するイベントをしています。今回もその一つでした。Discordでチームのチャンネルを設けオンラインで通話しつつ、時々画面共有しながら行いました。
初日はGoogleドキュメントで案出しを行い「高い(階層, 価値)」、「他界(死, お化け)」の連想から「お化け屋敷の塔を上りながら宝を集めていく」ことに決めました(初日は案出しで終わりがち)
次の活動日からは私はプログラミングとイラスト、kentyさんはプログラミングとサウンドを行ったり来たりしながら作ることに。Unityプロジェクトの共有は今は亡きUnity Collaborateを利用しました。
とりあえず横移動ができて、ジャンプができて…と実装しながらゲーム性を考えていきます。
ゲーム性をどうしよう
当時、GSDには完成時期が近かったゲームとして「ENDENIAL」というアクションゲームがあり、それとの差別化しつつ、同じくらいゲーム性を出したいなと考えていました。今作が「縦にじっくり進む」ゲームなのも「横に急いで進む」 ENDENIALを意識してのことです。
ENDENIALにはワイヤーアクションという目玉要素があり、こちらも何か要素を入れたいと考えていました。
そんなときにkentyさんからいくつか提案してくれてその中に「重力を反転させる」ことがありました。それを聞いて「上に登っていくゲームで上に落ちれたら面白そう」と思い試してみると、ステージ制作の幅が広がって想像以上に面白い。 実装もRigidbody2D(物理演算を行う部分)のGravityScaleの値をマイナスにするだけという簡単さで、「これだ!」となりました。
そして、ある程度決まると不思議とアイデアが湧くもので、「重力強制エリア」や「重力切替反映ブロック」含むギミックをどんどん思いつき実装していきます。思いつく→調べる→実装のサイクルを回す過程は最高に楽しかったです。
全部は実装できなかったけど…
とはいえ、構想にはあったけど技術的、時間的に減らしたギミックもありました。「斜め床」「ベルトコンベアー」「水中」などは構想にはあったけど作ることができなかった物たちです。実はステージ構成として全20階層という枠組みだけ先に決めていたので、大丈夫??全ステージ作り終える前にネタ枯渇しない?ってなっていました。
しかし実際は、ステージのアイデアが次々と思いつき各階層で特色を持たせることができました。意外と何とかなるんだなーって思いました。 深夜テンションすごい。
特に、パズル的要素を入れることができたのは良い誤算でした。超前向きに言えば、ギミック数を減らしたおかげで単純明快できたメリットはあったかもしれないですね。
さて、そんなこんなで完成しサークル内で試遊会をしてみたのですが、そこで初めて問題に気づきます。
想定外のクリア率
まず先に言っておきますとGSDの人は基本的にゲームめちゃくちゃうまいです。少なくとも私が実力ゲーで挑もうものならほぼ負けます。そんなゲーム上手い人が集まっているはずの試遊会でなんとクリアした人が試遊者の1/3しかいませんでした。これは完全に難易度調整を見誤っていましたね…。中にはゲームオーバーを繰り返している人もいて、応援しながらも申し訳なくなってしまいました。苦戦しているところを見る悦びもありましたが。
難易度は作者にとって簡単すぎるくらいがちょうど良いというのは本当で、手ごたえがあるようにと思い作っていた私は気づかぬうちに上手くなっており、難易度が跳ね上がっていたようです。当然このままではまずいと思い、中間地点を2倍以上に増やしたり、敵の配置や動きを調節しました。
その後…
無限バグ直し編
よし、これで遊べるぞ!と思ったら今度はキャラクターがすり抜けるではありませんか。実はこの段階ではめちゃめちゃバグがあり、途中で何かしらのバグにぶつかって「チェックポイントからやり直す」機能が大活躍していました。記事を書くにあたって見返してみましたがこんなにあったようです。
やる気が湧いたときに直していましたが、すべて直し終わる頃には年末になっていました。期限を決めて集中して作業した方が絶対良かったと反省です。
一般公開にむけて
その後、大学祭、unityroomと2度に渡って一般公開する機会があり、そのたびに改良を加えています。
unityroom公開時にはゲーム内説明書とランキング機能を追加しました。これは遊ぶ形式の違いへの対応で、対面で遊んでもらう大学祭なら紙の説明書をPCの横に置けばいいけど、ネット公開だと変わるよねという話です。ランキングもそうで、元もとクリア後にスコアが表示され見せあって楽しむ要素をランキングに置き換えました。
ランキング機能はnaichiさんのサンプルを使用しました。簡単に実装できて便利です。
大学祭でたくさんの人に遊んでもらいました!
これほんっっとうに有難いことなんですけど、たくさんの人が遊んでくれました!目の前で熱中して遊んでくれているところを見るとまたゲーム作ろって思いますね。アンケートで感想書いてくれる人もいてニヤニヤしながら読んだ記憶があります。
さいごに
記事の中身を全く考えず、日程だけ予約していたので何を書こうと考えた結果、初めての記事だからと代表作のゲームを挙げさせていただきました。記憶を辿りながら記事を書くの楽しかったです。
ついつい難易度高くしてしまうことや、ブラッシュアップがダレてしまうのは今もやってしまっているなーと思ったので気を付けていきたいですね。
さて、当時は完全オンラインで活動していましたが、現在は対面とオンラインで好きな方でそれぞれ活動するハイブリッドで行っています。ゲーム、創作好きな人大歓迎です。GSDに興味が湧いたらぜひ気軽にお問い合わせください。
また気が向いたら制作時のこだわりや技術的に詰まったことを別で記事にしたいと思います。それでは。