ボールドロップ研究所とは
「ボールドロップ研究所」は、落ちてくるボールの軌道そのものを設計するブラウザ物理パズルです。プレイヤーがボールに直接触れることはできません。できるのは、盤面の好きな場所に強ゴム・弱ゴム・スライム・磁石を置くことだけ。あとは重力と反発と摩擦にしたがってボールが勝手に転がっていきます。
このゲームにはステージの区切りがありません。ボールは最初から最後まで出続け、盤面は一度もリセットされません。うまく流れているラインの上に、いきなりゴールが横へ動き出し、通り道に柱が生え、盤面の壁が外へ後退していきます。すでに置いた道具はそのまま残るので、プレイヤーは走り続けているラインを走らせたまま組み替えることになります。設計しては壊し、また設計する。この止まらない感じがこのゲームの遊びです。
4つの装置がそれぞれ違う役割を持つ
| 道具 | 反発係数 | 役割 |
|---|---|---|
| 強ゴム | 0.92 | ほぼ勢いを落とさず、線の垂直方向へ遠くまで飛ばす |
| 弱ゴム | 0.00 | まったく跳ねない。線に沿って滑らせて受け渡す |
| スライム | 0.06(速度0.82倍) | 速度そのものを削って真下へ落とし直す |
| 磁石 | - | 範囲内で力を与え続け、軌道をゆるやかに曲げる |
強ゴムと弱ゴムの差がこのゲームの中心です。強ゴムは一撃で方向と勢いを与えますが、着地点が遠くなるぶん狙いは荒くなります。弱ゴムは跳ね返しをまったく持たないかわりに、ボールを線の上に載せて確実に運びます。「強ゴムで飛ばして、弱ゴムで受けて滑らせ、ゴールの真上で落とす」という組み合わせが、後半のフェーズで必要になる基本形です。
盤面はどう広がるか
盤面(ワールド)と画面(ビューポート)は別物です。ビューポートは560x700で固定ですが、ワールドは14フェーズかけて 280x700 から 980x980 まで広がります。面積にして約4.9倍です。最初のフェーズは幅280pxの狭い実験区画で、壁が外へ後退しながら340、400、460、520と広がり、6フェーズ目でついに画面より広くなります。そこから先は落ちきるまでの高さも伸び、800、860、920、980と床が下がっていきます。
ワールドが画面より大きくなると、全体表示はその場で縮小に切り替わります(最大980px幅では約0.57倍)。細部を見たいときは+ボタンかピンチで最大4倍まで拡大でき、指2本のドラッグか移動モードで見たい場所へ寄せられます。全体ボタンでいつでも引きに戻せます。フェーズが上がった瞬間は自動で全体表示に戻るので、どこが増えたのかを取り逃しません。表示側は常に横幅100パーセントに収まるので、盤面がどれだけ広がってもスマートフォンで横スクロールは発生しません。
広さが上限に達したあと、何で難しくするか
盤面は14フェーズ目で 980x980 という上限に届きます。これ以上広げると全体表示の縮小率が下がりすぎて、半径9pxのボールが画面上で5pxを切り、目で追えなくなるためです。そこで15フェーズ目からは、広さではなく盤面の振る舞いを変えていきます。送風帯(矩形の中だけ力がかかる)、開閉ゲート(周期的に固体になる板)、ワープ管(速度を保ったまま反対側へ飛ばす)、吸込口(入ったボールが失われる)、回転翼(当たった時刻で弾く向きが変わる棒)が1フェーズにつき1つずつ加わり、20フェーズ目でその全部がそろいます。
これらに共通しているのは時間で状態が変わることです。それまでのフェーズは「置いた道具と盤面の形」で結果が決まっていましたが、ゲートの開閉・回転翼の角度・送風帯を通る長さは、ボールが到着する時刻によって変わります。つまり「たまたま1個うまく入った配置」では続かず、どの瞬間に来ても成立する道でなければ流れ続けません。数値を厳しくするのではなく、成立条件そのものを増やす方向で難しくしています。
後半の難易度はどう決めたか
「ギリギリ届く」という感覚は勘では作れないので、全フェーズについて道具の配置を機械的に総当たりし、実際の物理ループで最後まで走らせてクリアできる配置が存在することを確かめています。同時に、後半のフェーズでは道具を1つしか置かない配置がひとつも成立しないことも総当たりで確認しました。つまり後半は、複数の道具を組み合わせなければ物理的に届きません。この検証はリポジトリの自動テストに入っていて、フェーズ定義を変えるたびに走ります。
技術的なこと
物理演算はCanvasと自前の実装で、外部の物理エンジンは使っていません。重力と空気抵抗を加えたうえで、1フレームを4分割したサブステップで位置を積分し、線分・矩形に対しては円の最近接点を求めて、法線方向に反発係数、接線方向に摩擦係数を掛けて速度を更新しています。弱ゴムは反発係数を0、接線方向の摩擦をほぼ0にすることで「跳ねずに滑る」挙動を作っています。磁石の加速度は距離の2乗に反比例させつつ、範囲の縁で滑らかに0へ落として力の不連続をなくしています。すべての計算はお使いのブラウザ内で完結し、外部にデータを送信することはありません。
よくある質問
- ボールドロップ研究所はどんなゲームですか?
- 上の投入口からボールが出続けます。盤面に道具を置いて落下ラインを設計し、ゴールへ流し込みます。ステージの区切りはなく、盤面はリセットされないまま、フェーズが上がるとゴールが動き、邪魔者が増え、盤面が広がります。
- 強ゴムと弱ゴムの違いは何ですか?
- 強ゴムは反発係数0.92でよく跳ね、遠くへ飛ばします。弱ゴムは反発係数0でまったく跳ねず、ボールは線に沿って滑り落ちます。見た目も、太い青緑(強)と細いオレンジ(弱)で区別できます。
- 負ける条件はありますか?
- ありません。ゴールに入らなかったボールは「取りこぼし」として数えられますが、いくつこぼしても実験は終わりません。時間切れもありません。フェーズの目標得点に届けば次へ進み、届かないうちは同じ盤面のまま続きます。取りこぼしの数は画面上部に出ていて、フェーズが変わるとリセットされるので、「このフェーズをどれだけきれいに抜けられたか」の目安として使えます。
- スマートフォンでも遊べますか?
- 遊べます。盤面が画面より広くなると全体が縮小表示になり、ピンチで最大4倍まで拡大、指2本のドラッグで移動できます。表示は常に横幅100パーセントに収まるので横スクロールは出ません。操作はポインタイベントで統一しているため、マウスドラッグでもタッチドラッグでも同じです。