DEV LOG — GRACE 01
型のあるジャンルを、
表から作る
3作目の『GraceForsaken』は、4人と4人が6マスの戦場で向かい合うターン制のコマンドバトル RPG です。
前作で懲りたので、今回は作り始める前に仕様を表に起こすところから始めました。
2026年10月2日 · GraceForsaken
Ⅰ前作の反省から始まった
カオスソードガーデンの制作記録の最後に、「しばらくはジャンルとしてベースが固まっているものを作ったほうがいい」と書きました。ゼロから形を探すのは、Claude Code に任せようがなかったからです。
ターン制のコマンドバトルは、まさに型のあるジャンルです。ラウンドがあって、速い順に行動して、攻撃かスキルを選ぶ。何を作ればいいかは最初から見えています。
もうひとつの反省は、仕様を散文で渡すと抜けが抜けたまま通ってしまうことでした。なので今回は、書き始める前に2つの資料を用意しています。
- 要件定義書 … フィールド、距離、行動、モードの決まりごと。手元で第5版まで書き直しました
- データ一覧 … キャラクターとスキルを表計算ソフトの表にまとめたもの。キャラクター31人、スキルは100種類を超えています
データは表から自動でゲームに取り込まれるようにしてあります。数値を直したいときは表を保存し直すだけ。これは最後までかなり楽でした。
Ⅱそれでも最初に4つ聞き返された
表まで用意すれば足りるだろうと思っていたんですが、作り始める前に Claude Code から質問が4つ返ってきました。
| ダメージの計算式DAMAGE | 要件定義書に書いていませんでした。「威力 − 防御(最低1)」の引き算にして、属性が有利なら最後に ×1.5。 |
|---|---|
| 通常攻撃の仕様ATTACK | 「自身の属性で計算する」としか書いていなかったので、物理攻撃力と魔法攻撃力の高い方を使うことにしました。 |
| ストーリーの範囲STORY | 本文がある2人ぶんだけ作り、残りは文章を置けば自動で開放される形にしました。 |
| 作り方BUILD | ビルド不要の HTML と JavaScript だけの構成にしました。 |
ダメージの計算式が抜けていたのは、さすがに笑いました。RPG でいちばん大事な式なんですけどね。自分の頭のなかでは当たり前すぎて、書く対象だと思っていなかったんです。
ただ、前作と違うのはここで止まってくれたことでした。それらしい式で勝手に作られていたら、あとで数字の違和感から逆算することになっていたはずです。
Ⅲ6マスで間合いを作る
戦場は横一列の6マスです。自陣の後衛・中衛・前衛と、敵陣の前衛・中衛・後衛。距離は「自分のマスの番号 + 相手のマスの番号 − 1」で決まります(前衛が1、後衛が3)。
前衛どうしなら距離1、後衛どうしなら距離5。射程1の剣士は前衛から相手の前衛にしか届きませんが、射程の長い魔法使いは後ろに下がったまま撃てます。誰をどこに立たせるかが、スキル選びと同じくらい勝敗に効くようにしたかったんです。
前作で「間合いがないと単調になる」と思い知ったので、ターン制でも間合いは最初から入れました。そのかわり、操作は複雑にしていません。キャラクターをマスへドラッグするだけです。
もうひとつ、相手が習得しているスキルは見えないようにしています。使われて初めて分かる。並び方から何をしてくるか読む余地を残したかったからです。
Ⅳ前衛がいなくなったらどうするか
修正を始めてすぐ、「前衛が全員倒れたらどうしますか?」と聞かれました。これも要件定義書に書いていなかったところです。
答えは「残った全員を1マスずつ前へ出す」にしました。後ろに控えていた魔法使いが、いつの間にか最前線に立たされる。隊列が崩れていく感じが出るので、気に入っています。敵にも同じルールが適用されます。
で、このルールを入れたことで、別のところに矛盾が出ました。アリシアの第2話の勝利条件を「前衛の撃破」と書いていたんですが、前衛を倒すと後ろが繰り上がってくるので、結局は全滅させるのと同じになってしまう。これは単純に自分の書き間違いだったので、「敵の全滅」に直しました。
ルールを1つ足すと、その影響は書いた本人も気づかない場所に出ます。指摘してもらわなければ、そのまま公開していたと思います。
Ⅴ修正案を書いて、先に質問してもらう
今回の作り方で、いちばん効いたのはこれでした。直したいことは「修正案」というテキストに箇条書きで書いて、毎回こう頼んでいます。
修正案の内容を確認してゲームを修正してください。不明点などがあれば修正を行う前に確認してください。
こうしておくと、解釈が分かれるところで手が止まって、選択肢つきで質問が返ってきます。実際に聞かれたのは、たとえばこんなことです。
| 生への執着ENDURE | 「60%でHP1で耐える」は1戦闘に何回まで? ── 推奨は「1回だけ」でしたが、何度でも発動にしました。しぶとさがこのキャラクターの持ち味なので。 |
|---|---|
| 心頭滅却SPEED | 「1ラウンドの速度が+3」は、1ラウンドの間なのか、1ラウンド目なのか ── 1ラウンド目だけ。 |
| 魔力の力線MANA | ダメージを無効化して半分のMPを失うとき、MPが足りなかったら? ── 足りない分はHPで受ける。 |
| 六刀流BOSS | 物理スキルの後に追撃する固有スキル。範囲攻撃の後は誰に? ── 当たった全員。 |
どれも、自分では「書いた通りでしょ」と思っていた文章です。でも読み直すと、確かにどちらとも取れる。前作ではこういう箇所が、それらしい実装のまま通っていました。
質問されると、一度だけ立ち止まって決めることになります。手間に見えて、実際はあとで不具合として見つけるより、ずっと早かったです。
Ⅵ物語は、文章を置くだけで増える
ストーリーはキャラクター1人につき全3話です。公開時は8人ぶんでしたが、そのあとレイア、ネストル、緋天飛鳥と増やして、いまは11人ぶんあります。
シナリオは決まった書式の文章で書いていて、置けばそのままゲームに入るようにしています。背景も、本文に出てくる言葉から自動で選んでいます。「酒場」と書けば酒場、「玉座」と書けば玉座の間。墓地の背景だけはまだ用意できていないので、夜の街並みで代用しています。
ボス戦だけは、シナリオの中にHP・能力値・専用スキルの表を書くようにしました。最初は雑魚と同じ能力値に「HP3倍、各能力+2」を掛ける補正で済ませていたんですが、それだとボスごとの個性が出ません。表の数値をそのまま使うことにして、専用スキルもボスごとに用意しています。
あと、公開後に直したのがゲストの扱いです。物語の途中で一時的に仲間になるキャラクターは、最初はAIが勝手に動かしていました。でも、物語の主役を自分で動かせないのはおかしいですよね。いまはゲストもプレイヤーが配置して操作できます。