『逆転裁判』はこうして演出されていく!
2015年8月26日~28日の3日間、パシフィコ横浜にて開催される、日本最大級のゲーム開発者向けカンファレンス“CEDEC 2015”。ここでは、2日目に開催されたセッション“逆転裁判のスクリプトシステムによる実演を交えた3Dアドベンチャーの作り方”をリポートしていく。

セッションの講師は、カプコン第四開発部 プログラマー(アプリ)の木本雅博氏。『逆転裁判』シリーズにおける、スクリプト(簡易的なプログラムのこと)の作成方法に焦点を当てた内容だ。
本題に入る前に、木本氏の経歴と、『逆転裁判』の概要が紹介された。読者諸兄はご存じだと思うが、『逆転裁判』シリーズは弁護士を題材としたアドベンチャーゲーム。プレイヤーは弁護士の立場となり、無実の罪で裁かれようとしている依頼人の無実を証明し、無罪を勝ち取ることが目的。タイトル通り、窮地からの“逆転”が熱い作品だ。『逆転検事』シリーズほか関連作品も多数登場しており、シリーズ最新作である『大逆転裁判 -成歩堂龍ノ介の冒險-』が7月に発売されたことは記憶に新しい。


というわけで、本題のスクリプト作成方法について。『逆転裁判』シリーズでは、まずシナリオライターがシナリオを作成し、それをスクリプトに変換する。続いて演出家がスクリプトに演出を加えていき、最後に実行用データへ変換する、というのが大まかな流れだ。
ちなみに“演出家”と表現されているが、カプコンには演出専門のスタッフがいるわけではなく、プランナー数名がこの作業を担当しているとのこと。本セッションでは、便宜的に演出家と表現されているため、本リポートもそれにならっていく。
では、流れの詳細を見ていこう。まずはシナリオについて。こちらはシナリオライターが、一定のルールに基づいて原稿を書いていく。この原稿をスクリプトへ変換し、そのまま実行することもできるが、キャラクターが棒立ちでしゃべっているだけなので、「ゲームとしておもしろくない」と木本氏。


そこで演出家が、文字の表示速度、待ち時間、鳴らすSE(効果音)やBGM、画面フラッシュやフィルターといった演出を指定し、ゲームらしくなっていくワケだ。「このような演出は『逆転裁判』らしさを出す重要なポイント。とても時間がかかります」と木本氏。


続いて、スクリプトはどのように書いているのか。これは、シリーズの途中から大きく変わったようだ。『逆転裁判4』まではシナリオデータに直接記述していたが、「この方法ではミスが多い」と語る木本氏。
関連作品である『逆転検事2』からは、Excelベースのファイルでスクリプトを書くようになった。コマンドは一覧から選択できるため、記述ミスは減少し、コマンド自体も覚える必要が減ったという。またコマンドは直接記述することも可能だが、もしミスがあった場合はセルが赤くなり、さらにエラーの行にすぐジャンプして修正できる。


スクリプトは、コマンドを設定すると引数(ひきすう)というデータを渡す必要がある。新しい方式の場合は、どのような引数を渡せばいいのかがわかりやすく表示されるため、コマンドの細部まで完璧に覚えてなくとも、すぐに確認できるように設計されている。
また、渡す引数によって、ほかの引数も自動的に変化し、対応する設計になっている。たとえばキャラクターとモーションを引数として渡す場合、キャラクターを変えると、選択できるモーションもそのキャラクターに応じたものに置き換わるという。
ローカライズ機能も搭載。日本語を見ながら英語を入力することができ、最終的に出力するときも、英語を選択するだけで英語版用のデータが出力されるという。


ちなみに、シナリオテキストからスクリプトファイルへの変換は、すべてを手作業で行うと作業量が膨大なため、ツールである程度は自動化しているとのことだ。ほぼ毎回決まっている演出、たとえば発言者に合わせてカメラが移動する、といったものは、自動的に設定されるような仕組みになっている。またメッセージの最初に、表示速度をリセットするコマンドを入れることで、直前の表示速度をリセットし忘れてそのまま引き継ぐ、というミスを減らすテクニックも解説された。
このようなスクリプトファイルだが、「『逆転裁判』の文字数は8~90万字になるため、1ファイルにまとめると、編集するのも修正するのも大変」と木本氏。そこで、実際はシーン別に500ファイルぐらいに分けているという。だが、ファイルを分割したことで発生する問題も存在する。
ひとつが、フラグや所持品の問題。ゲームを進めるとどんどんデータが増えていくため、すべてのスクリプトで設定するのは現実的ではないとのこと。この問題は、スクリプト開始前にフラグや所持品の設定を行う、プリセットスクリプトという手法で解決していると木本氏。


もうひとつの問題が、直前のシーンと演出が変わってしまう問題。カメラやBGM、キャラクターのモーションなどが引き継がれないと、スムーズに表示されなかったり、違和感が生じてしまう。
こちらは直前のシーンのスクリプトファイルを確認し、反映させることで対応できるが、毎回確認するのはかなりの手間となる。そこで、つぎのシーンに引き継ぐ“メタデータ”を作成し、渡すことで、問題を解決しているという。このメタデータは、チェック用としても役立つとのことだ。


より3Dらしい演出を求めて
『逆転裁判』シリーズは、『逆転裁判5』から3D表示となった。続く作品の『大逆転裁判 -成歩堂龍ノ介の冒險-』では、もっと3Dを活かした演出を目指したという。たとえばキャラクターが横から移動してくる平行移動、キャラクターがゆっくりと手前に近づいてくる演出などが紹介された。
カメラに関しても、視点、注視点の移動、画角の変更といったカメラの制御が、スクリプトで行えるように設計されている。
また視線制御機能も搭載されている。これはキャラクターの視線を変化させる機能で、同じモーションであっても印象を大きく変えら、演出の幅が広がるそうだ。「最初はいるのかな、と思っていましたが、実際に使ってみると意外とよかった」と木本氏。


最後に、実際にスクリプトを組んでいく実演が行われた。最初はシナリオだけの味気ないゲーム進行だったが、キャラクターが台詞にあったような動きを行うようになり、BGMも設定され、テキスト内容は同じながら、見違えるように楽しいゲームへと変わっていく様を体感できた。


「演出はとても大変な仕事。何度も何度も試行錯誤を繰り返し、やっと『逆転裁判』ができあがるんです」と木本氏は語り、大盛況のうちにセッションは幕を閉じた。
本セッションを通じて、アドベンチャーゲームにおける演出の重要性を、改めて実感させられた。演出に注目して『逆転裁判』シリーズを再びプレイし直してみれば、これまで見逃してきた開発者たちの情熱に気づけるかもしれない。