ボール 4 種 — 10px と 20px の差
同じ「ボール」でも、画面上の大きさは 4 倍まで違います。当てやすさはそこで変わります。
014 種類のボール
ゲームデータには、ボール用のオブジェクトが 4 つ定義されています。normalBall、smallBall、bigBall、americanBall の 4 つで、いずれも balls という family(同種オブジェクトのまとまり)に属しています。つまりゲーム側からは「balls のどれか 1 つ」として扱われ、得点のたびに別の 1 つへ差し替わります。
大きさはスプライトの実寸で比較できます。通常球が 10×10px、小型球が 9×9px、大型球が 20×20px、アメリカンフットボール型が 12×8px です。大型球は通常球のちょうど 2 倍の一辺で、面積では 4 倍になります。
| オブジェクト名 | サイズ(px) | 通常球との面積比 | 形状の特徴 |
|---|---|---|---|
| bigBall | 20 × 20 | 4.0 倍 | 正方形に近い大型球 |
| normalBall | 10 × 10 | 1.0 倍(基準) | 標準のサッカーボール |
| smallBall | 9 × 9 | 0.81 倍 | わずかに小さい |
| americanBall | 12 × 8 | 0.96 倍 | 横長の楕円(アメフト型) |
02大きさが変える当てやすさ
大型球は 20px 四方なので、同じ位置に立っていても接触する範囲が広くなります。狙って当てにいく必要が薄れ、押した回数だけ結果が出やすくなります。逆に小型球は 9px で、通常球より 1px 小さいだけですが、当たり判定の端でかすめる場面が増えます。
ここで注意したいのは、ボールが大きくなっても「2 人が同時に動く」という制約は変わらない点です。大型球のときは、2 人のどちらかが触れば転がるため、結果として試合のテンポが上がります。小型球のときは、1 人が触っても勢いが足りず、もう 1 人の追い打ちが必要になることが増えます。
アメリカンフットボール型は横長のため、縦方向の当たり判定が通常球より薄くなります。上から落ちてくる場面では、通常球よりわずかに合わせにくいと考えられます(形状からの推測)。
03得点ごとの抽選
ボールの入れ替えは、得点処理の中で行われます。ゲームのイベントシートには rndChar / rndBall / rndGoal / rndPlace という 4 つの変数が用意され、得点のたびに抽選結果が代入されます。rndBall がボールの種類、rndChar がキャラクター、rndGoal がゴール、rndPlace が舞台を決めます。
抽選は毎回独立しているように見えます(同じ球が 2 回続くことを禁じる処理は、確認できる範囲では見当たりません)。もし連続を避ける処理があるとすれば、その記述はイベントシートに存在しないため、実際には「同じ球が続くこともある」と考えるのが自然です。
04尾を引くボール
ボール 4 種には共通して tail というインスタンス変数があり、初期値は 25 です。これは軌跡(残像)の長さを扱う値で、ボールが転がるときの尾を制御しています。
この値が大きいほど軌跡が長く残り、速く転がっていることが見た目で分かります。ゲームの判断材料としても使えるため、ボールの速度を目で測りたいときは、尾の長さを見るのが一番早く確実です。