東方ゲームジャム2021でゲーム作った
去年に続き今年も参加しました。
割とガチめの全方位型STGです。全国ランキングもあるのでぜひ遊んでみてくださいな。
ゲームができるまで
せっかくなので、元々どういうゲームを考えていて、どういうふうに変わっていったのかをメモがてら書きなぐって行きます。 こういうゲーム開発プロセスもっとみんな公開してほしい。
1日目(8/7)
とりあえず、アイデア出し。正直ここはそんなに時間かからなかった。
テーマ「虹」
-> 虹龍洞
-> そういえば百々世が正々堂々盗掘に来いとか言ってたなあ
-> 魔理沙が虹龍洞で龍珠を掘るゲームでも作るか
-> レッツディガップ!
だいたいここまでテーマ出てから1時間。
ゲームルール初期案
- ショットボタンで弾が出る
- 岩を壊すと点数が入る
- 岩を壊すと撃ち返し弾が飛んでくる
- 弾の種類でバリエーション作れそう
- 無限に岩が生成される
- 岩の耐久値・得点でバリエーション作れそう
- 制限時間内に多く得点を稼ぐ!
このくらいの雑なところから始まって、面白くなりそうなところを詰めていく。
とりあえず弾出るところまで作成
とりあえず弾でも出しとくか!精神でやってる#東方ゲームジャム pic.twitter.com/i7YVfn2sDD
— いも (@adarapata) August 7, 2021
制限時間も付けて、ゲームの開始と終了がある最低限の状態まで持っていった。
最低限のサイクルは一応できた。#東方ゲームジャム pic.twitter.com/5pRnbrvs5L
— いも (@adarapata) August 7, 2021
とりあえずここまでやっとくと精神衛生上とても良い(最悪このままクソゲーとして出せる)
この段階で、「ショットボタンを無くして自動で撃ちっぱなし」という変更を行った。やってて面白かったからなんだけど、改めて噛み砕くと以下の通り。
- 撃ち返し弾しか存在しないので、プレイヤーが弾幕量のコントロールをしやすい
- 撃つ・休むのサイクルでかなり難易度を下げられるがSTG的にそれ面白いか?と遊んでて感じた
- 回避時は向きが変わるので、その方向にも弾を撃ってしまう仕組みにすることで想定してない方向の岩を壊してしまい回避を強いられる
- プレイスキルを上げることである程度コントロールできるから許容できる不自由さっぽかった(自分で触ってみて)
- テンパって動き回って不用意に周りを壊すさまが楽しい
2日目(8/8)
僕のTwitterでの投稿を見たFoRさんがUI周りをお手伝いしてくれることになった。ありがてえ・・・・
画像と背景とBGM当てるだけでちょっとディガップ感でるやつ(BGMは差し替えます)#東方ゲームジャム pic.twitter.com/nmKTW54SPO
— いも (@adarapata) August 8, 2021
ということで岩オブジェクトがめっちゃきれいになった。ここでテンションが上り作業スピードが2倍増しになった気がする。
また、ここで岩の種類が2種類に増えた。それぞれ「拡散弾」と「狙い撃ち弾」を撃ってくれる。
狙い撃ちとバラマキはハッキリと形状を変えてあげたほうが避けやすくて親切だなと思った pic.twitter.com/wsrAFhWQ3i
— いも (@adarapata) August 8, 2021
このあたりで弾幕を避けるに際してストレスになりそうなところをいくつか直していった。
- 狙い撃ちと拡散が同じ形状なのがわからなさすぎるので変更
- バラマキの速度をすべてランダムにしていたが、壊した岩の単位で固定するようにした
バラマキは丸にして、狙い撃ちはこちらを向いていることがわかるように鋭利な形状に変更。 黒色も見にくいので最終的には色ごと変えた。
速度ランダムは今回みたいな無限湧きゲームでやってしまうととてつもない理不尽を感じた。特に後ろから高速の小弾が1個だけ飛んできたら全く見えなかった。 岩から発生した弾はある程度「その岩から発生したグループ」みたいな認識にできると塊として大きく回避できるので、速度周りを調整した。
弾幕が避けられない!と思ったらボムボタンで百々世が弾消し&マインブラストで採掘の手伝いをしてくれるよ。頼りになるね!#東方ゲームジャム pic.twitter.com/eh9ezp02ms
— いも (@adarapata) August 8, 2021
やはりボムが欲しいよね!となったのでどういう実装にしようかと考えたら脳内の百々世が「マインブラストをさせろ」と囁いてきたので現場判断で実装した。作りたいから作ったんだけど、ちゃんとメリットはある
- すべての弾消しができる
- まとめて破壊するのでスコアを一気に稼ぐことができる
ボロボロと岩が壊れていくのはゲーム中で一番気持ちいいポイントになったと思う。ただ、デメリットとして「大量の弾幕が残される」というのが特徴。プレイヤーにお前何してくれてんねんという感情を与えていく。このゲームが被弾したら即終了ならクソゲーだけど、何度でも死んでいいので被弾したタイムロスよりもボムによるスコア回収のが遥かにメリットがあり、みんな笑って許してくれるやろ!くらいの気持ちで実装した。
逆に言えばここで被弾しなかったらドヤりポイントになる。シューターはここに楽しさを見出してくれるんじゃないかなと考えてた。
3日目(8/9)
連休最終日。夏季休暇を取らなかったことを後悔してた。
オンラインのランキング機能も付けたので、三連休で一応最低限遊ぶサイクルはできたぞー。明日から仕事なのでちまちまた肉付けしていこう・・。
— いも (@adarapata) August 9, 2021
あと龍王殺しのプリンセスアレンジがほしい#東方ゲームジャム pic.twitter.com/PA56HV2rsJ
ドヤりといえばランキングだ!ということでランキング機能を実装していた。
また、自機のショットを低速・高速で切り替えるようにした。
- 高速:広範囲の拡散ショット。分散されるので実質威力が低い
- 低速:正面のみの集中ショット。威力が高い
高速のが一度に複数の岩を攻撃できるのでスコア効率が高い。しかし撃ち返し弾も各方向から襲ってくる。低速だと撃ち返し弾のリスクは少ないが正面だけなのでスコア効率が低い。このへんをプレイヤーがコントロールできるようにしてみた。プレイヤーの考えるべきことが増えるが、状況が悪化する原因をユーザーに委ねることでおまえのせいどう改善していけばいいかを考えていけるようにしたかった。
あとこの辺で黄金岩を導入した。この時点では黄金はレア枠で、通常の岩より出現確率が低く得点が多いというポジションだった。なんとなく作ったよくあるレアアイテム。
4日目(8/10)
お仕事で一回休み
5日目(8/11)
お仕事で夜に作業。
遊んでて、これスコア狙いなら全方位壊す必要なくて、一方向だけ狙ってたら良くないか?となった。他の箇所を攻撃するメリットがない。
ということで泣きながらissueを立てた。
さらにこのタイミングでスコアラー的にどうなの?という問題と向き合うことになった。
スコアラーと乱数
自分の考えとしては、スコアアタックしてて一番つらいのは運要素が絡むところで結果が出ないことだと思う。多分繰り返す気になれない。ディガップだと次の2点とか。
この辺を解決するために、ルールが分かってくればある程度コントロールできるような仕組みに切り替えた
- レア岩はスポーン位置ごとに個数を定める
- 掘れば掘るほどレア岩が出る確率は下がる
- 同じ箇所を攻め続けたら最終的には枯渇する
- 百々世のボムは自機狙い弾3wayにする
- 意図的に金の多い位置を爆破できる
このあたりを実装して、スコアのばらつきを減らせるようにトライアンドエラーしてみた。
とはいいつつ、スポーン時の岩の大きさに関しては調整間に合わなかったごめんなさい(レア大岩が出るかどうかが結構重要になってしまっている)
6日目(8/12)
お仕事。
面白いのかわからん期に突入した
— いも (@adarapata) August 11, 2021
なんもわからん期に突入した。
レア岩の登場と枯渇の概念で一点集中プレイがなくなるかと思いきや、通常岩でも得点入るからレアを探すより無心で掘り続けたほうが概ねお得になってしまった。ここの得点と確率の調整をするのがめっっっっっちゃめちゃ大変そうな臭いがした。
なので、このタイミングで「レア岩のみ得点が入る」というルールに切り替えてみた。
- レア岩を見つける
- ゲットするためにその方向を掘る
- 採りきったら次の場所を掘る
動き回る動機としては十分だし、「金を掘れ!」だからやることがシンプルになりそうだった。最終的にこのルールがしっくりきたのでこれでいくことにした。
とはいえ、これでも1箇所ずつ丁寧に掘るプレイは健在なので、もう弾幕が多い事自体にインセンティブが入るようにしようかと考えた。ということで弾幕の量に応じて「危険度」が上下するように機能を追加した。
画面が弾幕だらけになるほど危険度が上がっていきます。しかし危険度が高いと龍珠の得点が上がるので、腕に覚えのある盗人は常に危険度を高めて採掘するそうです #東方ゲームジャム pic.twitter.com/hWh0ayY28l
— いも (@adarapata) August 12, 2021
危険度が高いほど取得したときのポイント自体に倍率がかかるようになっている。これにより意図的に壊して回ったほうがスコアとしてはお得になる。おまけに百々世のボムを使ったときは確実に危険度MAXなのでボーナスタイムとも言える。後のことはしらない。
また、これによりプレイヤーが被弾したときのデメリットに「危険度がリセットされる」が追加された。通常のプレイなら嬉しい限りだけどスコア狙う人には辛い。
とはいえ危険度上げっぱなしだと難易度が上がる一方なので、高速と低速で岩を破壊したときの撃ち返し弾の量を調整した。低速で破壊すると通常の半分以下の弾幕に抑えられるので、低速で動き続ければゆっくりと危険度は下がっていくようにしてみた。
前日にここまで変えたのはやっちゃった感あるけど、作業ゲーにはならなくなった気がする
最終日(8/13)
ひたすら微調整とバグ取りとテストプレイ。このタイミングでMac版は背景がバグることに気づき断念した。
あとは、操作はシンプルだが思ったよりテクニック的な部分が増えてきたのでそれをプレイヤーに伝える手段が必要そうになった。とはいえガッツリとしたチュートリアルを作る時間はもうない・・・。
ということで、リトライ画面で百々世にTipsを喋らせるようにしてみた。
意味のない会話も含めて8パターンくらい用意した。
余談ですが僕の幻想郷では百々世は飯綱丸のことを「龍」って呼びます。
ということで18:30くらいに無事投稿。ちゃんとリリースできました。
お疲れさまでした~
— いも (@adarapata) August 13, 2021
魔理沙が虹龍洞で龍珠をディガップする全方位型STG作りました。ゲームパッドも使えます。
21時に公開されるのでぜひ遊んでください~
#東方ゲームジャム pic.twitter.com/7AShB6kqvT
所感
今年は1週間あったからかどのゲームもレベルが高かった。そして個性が出てて面白い。好き放題やってるなーーー感があって最高だった。
個人的に好きだったやつを2つほど。
「天弓千亦服飾店」 touhou-gamejam.web.app
千亦に服着せるゲーム。意外とキャラ覚えてねーーってなったしヘカちゃんがいいです。
「モリヤリズム RAINBOW」 touhou-gamejam.web.app
リズムゲー&STGでやってて楽しかった。小傘に10回くらいやられました。
また来年もやれるのを楽しみにしてます。
おまけ
後戸エディッションです
摩多羅隠岐奈に後戸経由で弾をぶつけられる「ディガップ!後戸エディッション」も並行して作ってましたがあまりにも隠岐奈が無関係すぎるのでお蔵入りとなりました。 #東方ゲームジャム pic.twitter.com/RZ9NhihzWv
— いも (@adarapata) August 13, 2021