初めに
CAPCOMさんから企業賞をいただきました!
ゲーム性だったり、細かく入れていた楽しませる・遊びやすくするための工夫が評価されたみたいです。
試遊していただいた際に少し話させていただいたのですが、細かい工夫が全部見抜かれてて、反省点も「失敗したなー」って思ってたところを指摘され…プロってすげぇ、と。
前置きはこれくらいにして、さっそくゲーム紹介!
ゲーム紹介
タイトル:Orbit Queue
ジャンル:ローグライクシューティングゲーム
プレイ時間:10分弱
unityroomのリンク:
Orbit Queue | フリーゲーム投稿サイト unityroom https://share.google/d7Ad7lXcK5SsxXPXr
8ステージ構成のローグライクシューティングゲーム。
各ステージにボス(8種類!)がいて、メインはボス戦。ステージクリアでアップグレードが手に入り、自身を強化しながら進んでいく、というゲーム。
ボスの弾幕はかなり激しめに作られていて、最高難易度のhellにもなれば慣れている人でも苦戦します。
そこで使えるのがこのゲームの鍵を握る、「パリィ」。
クールタイムこそあるものの、自身の周囲の弾をすべて消し去ってくれます。
そして消し去った弾は自分の周りをくるくると回り始め、それらをまとめて大ダメージの攻撃として放つことができます!
ボスの攻撃は激しく、特徴的なものが多いです。
ただ避けるだけではなく、いつパリィで弾を消すか?それを見極めることがクリアへの鍵を握ります。
開発話
ミーティングでやりたいことを話した結果、
- シューティングorアクション
- ローグライク
という方針になりました。
次のミーティングで、具体的なメインギミックについて話し合いました。
「あまり奇抜なことをやるのではなく、1つだけ、そのゲームをそのゲームたらしめる要素を入れる」という方針で話していたところ、「自分の撃った弾が自分にも当たる」、つまり「攻撃に対してリスクをつける」という案が出て、その流れで「敵の攻撃を利用する」という話が出ました。
そして「敵の攻撃をそのまま敵にぶつけて当てて倒すのはどうか」という話になり、敵の攻撃を自分である程度コントロール可能なものにする必要から、「自機を中心に重力場を作り、敵弾を動かして当てる」という、スイングバイから発想した案が出ました。
ですが、これだとあまりに難易度が高すぎるので、難易度を下げる手段として、
「半周したら勝手に敵に向かっていくようにしよう」
「そしたら敵を狙えないのではないか」
「正面に飛ばす?」
「それならタイミングが難しいから、好きなタイミングで打てるようにしたい」
「であれば、弾はそのままストックして撃てばいいのでは?」
ということで、「周囲の敵弾を消し、ボタンを押して発射するとそれをまとめて放てる」という、このゲームの根幹システムの「パリィ」ができあがりました。
遊びやすくするために、ローグライク要素としていろんな方向性ができるように、HPを導入し、通常弾も追加しました。
この時点で、ゲームの完成形がかなり頭の中に出来上がっていて、
- ボス戦がメイン、雑魚敵はパリィで弾を溜める役割をもたせる
- ステージは8つ、各ステージは雑魚敵+ボス戦+アップグレード選択という構成
- 1ステージの長さは、雑魚敵15秒、ボス30秒、アップグレード選択15秒弱で、トータル1分弱、8ステージで8分弱、10分は超えない
- 基幹システムはパリィで、変な要素はあまり増やしすぎない
というところまで話し合って決めていきました。
時間を先に決めておかないと、だんだん長くなったりするし、いろんな要素があとから増えてしまうと思ったので、先に決めました。
最終ミーティング直前に、Scratchで、パリィのシステムとその発射、上からランダムに弾を降らせてくるボスというシンプルな構成のプロトタイプを作って共有していたので、認識のズレを減らせたのかなと思います。
当日は、@sabakunosabotenがタスクを割り振って、@sabakunosaboten、@kazuS、@itaの3人でメインのゲームシステムを整えていきました。
その間に@sorane_yadukiがボス弾幕(予備として汎用的なものを作ってた)を用意して、@korigaがグラフィックを描いていきました。
1日目の夕方にはボス(仮)が出来上がり、自機が弾を打つ、ボスにあたって、HPがなくなると倒せる、というところまで動くようになりました。
一方そのころ@Takenokomeshiは、親父殿の乱入により作業ができないというトラブルが発生していたようです。
その代わりにと言って、中間発表を一手に引き受けてくれました。
夜には@korigaが、ボスのグラフィックをどんどん描き上げていっていたので、
@sorane_yadukiがボスごとに弾幕を用意していきました。
深夜には25B組が徹夜して各々作業を進めていきました。
ここでやっと@Takenokomeshiは作業開始。
明け方、日の出頃になって、作業終わり。
2日目は対面での開発。
ゲームループを回せるように開発を進めていきました。
昼頃にやっと全体がある程度動くように。この時点で、アップグレード周りの処理はほぼできておらず、一部の敵に攻撃が当たらないなどのトラブルも残っていました。
そして昼過ぎに、@sorane_yadukiが25時間前を最後に一度もpullできていなかったことが判明。↑1↓222とかいう、やばい状態でした。何やってるんだリーダー。
昼過ぎから、@itaがアップグレード処理を実装していってくれました。
また、@korigaに、昼前頃から敵弾のグラフィックを描いてもらいました。
試遊会直前には、アップグレードの実装をどんどん進めてもらいつつ、残りの人でバグ修整をやっていきました。
並行して、@sorane_yadukiがアップグレードアイコンのドット絵を、実装できたもの優先で描いていきました
発表は、既にサウンドを概ね作り上げていた@Takenokomeshiが引き受けてくれたおかげで、開発に集中でき、なんとか最後に帳尻を合わせることができました。
試遊会まで10分を切った頃から、さらに難易度調整機能の追加を、@sabakunosabotenがやってくれました。
雑魚敵やボスの強さは、攻撃の激しさまで含めて難易度パラメータ1つで変えられるようにしていて、ステージクリアごとの難易度上昇は実装済みであったため、なんとか間に合わせられました。
結局、試遊会のときは、
- 攻撃してこないボスが1体いる
- 攻撃がシンプルになってしまっているボスが1体いる
- アップグレードの種類が、無難なものばかりになっている
という事はあったものの、ゲームプレイに致命的な問題を与えるようなものは無く、なんとか「遊べる」状態まで持っていくことができました。
感想
@sorane_yaduki:リーダー、プログラマ、グラフィッカー
リーダーとして参加しました。敵の動作(弾幕や動き)と、アップグレードのドット絵を作りました。敵の攻撃については、ゲーム性に沿うという意味でも、見た目のそれっぽさという意味でも、いいのができたんじゃないかなと。その分、プログラマ間の調整やゲームループの設計だったりのしわ寄せは他の班員に…ごめんなさい。ありがとう。活躍と戦犯って両立するんだなって。
@kazuS:プログラマ
C#は.netで3,4年前にも触ってましたがunityは5年以上触ってなかったので色々と皆さんにご迷惑をおかけしました。久々に使ってみるとすごい開発しやすいですね。しかも今はコーディングもAIできて…時代の移り変わりを感じます。gitは初めて使用しましたが、苦戦しつつも丁寧に教えていただき、なんとか扱えるようになりました。 皆さんありがとうございました。短期間での開発は初めてだったので、とても楽しかったです。一方で寝不足によりかなり体調を崩してしまいました。これから真夏日が続きますが、健康に気をつけて頑張っていきましょう。
@ita:プログラマ
講習会以外でUnityをまともに触ったことがないまま、前日にブログ類を適当に読み漁って挑んだ初めてのゲーム制作でしたが、プレイヤーまわりやアプグレ・ステータス表示の一部処理などといったものを最終的には実装することができて良かったです。振り返ってみるとあっという間でしたが、先輩方のおかげでいろんなことを学ぶことができたので、1-Monthonで存分に活かしていけたらなと思います。
@sabakunosaboten:プログラマ
タスクの割り振りとそれぞれのプログラマが作ってくれたものを統合するタスクを請け負いました。時間が足りず演出に手が回らなかったのとすべての要素を統合しきれなかったのが心残りです。
@koriga:メイングラフィッカー
プレイヤー、敵、弾丸、背景、ボタンなどの絵を描きました。今まで女の子のイラストの模写しかやったことがなかったのでこういう多くのデザインを求められる機会はなかなか面白かったです。個人的に気に入ったデザインもいろいろできて良かったです。ただ未だに画力がミジンコなのと、土曜日は眠気で早めに抜けて日曜は用事で途中抜けしてしまったのがかなり申し訳なかったです。これから改善、成長していけたらなと思ってます。
@Takenokomeshi:サウンド、発表担当
サウンド業でのハッカソン参加ももう4回目、流石にまともに聴ける曲を作ったるぜ!と意気込んだはいいものの、土曜の日中に作業ができず夜中にやる羽目にあいました。BGMはちょっと…うまくいかなかったのですが、SEは初めてまともにやったにしては少しは聞ける音ができたのではないかと思います。もう2年生なので、力をつけねば。