ブラウザで動くノベルゲームエンジンを、データ駆動で作り直した話
- ノベルゲーム
- Web制作
- データ駆動
小説として書いてきた戦国転生ものを、ブラウザで遊べるノベルゲームにしている。その土台になるエンジンを、このたび作り直した。きっかけは単純で、話を増やす作業がつらかったからだ。
以前の作りでは、シナリオと仕組みが絡み合っていて、新しい話をひとつ足すにもエンジン側へ手を入れることになっていた。数話ならそれでも回るが、原作の小説は長い。この構造のまま先へ進むのは無理だと判断して、腰を据えて刷新することにした。
「設定ファイルに1行」で話が増える形へ
作り直しの軸はデータ駆動、つまりエンジンとシナリオを完全に分けることだ。新しい話は、シナリオをテキストファイルとして置き、設定ファイルに1行足すだけで追加できる。エンジンはその設定を読んで、話の一覧も本編の進行も自動で組み立てる。
効果はすぐに出た。エンジンを作り直したあと、28話ぶんのシナリオ登録が一気に進んだ。1話ごとにコードを触っていた頃とは速度がまるで違う。シナリオを書く作業と組み込む作業が分離されたので、頭の切り替えが要らなくなったのも大きい。
実装のコードはAIに書かせて、私は構造の決定と動作確認に回った。ただ、データ駆動にするという設計の判断だけは、AIに投げる前に自分で固めておいた。ここが曖昧なままコードを量産すると、また絡み合った構造に戻ると分かっていたからだ。
セーブ・設定・バックログという「当たり前」
エンジン刷新に合わせて、ノベルゲームとして当たり前に求められる機能も実装した。読んでいた位置を保存して再開できるセーブ。音量・文字送りの速度・オート再生の速度を変えられる設定画面。既読の台詞を遡って読めるバックログ。
どれも派手さはないが、無いと読み続けてもらえない類のものだ。特にバックログは、タップの誤操作で台詞を飛ばしてしまったときの保険で、自分で試遊していても世話になる場面が多かった。
素材は背景10枚とBGM15曲。場面に合わせて画面と音が切り替わると、同じ文章でも小説とは別の顔になるのが面白い。
ブラウザだけで遊べる、ということ
体験版はWebで公開していて、インストール不要のブラウザだけで遊べる。小説の読者に「ゲーム版もあります」とリンクひとつで案内できるのは、この形式の一番の強みだと思う。
今回の学びは、量産の前に構造へ投資する価値だ。エンジンの刷新そのものは、1話も増やさない一見遠回りの作業だった。それでも、その後の28話の登録速度が投資ぶんを回収してくれた。続きの話も、テキストを書いて1行足すだけで増えていく。この身軽さを保ったまま、物語の先を作っていくつもりだ。