Bunny Hop

茂み、生垣、低い鳥はジャンプでかわし、高い鳥はそのまま頭上を通過させます。クリアすべきレベルも、使い切るライフもありません — 一度触れればランはそこで終わり、走った距離がそのままスコアになり、次のランはすぐに、無料で始まります。

ブラウザで遊ぶ Simple Games について

草原と、ランの終わり方

コースは600×150で、地面は上端から127pxの高さに引かれています — 横に長く、縦に浅いのは意図したものです。縦方向は「障害物の上か下か」だけが意味を持つので、奥行きから得られるものは何もありません。横幅はどれだけ早く気づけるかを決めます。最高速度でも、草原の奥はまだ0.77秒先まで見えています。

うさぎはコース上を前後に動きません。左端から24の位置に固定されていて、草原の方がうさぎを追い越して流れていきます。すべての障害物の位置は、障害物ごとに積み上げた座標ではなく「走った距離」から読み取られるので、3分走ってもずれが生じません。

ぶつかったうさぎは目を失います。ラン終了の演出はこれだけで — 爆発も、破片も、画面の揺れもありません — 翻訳の必要な言葉を使わずに、ランが終わったことを伝えます。

操作

このゲームの入力はジャンプ1つだけです。しゃがみも、2つ目の入力もありません。コース上のどの形も、跳ぶか、何もしないかのどちらかで答えられるからです。

ジャンプを決める数はたった2つです。初速580px/秒、重力2100px/秒²で跳び出し、その結果として高さ80px・滞空0.55秒になります。ジャンプがどれだけ届くか、間隔がどれだけあれば公平かは、すべてこの2つの数から決まるので、調整できる3つ目のつまみはありません。

7つの形と、反射を罰する1つ

草原を作る形は7種類あり、そのすべてが同じひとつの問い — 跳ぶか、跳ばないか — を投げかけてきます。形ごとに違うのはタイミングの厳しさです。単体の茂みは遅れたジャンプも許しますが、3つ並びは許しません。そして1つだけ、そもそも障害物として扱うべきかどうかが変わる形があります。

大きさ答え出現
茂み18×36ジャンプ最初から
生垣(高い)26×50ジャンプ最初から
茂み2つ62×36ジャンプ最初から
茂み3つ106×36ジャンプスコア150から
生垣2つ86×50ジャンプスコア150から
低い鳥30×6、地上24を飛ぶジャンプスコア400から
高い鳥30×6、地上76を飛ぶ何もしないスコア400から

うさぎ自身の当たり判定は、描かれた40×42の姿を四方4pxだけ内側に縮めたものです。見た目の上で1pxほど重なって見えても、それは死には数えません。箱(当たり判定)と絵は別の場所で宣言されているため、テストが両者を機械的に突き合わせています — 実際、並んだ茂みの絵が箱より44px短く描かれていて、「何もない草原でぶつかる」というバグがこの仕組みで見つかっています。

速くなるだけで、混み合わない

ランが続くあいだ上がるものはただ1つ、速度です。コースは340px/秒で始まり、生き延びた1秒ごとに3.6px/秒ずつ上がって、780px/秒に達すると(だいたい2分後です)そこで頭打ちになります。密度はこの曲線に含まれません。間隔はどの速度でも同じ秒数の帯にとどまるので、草原は混み合うのではなく、ただ速くなっていきます。

速度は、獲得したスコアではなく、生き延びた秒数にしたがって上がります。だから2回のランはスコアがどれだけ違っていても、同じ瞬間には必ず同じ速度で走っています。

スコアと、受けられる助け

スコアは走った距離そのもので、それ以外の要素は一切ありません。コース40につき1点です。倍率もコンボカウンターも、ニアミスのボーナスもありません。

スコアはアプリのステータス行ではなく、コースの上に直接描かれます — 右上に5桁のゼロ埋めで表示され、ベストスコアがあればその左にHIを添えて並びます。これらの数字はうさぎと同じ矩形で描かれているので、翻訳もフォントの読み込みも必要ありません。canvasを読み上げられないスクリーンリーダーのために、スコアはラベル付きの値として、変わらず公開されています。

統計として記録されるのは4つの数字だけです — プレイ回数、ベストスコア、越えた障害物、合計プレイ時間。ベストスコアはゲーム全体で1つだけです。難易度もレベルもないので、分ける根拠がありません。プレイ時間が数えられるのは草原が動いている間だけで、スタート待ちのあいだや結果画面では数えません。ストリークは記録されず、オンラインランキングもありません — 順位表は誰かが払い続けるサーバーだからです。

攻略のヒント

よくある質問

鳥はすべて跳んで避けないといけませんか?

低い鳥だけです。低い鳥はうさぎ自身と同じ高さを飛ぶので、茂みとまったく同じように跳んで避けます。高い鳥は地上を走るうさぎの上を完全に越えていくので、あなたが跳んで自分から当たりに行かない限り当たりません — その答えは「何もしない」ことです。

二段ジャンプや、しゃがんでよける方法はありますか?

どちらもありません。ジャンプは地上からしかできません。空中での2段目のジャンプを許すと、どんな間隔も飛び越えられるようになってしまい、コース上の形が何も問わなくなります。しゃがみがないのも同じ理由です — このゲームは入力をジャンプ1つだけに絞っているので、跳ぶか、そのままでいるかで答えられる形しか置きません。

ランはいつか加速をやめますか?

やめます。コースは340px/秒で始まり、走行1秒ごとに3.6px/秒ずつ上がって、だいたい2分後に780px/秒で止まります。障害物の密度が増えることもないので、そこから先は草原がそれ以上難しくなることはありません。そこから先どれだけ続けられるかは、どれだけ長くコースを読み続けられるか次第です。

なぜ「戻す」がなく、当たったあとに続けられる仕組みもないのですか?

戻す(Undo)は、中身がリアルタイムの反射であるこのゲームを空にしてしまいます。ヒントで明かすべき隠れた情報もありません。代わりに用意している助けは、無制限・無料の即時リトライです。広告を見て続けられるコンティニューも、買って増やせるエクストラライフもありません — ゲームの機能が広告や課金の対価になることは一切ありません。

解放できる要素や、続きから再開できるランはありますか?

どちらもありません。草原はエンドレスで、記録はスコアだけなので、レベルもデイリーもありません — コースはシードから生成されているので、必要になればデイリーはあとから追加できます。ランも保存されません。ゲームを離れればそのランは終わりますが、ベストスコアと統計は常に保存されます。

インターネット接続は必要ですか?

Android アプリは草原全体を、端末上でただの矩形だけを使って描いています — スプライト画像もフォントの読み込みも必要ありません — そのため初回起動から通信なしで遊べます。ブラウザ版はページの読み込みに1度だけ通信が必要で、その後のゲームはブラウザの中で動きます。

ここに書いたことはすべて公開されたコードで確認できます:GitHub のソースコード