逆転裁判シリーズの近作のスクリプトシステムの講演

CEDEC2015で「逆転裁判のスクリプトシステムによる実演を交えた3Dアドベンチャーの作り方」というセッションがありました。こちら、ワークフローもよく分かる素晴らしい講演でした。ニコニコ生放送での中継があり、プレミアム会員なら9月下旬までタイムシフトで閲覧できますので、ADVのシステムに興味のある方なら、ぜひ直接ご覧いただきたい。

講演内容は以下のようなメディアの記事にもなっています。

www.famitsu.com www.gamer.ne.jp

ポイントは、結局アドベンチャーゲームのスクリプトも統合開発環境的なサポートがあった方がよく、それを Excel のマクロを用いることで実現した、というところかと思います。コマンドに応じて引数をドロップダウンで選べたり、エディタ上でエラー検出をしたり。

また、途中実行時の状態を安定させるための様々なノウハウが本当に興味深かったです。 毎シーンの最後にその時の立ち絵の状態やカメラなどのグローバル状態を宣言的に書いておくことで、それが通常実行時には assert となり、途中から再開したときは、設定データとなるというのは、元自動検証屋としては何かもう一段抽象化できそうな匂いを感じてワクワクしましたw また、シーンの頭で自動的に呼ばれる共通スクリプトがあり、そこで現在のシーンに応じて所持アイテムなどのフラグを毎回再設定しているという話も面白いですね。アイテムは主人公がもっているもの、という発想ではなく、あるシーンに紐付いた小道具である、という意識の持ち方なのでしょう。デバッグはやりやすそうです。

セッションの最後の質疑応答の時間に質問した人たちの質問がいずれも聞きたいことを的確に突いていたのが面白かったです。実務者の集まりであるCEDECならでは。 コマンドをメッセージに直接埋め込めるのは、せっかくの Excel サポートが使えなくなる苦肉の策と感じましたし、ローカライズもどうするんだろうと思っていました。が、質疑でばっちり聞いてくれて、それに対してローカライズ向けに各言語のメッセージに埋め込まれたコマンドが一致しているかのチェックを走らせることが出来ると聞いたときに、その発想はなかった感が新鮮でした。

やっぱり分岐が弱いのは気になりますが、まぁ、逆転裁判自体、あんまり分岐を楽しませたいゲームではない、ということなのでしょうね。

ともあれ、Excel 最強神話がまたひとつ。本当は自動補完やエラーチェック付きの IDE として実装するのが一番筋がいいはずとは思うのですけどね……。