見出し画像

【Vibe Coding 第6弾】今度はクレイジークライマーだ!

子どもの頃に筐体の前で手汗をかきながら、左右のレバーを必死にガチャガチャした——あの感覚をもう一度。今回は、名作アーケード『クレイジークライマー』(1980年代初頭)をLSI電子ゲーム風の軽量仕様でAndroidに再現してみた開発メモです。作ってみての気づきや工夫、苦労話を中心に、ゆるっとお届けします。


オリジナルの魅力と時代背景(ざっくり)

オリジナルはツインレバーでビルを登る、アクションとしては唯一無二の操作感。上階に行くほど窓の開け閉めがキツくなったり、植木鉢を落としたり、屋上にはキングコングまで待っているという、発想の豊かさが当時のゲームらしくて最高です。
同時期には電子ゲーム版(LSI)「クレイジークライミング」も登場。画面・演出は簡素ですが、ギミックの要点を抽出して遊ばせ切る思想が好きで、今回は主にこちらの仕様感を参考にしつつ、スマホ向けにアレンジしました。


今回の再現方針(LSIゲーム仕様に寄せる)

  • 採用ギミック

    • 窓の開け閉め

    • 植木鉢を落とすおじさん

    • しらけどり(フン攻撃)

    • 屋上のキングコング

  • プレイヤーポーズは4種類

    • 両手上 / 両手下 / 右手上・左手下 / 左手上・右手下

    • 両手が揃っている時=安定ポーズとして左右移動が可能。さらに植木鉢やフンを耐えることができます。

    • ただし被弾すると片手状態へ。この不安定状態で再度被弾すると落下します。

  • 足止め対策

    • 同じ場所に長く止まると、強制的に窓が閉まる。もたつくと一気に不利になる小さな圧が、ゲームのテンポを保ってくれます。

  • ステージクリア演出

    • 面倒なので自動(笑)。屋上に到達したらサッと次へ。


実装のコア設計

1) ツインレバーの再現

一番の悩みどころ。結局、画面下部に擬似レバー(左右独立のタッチエリア)を設置して入力判定する方式に。
さらにゲームコントローラのアナログスティックにも対応して、ほどよく遊べるようにしました。

  • 操作ロジックの考え方

    • 「両手が揃っている(上 or 下)=安定ポーズ」から、左右のレバーを交互に入れると1段ずつ登れる。

    • 片手状態(不安定ポーズ)では耐久力が下がるため、被弾に注意。

    • 安定・不安定の切り替えが、そのままゲームのリズムになって気持ちいい。

2) 背景スクロール型の表現

プレイヤーの水平位置は基本固定。ビル(背景)を相対的に上下へスクロールさせて“登っている”感を演出しました。
左右移動はプレイヤーを直接動かし、「縦は背景・横は自分」という分離方式を採用。


こだわりの小ネタ演出

  • 植木鉢に耐える時は“バウンド”演出
    単に無敵で受けるのではなく、ポンっと小さく跳ねる反応を入れると、手応えと視認性がぐっと上がります。

  • しらけどりは“サインカーブ”で登場
    直線で飛んでくるより嫌らしい(=ゲーム的においしい)。

  • 窓の閉まり方に“間”を作る
    予兆→閉鎖までに少し間を置くと、プレイヤーが読み合いできて楽しい。


サウンド制作メモ(GarageBand と音声合成)

ゲーム中のサウンドはMac の GarageBand(標準アプリ)で作成しました。
既存のシンセ音源が割と豊富で、BGMも効果音もひとまず全部ここで賄える
のがありがたい。ドラムマシンとシンセを軽くレイヤーして、レトロ寄りの質感を意識しつつテンポ感を整えています。

このゲームの特徴のひとつが、「イテッ」「アレー」「ヨイショ」といったボイス
これは音声読み上げソフトピッチ/スピードなどのパラメータをいじって“それっぽい”声を作りました。ちょっとコミカルで、LSI風の軽い画づらとも相性よし。演出のキメになる箇所にだけ鳴らして、耳タコにならない頻度に調整しています。


正直、ここで力尽きました(笑)

ステージ1のギミックを作り込み終えた時点で、達成感とともに燃え尽き
オリジナル準拠で進めるなら、

  • ぐるぐる回って落ちてくる鉄骨

  • ビリビリ電線

  • 落下看板

  • 一部フロアをショートカットできるバルーン
    ……などなど、魅力的だけど手間のかかるネタがまだまだ控えています。
    今回は、いったん完成としました。


余談:BGMの“あの話”

後から知ったのですが、このゲーム、既存曲をいろいろ鳴らしていた件で当時いろいろあったとか、なかったとか。
たしかにオープニングで『小象の行進』、さらには『しらけどり音頭』、『ピンクパンサーのテーマ』、『ジ・エンターテイナー』……と、今の感覚だとなかなか攻めた選曲(笑)。当時の空気感を含めて、話題に事欠かないタイトルです。


Play ストア公開は見送りにしました

今回の再現は、BGMやキャライメージの雰囲気がオリジナルに寄りすぎるため、Play ストアへの登録は見送り
学習・研究目的の範囲で楽しんでいただければ十分だなという結論で、ソースコードのみ公開しておきます。
以下のリポジトリにキャライメージやサウンドデータも置いてます。

  • ソースコード:GitHubで公開しています。Android Studioでビルド可能です。
    リンク

  • プレイ動画:一応限定公開になっています(笑)
    リンク

画面イメージ


技術メモ(開発者向けの補足)

  • 入力系

    • 画面下部の左右独立タッチでレバー上下を再現。

    • ゲームコントローラのアナログスティックにも対応(上下のしきい値で上/下判定)。

    • アナログスティックって個体の仕様差があってうまく動かないものがあるっぽいです。なので、移動ボタン+ABXYボタンの組み合わせでも操作できるようにしています。

  • 状態管理

    • 安定(両手上/両手下) と 不安定(片手状態) を明示的な状態機械で管理。

    • 被弾時の遷移を厳格化(安定→不安定→落下)。

  • 足止め判定

    • 一定時間、同じグリッドで停止したら窓を閉めるイベントを発火。

    • ボス出現時も時間制限つけています。

  • 描画とパフォーマンス

    • 縦移動は背景スクロールで表現、横移動だけ自分を動かす分離設計。

    • 衝突判定は窓枠・障害物の当たり矩形を軽量化し、フレーム落ちを回避。

  • サウンド

    • GarageBandでBGM/SFX を制作し、音声合成でボイスを生成(ピッチ/スピード調整)。


まとめ

  • ツインレバーという唯一無二の操作感を、スマホでも“それっぽく”再現できたのが今回の満足ポイント。

  • オリジナル仕様の簡易化と、現代的に快適な操作(タッチ+パッド)に整えたことで、短いセッションでもサクサク遊べる仕上がりになりました。

  • そして何より、改めて感じたのはギミックのアイデアの豊かさ。ほんの少しの演出追加や動きの曲線ひとつで、ゲームの表情がガラッと変わる。作っていて何度も「発想が素晴らしい」と唸らされました。

興味があれば、GitHubのソースからぜひビルドして、実際にプレイしてみて下さい。
ゲームは、作っても遊んでも楽しい。そんな原点に戻れた開発でした。

いいなと思ったら応援しよう!