[サブウェポン] 爆弾
Steam(Win)、Nintendo Switch、PS4/X-box one、Xbox Series X/S にて配信中の2D忍者アクションシューティングゲーム「Shinobi non grata」の仕様書(と言っていいか微妙ですが)となります。この資料は飽くまでも初稿であり、最終的に実装された内容と異なる部分も多々あります。製品版を遊んで頂いて、どこがそのままの形で実現し、どこが変更されたかをご確認頂いても良いかもしれません。https://store.steampowered.com/app/1796870/SHINOBI_NON_GRATA/また、このタイトルはフルリモート環境で、1年2ヶ月で完成した実績(準備段階含めるともう少し掛かっていますが)があるため、遠隔でゲーム開発するための参考になるかもしれません。
This is the specifications (if you can call it that) for "Shinobi non grata", a 2D ninja action shooting game available on Steam.
This document is a first draft, and there are many differences from the final version. You may play the full version of the game to see what has been realized in its original form and what has been changed (casual advertising).
https://store.steampowered.com/app/1796870/SHINOBI_NON_GRATA/
Also, this title was completed in a full remote environment in one year and two months (although it took a little longer if you include the preparation phase), so it may serve as a reference for developing games remotely.
強力だが癖のある武器。手裏剣同様、前方180度5方向に撃ち分けが可能。このサブウェポンを撃ったとき、対象(敵以外の破壊可能オブジェクトなど)に突き刺さるが、そのままでは攻撃力がない。
対象に爆弾が突き刺さった状態で再度Aボタンを押すことで起爆、爆発を起こし、対象だけでなく、周りの敵も巻き込む。さらに、あえて起爆しないことで、放置時間に比例して範囲が拡大(2段階)し、2レベル目では爆発と共に破片が飛び散り、この破片による追加ダメージも期待できる。
放置中に別のサブウェポンに切り替える、または放置中にプレイヤーがダメージを受けてしまった場合は強制爆破となる。
*Inspectorでは2か3段階かを選べ、それぞれのダメージ範囲を別に設定できるようにしてください。
爆弾は、ひとつのボタンに対して、2つの役割を持っています。ひとつめは、爆弾を投げる機能、そして爆弾は、エネミーにヒットしたとき、そのエネミーに”吸着”し、吸着した状態で再度ボタンを押すと起爆。爆弾が発動し、エネミーとその周辺の敵にダメージを与えます(ボンバーマンのリモコン爆弾のイメージです)。
爆弾は無限射程かつ重力無視で、発射角度に対して真っ直ぐ飛んでいきます。
吸着された爆弾は、吸着している時間経過とともに、最大4レベルまで能力が上昇、レベルが上がるほどに起爆した際の威力と攻撃範囲が向上します。なお爆弾が吸着している状態でも、エネミーの動作は一切制限されることはなく、爆弾そのものにストップパワー(相手をひるませる能力)はありません。ゆえに、攻撃をしてくるエネミーに対して爆弾をヒットさせても、その動作を中断させることができません。
また、爆弾がヒットしたときは専用のヒットエフェクト「Vfx_Hit_01.prefab」を表示します。
爆弾が吸着した状態のエネミーは、赤く点滅します。この点滅はそのときの爆弾レベルを示すものにもなっており、レベルが上がるほどに、点滅のサイクルが早くなってきます。*判りやすくレベルを明示する必要はないので、この程度の表現で大丈夫です。爆弾の吸着場所はできればヒットした場所にしたい(特にボス)ですが、難しい場合は、爆弾が吸着するオフセット値をキャラ毎に設定する形でも大丈夫です。
*赤い点滅はパレットチェンジで行います
エネミーに爆弾が吸着している状態で、再度Aボタンを押すと、起爆します。爆弾の威力と、攻撃範囲は、起爆したときの爆弾レベルによって変化します。Vfx_Explosion_Lv1〜Lv4.prefabを使用します。
なお、エネミーに爆弾が吸着しているときにプレイヤーがダメージが受けると、爆弾はその時点でのレベルで強制的に爆発してしまいます。なお強制的に爆発する場合は、上限がレベル3で固定されます。
爆弾が外れた場合、行く手に障害物がなければ、そのまま画面外に消えていきますが、障害物があった場合は、ヒットした時点で爆発してしまいます。障害物が、地面(±20度の傾斜)であった場合は、地上爆発(Vfx_Explosion_Ground_01.prefabを使用)し、それ以外の障害物の場合は、空中爆発(Vfx_Explosion_Lv1.prefabを使用)します。
この爆発そのものにエネミーを巻き込んでダメージを与えることもできますが、威力は爆発レベル1で固定されてしまう上、連射性能が低く、攻撃範囲も広くないため、狙って行うメリットはあまりありません。
レベル最大時の爆発(現在の想定では2)では、四方に爆発の破片が飛び散り(物理無視の無限射程)、その破片にも攻撃力があります(攻撃力2)。
この破片は貫通力がありますが、壁などの障害物を貫通することはありません。
これを利用した敵配置なども考えられるかもしれません。
爆弾は、基本的(システム的に発射できない瞬間=前転や2段ジャンプ中など)にどのような状態にあっても発射することができます。単発攻撃なので連射はできません。
立ち状態では、エイム機能を使わない限り、斜下、真下には撃てません。走り中は、操作的に立ち止まってしまうため、真上、真下には撃てません。しゃがみは前方向のみ、ジャンプ中はあらゆる方向に撃つことが可能。
逆方向に撃ちたい場合は、レバーを逆方向に向けて方向を変える必要がありますが、その際一瞬だけ振り向きアニメーションを挟みます(連射中ならすぐ振り向きの途中はキャンセルされます)。
キャラクターの向いている方向とは逆にレバーを入力した場合、その場で”振り向き”動作を行なったのちに、逆方向に反転します(内部的には入力が成立した時点で反転しています)が、攻撃行動の途中で、振り向いたとき、または振り向きの途中で攻撃行動が行われた場合は、振り向きアニメーションの途中のフレームがキャンセルされ、すぐにキャラクター反転が反映します。
この挙動は、立ち、しゃがみ、ジャンプ中、全てに於いて同一の処理となります。
以下の要素を、外部(Unityのinspector?)から調整できるようにして頂ければと思います。
・弾の速度
・爆発の範囲(コリジョンで設定?)
・2段階か3段階かを選べる(まだ決めきれていません)
・破片の有無
・破片の攻撃力とスピード
・レベルが上がる時間(レベル毎に個別設定)
・弾の”魂”消費量
この記事が気に入ったらサポートをしてみませんか?