見出し画像

歯車の仕組みが少し見えてきた

回り続ける歯車の上で、
タイミングを見計らって、次の歯車へ飛び移る。

ただそれだけです。

その「ただそれだけ」を、自分の指が納得する形にするまでに、かなり時間がかかりました。

整然と噛み合い、決められた速度で回り続けるその姿は、機能美の塊でありながら、どこか残酷でもあります。

私たちが社会の一員として日々を過ごす、
あの「回されている感覚」。

それをそのままゲームに閉じ込めてみたい。
そんな少し皮肉混じりの動機から作り始めたのが、アクションゲーム「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の中の歯車を回しています。

【16 / 21】


これは、誰かに見せるためでも、リリースするためでもない、ただ自分のために作った、iPhoneの中だけにある秘密のアプリたちの記録です。


疲れた夜、ただ時間を眺めたいときはこちら▼

頭のモヤモヤを置いておきたいときはこちら▼


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