紫に沈んだ摩天楼、床を流れるネオンのグリッド、遠くで滲む惑星。
そんな電脳都市を走り抜ける横スクロールアクション 「CYBER ADVENTURE」 を作りました。
操作は左右移動とジャンプだけ。ただし空中でもう一度ジャンプできます。この2段ジャンプを覚えると、届かなかった足場に手が届き、避けられなかったウイルスを踏み潰せるようになります。
全3ステージ。最深部のサーバーまで、たどり着けるでしょうか。
横画面で使っていただくと広く使えます。
LEVEL 1/3 POWER NONE
CYBER ADVENTURE
電脳都市を駆け抜けて、最深部のサーバーへ侵入せよ。
PC: ← → または A / D で移動、↑ / W / スペースでジャンプ
スマホ: 画面下のボタンで操作
空中でもう一度ジャンプすると2段ジャンプ
ビットコイン=得点 / DATA=シールド / 雷=オーバークロック
ウイルスは踏むと倒せる。全3ステージ。
HIGH SCORE
| RANK | DATE | SCORE |
|---|
このブラウザに保存されます(BEST: 0)
操作方法
| 移動 | ジャンプ | |
|---|---|---|
| PC | ← → または A / D | ↑ / W / スペース |
| スマホ | 画面下の ← → ボタン | ↑ ボタン |
空中でもう一度ジャンプボタンを押すと2段ジャンプができます。これが攻略の要です。
ジャンプは押している長さで高さが変わります。軽く押せば小さく、長く押せば大きく跳びます。細かい足場では短く、遠くの足場へは長く押してください。
集めるもの
| 効果 | |
|---|---|
| ビットコイン | 100点。連続で取るとチェインボーナス(最大+200) |
| DATA(紫のチップ) | シールド。1回だけ攻撃を防いでくれる |
| 雷アイコン | オーバークロック。6秒間、移動速度アップ+得点2倍 |
オーバークロック中はビットコインもウイルス撃破も2倍になります。雷を取ったら、コインの密集地帯へ全力で走るのが稼ぎ方です。
ウイルスは「踏んで」倒せる
赤いウイルスと紫のドローンは、横から触れるとダメージですが、上から踏むと倒せます。
倒すと200点。さらに連続で倒すとチェインボーナスが乗り、最大+300まで加算されます。踏んだ直後は自動的に跳ね返るので、そのまま次の敵へ連続で飛び移ることも可能です。慣れてくると、これが一番の稼ぎ手段になります。
ステージ構成
全3ステージ。進むほど足場が細かくなり、飛行ドローンと動く足場が増えていきます。
- LEVEL 1 … 基本の足場とウイルス。操作を覚えるステージ
- LEVEL 2 … 動く足場と飛行ドローンが登場
- LEVEL 3 … 足場が細かくなり、敵の数も最多
各ステージのゴールは巨大なサーバータワーです。到達するとクリアボーナス1000点+タイムボーナスが入ります。速くクリアするほどボーナスが大きいので、慣れてきたらタイムアタックとしても遊べます。
画面右上のバーが、ゴールまでの進捗です。
ライフとミス
ライフは3つ。敵に当たるか、穴に落ちると1つ減ります。
シールドを持っていれば、敵の攻撃を1回だけ防いでくれます。穴に落ちた場合は直前の足場に戻されるので、そこからやり直しです。
コツ:3つだけ
- 2段ジャンプを温存する — 1段目で届くところは1段で跳び、2段目は「危ない」と思ったときの保険に残しておくと生存率が上がります
- 雷を見つけたら経路を考える — オーバークロックの6秒間でどこまで稼げるかを、取る前に決めておく
- 敵は避けずに踏む — 避けるより踏んだほうが安全で、しかも得点になります。連続で踏めればなお良し
見た目はサイバーパンクですが、やっていることは「走って跳ぶ」だけのシンプルなゲームです。
BGMを流しながら、3ステージ通しでどこまでスコアを伸ばせるか挑戦してみてください。クリアできたら、コメントで教えてもらえると嬉しいです。
このゲームは HTML と JavaScript だけで作っています。画像ファイルも音声ファイルも使っておらず、すべてプログラムで描画・合成しています。
いくつか工夫した点を書いておきます。
操作感の作り込み
アクションゲームで「気持ちよさ」を左右するのは、実は目に見えない部分です。
- コヨーテタイム … 足場から落ちた直後のごくわずかな時間、まだジャンプを受け付ける仕組み。これがないと「ちゃんと押したのに落ちた」というストレスが生まれます
- 先行入力 … 着地する少し前にジャンプを押しても、着地した瞬間に跳んでくれる仕組み
- 可変ジャンプ … 押している長さで高さが変わる
どれも画面には出てきませんが、外すと途端に「操作しづらいゲーム」になります。
ステージが本当にクリアできるか
穴の幅を広げすぎると、物理的にクリア不可能なステージができてしまいます。そこで、自動でプレイするプログラムを書いて、3ステージすべてがゴールまで到達できることを確認しました。
実際、最初に作ったレベル2とレベル3はクリア不可能でした。穴の幅が最大ジャンプ距離を超えていたのです。さらに、穴の真上に足場を置いてしまい、ジャンプ中に足場の側面へ激突して落下する、という問題も見つかりました。どちらも実際に遊ぶ前に気づけたのは、自動テストのおかげです。
いつかはUnityで3D化したい
今はブラウザ上の小さなゲームですが、いつかUnityを覚えて、グラフィックも音楽も作り込んだ3Dゲームにするのが目標です。
今回作り込んだコヨーテタイムや先行入力といった考え方は、エンジンが変わってもそのまま通用する部分なので、少しずつ積み上げていければと思っています。