見出し画像

開発日誌 #12 — 60ミリ秒の真・一閃と、武将が震える話



ISSEN の核は「斬撃の手応え」です。手応えがダメなら、世界観も墨絵もマーケも全部無駄。だから一番神経を使った場所の話を書きます。

60ミリ秒の窓

斬撃判定の中心は PERFECT_BAND = 22px、その外側に GOOD_BAND = 72px。間合い線を炎が横切る瞬間、22px の窓に当てれば 真・一閃——朱の閃光、画面全体の薄い墨ライン、コンボ加算、スコア上振れ、そして 90ms のヒットストップ。

22 ピクセル × 60Hz の流れ = およそ 60〜80ミリ秒。これが、ISSEN の手応えの正体です。短すぎれば運ゲー、長すぎれば「Fruit Ninja」になる。

ヒットストップ・触覚・呼吸

斬った瞬間にやっていること:

  • hitstop_until = now + 90ms:時間が一瞬止まり、「斬った」が体に伝わる

  • _haptic(28):iOS のタップティック・Android の Vibration

  • breath += 18(真・一閃は +18、Good は +5):「ととのう」ゲージが満ちると、画面全体がスローモードに入れる

  • 連続真・一閃で 「真・一閃 ×N」 が画面下に積み上がる

「触覚 × ヒットストップ × スロー」の三層が、たった一筆を 気持ちいい に変える装置です。

武将戦の演出を、二段重ねで作った

v1.0.4 で武将ボスを背景に立たせました。ここで手応えをもう一段押し上げる工夫を入れています。

  • idle(待ち姿): ゆっくり大きく揺らぐ(振幅 ±10px、周波数 0.3〜0.7Hz)。妖怪が漂うような不気味な浮遊感

  • open(斬撃姿): 一瞬で 小刻みに震える(高周波 47〜113Hz 合成、振幅 ±5px)。「いま斬れ」と体が分かる

  • 早斬りで返り討ち: 朱の閃、シェイク 10.0/260ms、ハプティック 55、画面中央に 「返り討ち!」が ±16px で激しく震えながら 1.4 秒

そして勝負が決した瞬間——

  • 勝利: 金の「あっぱれ!」が 108pt で 2 秒、ゆっくり減衰する震えで残る

  • 時間切れ: 朱の「気力尽きたり!」が 78pt で 2.2 秒震えてから game over へ

文字には 白縁取り 9〜12px。武将画像の濃い黒鎧の上でも読める。


「斬れ!」と震える武将

「斬れ!」を一瞬に

「今!」を「斬れ!」に改名し、open フェーズを 0.30〜0.57 秒から 0.18〜0.38 秒 に短縮しました。迅速タイプはさらに 72%。

短すぎる、と最初は思いました。でも違った。短さこそが、見切れたときの「成功感」を爆発させる。コンマ秒の判断は、人体にとって明らかに 自分の腕 で勝った感覚になる。

ととのうボタンの配色も直した

副次的だけれど大事な話。

ボタンが「使える / 使えない」が一目で分からないと、緊張感は別の場所で削られる。v1.0.4 で 無効時 = 彩度ゼロの灰色アウト有効時 = 朱の文字+脈動する modulate に変えました。呼吸が満ちた瞬間、ボタンが息づくように朱に脈打つ。これも手応えの一部です。

正直な部分

60ms はキャリブレーションの一点でしかありません。ホールド時間・離す位置・スワイプ速度——どれかひとつでもズレれば、判定窓は別の数字になる。これは仕様書ではなくテスターと一緒に詰めるしかない領域です。

v1.0.4 をリリースして、いま実機で多くの人に試してもらっている段階。あなたが「斬撃が気持ちいい」と感じたら、それが正解。

次回は手描きと手続きの境界——「画像ほぼ0枚」を貫きつつ、なぜ16枚の武将像だけは別格にしたかの話。


ISSEN(一閃)について

PixelRyu の和風タイミング斬撃。息を整え、集中し、ただ一筆ですべてを決める。Google Play 公開中。 詳細:


#ゲーム開発 #個人開発 #インディーゲーム #ゲーム制作 #Godot #スマホゲーム #開発日誌 #ゲームデザイン #UXデザイン #ものづくり #侍 #和風 #アプリ開発 #GooglePlay #創作 #ISSEN #PixelRyu


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