DEVELOPMENT NOTE
制作ノート: シューティングの難易度調整で考えたことDevelopment Note: Thoughts on Tuning Shooting Game Difficulty
難しいことと、理不尽であることは同じではありません。VOID STRIKERで敵配置、予告、当たり判定、段階的な強化を調整するときに置いた判断基準をまとめます。Difficulty and unfairness are not the same. This note sets out the criteria used when tuning enemy placement, warnings, hitboxes, and gradual scaling in VOID STRIKER.
シューティングの難易度は、敵の数や弾速だけでは決まりません。同じ弾幕でも、発射前に危険が読めるか、自機の当たり判定を把握できるか、失敗後に次の改善点が見えるかで、受け取られ方は大きく変わります。VOID STRIKERでは、被弾した瞬間に「なぜ当たったか」を説明できる状態を目標にしました。A shooting game's difficulty is not determined by enemy count and bullet speed alone. The same bullet pattern feels very different depending on whether danger can be read before firing, the player craft's hitbox can be understood, and the next improvement is visible after a failure. In VOID STRIKER, the goal was for a player to be able to explain “why that hit me” at the moment of impact.
「公平な死」を確認する四つの質問Four questions for checking a “fair death”
テスト中に被弾したら、単に難しいと記録するのではなく、次の四点に分けます。When a hit occurs during testing, instead of recording it simply as difficult, separate it into these four points.
- 危険が来る方向を、発射前または十分遠い位置で認識できたか。Could the direction of the danger be recognized before firing, or while it was still far enough away?
- 見えてから回避を始めても、操作上は間に合う余地があったか。After it became visible, was there still enough time for the controls to evade it?
- 敵弾、背景、演出、自機の色が重なって判別しにくくなかったか。Did overlapping colors from enemy bullets, the background, effects, and the player craft make them difficult to distinguish?
- 同じ場面を再挑戦したとき、別の行動で避けられると理解できたか。On retrying the same situation, was it clear that a different action could avoid the hit?
四つ目が特に重要です。回避可能でも、正解が偶然にしか見つからない配置は学習につながりません。一方、発射位置や直前の動きから安全地帯を予測できれば、失敗は次の入力を変える材料になります。難易度を下げるのではなく、判断に必要な情報を先に渡す考え方です。The fourth point is particularly important. Even if a pattern can be avoided, a layout whose answer can only be found by chance does not support learning. If a safe area can be predicted from the firing position or the preceding movement, a failure becomes information for changing the next input. The aim is not to lower the difficulty, but to provide the information needed for a decision in advance.
予告は時間だけでなく、形と音でも伝えるCommunicating warnings through shape and sound as well as time
狙撃のような高速攻撃は、弾を遅くするだけでは個性が失われます。そこで発射前の照準、敵の停止、色の変化などを使い、危険な直線を先に示します。VOID STRIKERの仕様では、狙撃の予告時間は0.6秒で固定し、後半ステージでも短縮しません。ステージが進むほど通常弾の速度や発射頻度は上がりますが、読み取るための基礎時間は残す設計です。Fast attacks such as sniper shots lose their character if the bullets are merely slowed down. Instead, a pre-fire sight line, a pause in enemy movement, or a color change can show the dangerous line in advance. In VOID STRIKER, the warning time for a sniper shot is fixed at 0.6 seconds and is not shortened in later stages. Standard bullets become faster and more frequent as stages advance, but the basic time needed to read a warning remains.
予告を増やしすぎると画面が別の情報で埋まるため、強い攻撃ほど明確に、通常弾は軌道そのもので伝えるよう役割を分けます。効果音も同様です。すべてを大きな警告音にせず、ボス移行や特殊攻撃など、画面を見ていない一瞬にも判断が必要な場面へ絞ります。Too many warnings fill the screen with another kind of information, so strong attacks receive clearer warnings while standard bullets communicate through their paths. Sound effects follow the same principle. Rather than giving everything a loud alert, reserve them for moments that require a decision even during an instant when the player is not looking at the screen, such as a boss transition or special attack.
当たり判定は見た目より小さくても、曖昧にしないA smaller hitbox should still be clear
自機の絵全体を当たり判定にすると、翼の先をかすめた弾で被弾し、密度の高い弾幕を抜ける楽しさが損なわれます。VOID STRIKERでは、エンティティを円として扱い、位置と半径で衝突を判定します。重要なのは半径を小さくすることだけでなく、プレイヤーが基準点を見失わないことです。低速移動中に細かな位置調整がしやすいことも、狭い隙間を自分の操作で抜けるための手掛かりになります。If the entire player craft image is used as its hitbox, a bullet grazing a wingtip causes damage and diminishes the pleasure of moving through dense patterns. VOID STRIKER treats entities as circles and detects collisions by position and radius. The important point is not only to make the radius small, but also to ensure that the player does not lose sight of the reference point. Fine positioning during slow movement also provides the control needed to pass through narrow gaps.
調整時は、静止画で弾と自機が重なって見えるかではなく、実際の速度で「中心をどこへ運べばよいか」が分かるかを確認します。強い発光や画面揺れで中心が隠れる場合は、演出の不透明度や持続時間を下げます。被弾演出を派手にすることより、被弾直前の状況を読めることを優先します。During tuning, the question is not whether bullets and the craft appear to overlap in a still image, but whether the player can tell where to move the center at the actual speed. If strong glow or screen shake obscures the center, reduce the effect's opacity or duration. Reading the situation immediately before a hit takes priority over making the hit effect elaborate.
一度に複数の軸を上げないDo not raise several difficulty axes at once
敵HP、弾速、発射頻度、出現数を同時に大きく上げると、どの変化が詰まりの原因か分からなくなります。VOID STRIKERでは、有効ステージを8までとして難易度上昇を頭打ちにし、無限進行でも処理量と回避不能化を抑えています。通常敵はステージに応じてHP、弾速、発射間隔、出現数が段階的に変化しますが、同時出現数には48体の上限があります。If enemy HP, bullet speed, firing frequency, and spawn count all rise sharply at once, it becomes unclear which change caused a blockage. VOID STRIKER caps effective stage scaling at stage 8, limiting processing load and unavoidable situations even during endless progression. Standard enemies change gradually in HP, bullet speed, firing interval, and spawn count by stage, while the number present at once is capped at 48.
実際の調整では、基準となる1面をまず固定し、次の順で一項目ずつ試します。In practice, first fix stage 1 as a baseline, then test one item at a time in this order.
- 敵配置だけを変え、画面内に安全な移動先が残るかを見る。Change only enemy placement and check whether a safe destination remains on the screen.
- 弾速を変え、見てから避ける弾と先読みする弾の割合を確認する。Change bullet speed and check the balance between bullets evaded on sight and bullets that require prediction.
- 発射間隔を変え、回避後に位置を戻す時間があるかを見る。Change the firing interval and check whether there is time to return to position after evading.
- 最後にHPを調整し、危険な敵を優先撃破する判断が機能するかを見る。Finally, adjust HP and check whether the decision to destroy dangerous enemies first remains meaningful.
数値を上げた結果、プレイヤーが取れる選択肢が一つに減ったなら、別の軸を戻します。難しさの目的は入力を急がせることではなく、複数の危険から優先順位を選ばせることにあります。If raising a value reduces the player's available choices to one, lower another axis. The purpose of difficulty is not to rush inputs, but to ask the player to choose priorities among several dangers.
ボムとグレイズは難易度の調整弁になるBombs and grazing as difficulty controls
ボムは単なる残機の代わりではありません。弾幕が重なって安全地帯を失ったとき、プレイヤー自身が配置をリセットする手段です。温存したまま被弾する状況が多ければ、ボムの効果よりも、危険を察知できるタイミングや操作案内を見直します。「当たる直前」ではなく「逃げ道が閉じ始めた時点」で押せる情報が必要です。A bomb is not merely a substitute for an extra life. When overlapping bullet patterns remove the safe area, it lets the player reset the layout. If players are often hit while still holding bombs, review when danger can be recognized and how the control is explained, rather than changing the bomb's effect. Players need enough information to press it when the escape route begins to close, not only just before impact.
グレイズは反対に、危険へ近づく選択へ報酬を与えます。敵弾が自機の近くを通ったことを数え、スコアへ結びつけることで、クリアだけを目指す安全な遊びと、高得点を狙う危険な遊びを同じルール内に置けます。ステージ結果では撃破、グレイズ、ノーミスなどを分けて示すため、プレイヤーは次に伸ばす項目を選べます。Grazing, by contrast, rewards the choice to approach danger. Counting enemy bullets that pass near the player craft and tying them to score allows safe play aimed only at clearing the game and risky play aimed at a high score to coexist under the same rules. Stage results show kills, grazes, no-miss performance, and other measures separately, so players can choose what to improve next.
プレイ記録は平均値より「詰まった場面」を見るLooking at points of failure rather than averages in play records
クリア率だけでは原因が分かりません。制作時の確認では、被弾時刻、画面上の位置、ボム残数、直前に出た敵の組み合わせを短く記録します。たとえば5回中4回が画面右下で起きたなら、弾速を一律に下げる前に、右へ誘導する敵配置と次のウェーブが重なっていないかを調べます。Clear rate alone does not reveal the cause. During development checks, briefly record the time of impact, position on the screen, bombs remaining, and the combination of enemies that appeared immediately before. If four of five hits occur at the lower right of the screen, for example, check whether an enemy placement that draws the player right overlaps the next wave before reducing all bullet speeds.
初見プレイ、操作に慣れたプレイ、スコア狙いの三条件も分けます。初見で読めず、二回目には避けられる攻撃は学習要素として機能しています。何度試しても同じ場所で選択肢が消えるなら、予告、配置、上限値のどこかを修正します。この切り分けを続けることで、簡単にするのではなく、失敗の理由が見える難しさへ近づけられます。Also separate first-time play, play after learning the controls, and score-focused play. An attack that cannot be read the first time but can be avoided on the second attempt works as a learning element. If choices disappear in the same place after repeated attempts, revise the warning, placement, or cap. Continuing this separation brings the game closer to difficulty whose failures can be understood, rather than simply making it easier.