Codex / Sprite Sheet / Fighting

Codexで対戦型格闘ゲームを作る方法

ネギヤンキーとゆーすけを操作キャラクターにした、1P対CPUの格闘ゲームです。通常攻撃、放出系必殺技、打撃系必殺技、ゲージを使う超必殺技を実装しています。

最初に画像を揃える

格闘ゲームでは、コードより先にキャラクターの動きを揃える必要があります。待機、歩き、通常攻撃、必殺技、ジャンプ、しゃがみ、ダメージ、ガード、勝利を同じ大きさのセルへ並べ、スプライトシートにします。キャラクターの足元と中心位置がフレームごとに動かないようにすると、ゲーム内でぶれません。

01

状態管理

待機、移動、攻撃、被弾など、同時に起きない動作を切り替えます。

02

当たり判定

体の範囲と攻撃の範囲を分け、技ごとに発生時間を決めます。

03

CPU

距離、体力、ゲージを見て、接近・ガード・技を選ばせます。

最初にCodexへ渡すプロンプト

HTML/CSS/JavaScriptとCanvasで、1P対CPUの2D格闘ゲームを作って。
キャラクターは「ネギヤンキー」と「ゆーすけ」の2人。
方向キーで移動・ジャンプ・しゃがみ、Zで通常攻撃にする。
Xは飛び道具、Cは突進打撃、Vはゲージを使う超必殺技にする。
体力、必殺ゲージ、制限時間、ガード、勝敗、リスタートを実装する。
キャラクター選択でどちらも使用できるようにする。
スプライトシートの各フレームを状態ごとに再生して。

ゲームらしさを上げる追加プロンプト

格闘ゲームの手応えを強くして。
攻撃が当たった瞬間だけ数フレーム停止するヒットストップを入れる。
強い攻撃では画面を揺らし、火花と残像を表示する。
通常必殺技はゲージ不要、超必殺技だけゲージを消費させる。
超必殺技では暗転、カットイン、大きな専用エフェクトを入れる。
CPUは距離によって飛び道具と接近攻撃を使い分ける。
一方的に早くKOしないよう、ダメージとゲージ増加量を調整して。

調整は数字と感覚の両方で行う

格闘ゲームは技が出るだけでは完成しません。攻撃発生までの時間、当たった後の硬直、ダメージ、ゲージ増加量が噛み合う必要があります。まず1試合で超必殺技を1回使える長さにし、その後、通常攻撃だけでも勝てるか、必殺技だけが強すぎないかを確認します。

キャラクター画像を追加する場合は、コードを増やす前にスプライトのセル数、並び順、当たり判定の基準点を決めます。画像とデータの規則が揃っていれば、新キャラクターの追加は設定を1件増やす作業に近づきます。