歯車の仕組みが少し見えてきた
回り続ける歯車の上で、
タイミングを見計らって、次の歯車へ飛び移る。
ただそれだけです。
その「ただそれだけ」を、自分の指が納得する形にするまでに、かなり時間がかかりました。
整然と噛み合い、決められた速度で回り続けるその姿は、機能美の塊でありながら、どこか残酷でもあります。
私たちが社会の一員として日々を過ごす、
あの「回されている感覚」。
それをそのままゲームに閉じ込めてみたい。
そんな少し皮肉混じりの動機から作り始めたのが、アクションゲーム「GearHopper」です。

「飛ぶ」だけのゲーム
操作はとてもシンプルです。
回転する歯車に掴まり、
タイミングを合わせて画面をタップし、
次の歯車へ飛び移る。
ただ、この「飛ぶ」というたった一つの動作に、私は異常なほどの時間をかけて数値を調整しました。
「正しい物理」への違和感と、「2.6」
最初は標準的な物理演算を使ってジャンプさせていました。
それではどうも「正しすぎる動き」になってしまいます。
理論では正しい。でも、指先が納得しない。
そこで私は、物理の正しさを捨てて、自分の感覚だけを頼りに調整を繰り返し、ジャンプの計算式をつくり直しました。
local baseSpeed = r * math.abs(angularVelRad) * 2.6
local speed = math.max(baseSpeed, 10.0)歯車の半径(r)と回転速度(angularVelRad)から飛び出す力を決めています。
そして最後に掛けている「2.6」という係数。
これが、何度も調整を繰り返し、「これくらい飛ぶだろう」と自分の指と頭が納得した感覚です。
さらに、遠心力で飛び過ぎてしまわないように微調整を入れています。
現実の物理としては間違っています。
でも、この数値の積み重ねが、無機質なプログラムを「自分の感覚の延長」に変えてくれます。
日常のメタファーとしての歯車
ゲームは進むにつれて、
少しずつ世界の様子が変わります。
最初はすべて同じ方向に回る歯車だけが並ぶ「ROUTINE(日常)」。
そこから「FRICTION(摩擦)」、「PRESSURE(重圧)」
とステージが進むにつれて、逆回転や特殊な歯車が混ざり始めます。
歯車の種類にも、それぞれ役割があります。
紫色の「磁力ギア」は、少し遠くからでも吸い付き、ジャンプ速度が1.3倍になる、安心感のある足場。

一方で、茶色い「錆ギア」は、
乗っていると崩壊します。
ただし、崩れる条件は「時間」ではありません。

プレイヤーが歯車の頂点(12時の位置)を通過した瞬間に崩れ始めます。
安定しているように見える場所が、ある瞬間に突然壊れる。
そんな小さなルールにも、少しだけ日常のメタファーを込めています。

闇の中で始まる世界
もう一つこだわったのが背景です。
ゲーム開始直後のStage1では、背景は完全な「闇」です。
プレイヤーはただ目の前の歯車だけを見つめて飛び移ります。
ですが、ステージが進むにつれて背景の透明度が少しずつ上がり、やがて巨大な街の夜景がうっすらと浮かび上がります。
自分がどんな世界の中で回されているのか。
その全体像が、少しずつ見えてくる演出です。

エフェクトの心地よさ
ジャンプが成功してコンボが繋がると、プレイヤーがまとっているマフラーの色が「白 → 黄色 → 青」へと変化します。
着地した瞬間には、緑や青の光の粒が散らばります。
これらはゲームの進行には一切関係ありませんが、
この光の粒や少しの揺らぎが心地よいかどうか。
ふとした夜に「ちょっとだけ遊ぼうかな」と思えるかどうか。
それが、自分専用のアプリを作るうえで、一番大事なことだと思っています。
巨大な構造体の中で、
自分はどこまで高く跳べるのか。
そんなことを考えながら、今夜もベッドの上でiPhoneの中の歯車を回しています。
自作アプリ21個の制作記録(16/21)
— はままぁ (@sukimastock) March 19, 2026
【GearHopper】
回転する歯車から歯車へ飛び移るアクションゲーム。
制作記録をnoteに公開しました。#個人開発 #ゲーム制作 pic.twitter.com/TWjJ2utM60
【16 / 21】
これは、誰かに見せるためでも、リリースするためでもない、ただ自分のために作った、iPhoneの中だけにある秘密のアプリたちの記録です。
疲れた夜、ただ時間を眺めたいときはこちら▼
頭のモヤモヤを置いておきたいときはこちら▼
