パシフィコ横浜にて2015年8月26日から3日間に渡って開催された「CEDEC 2015」。本稿では27日に行われた、カプコンの木本雅博氏によるセッション「逆転裁判のスクリプトシステムによる実演を交えた3Dアドベンチャーの作り方」の内容をお届けする。

このセッションは「逆転裁判」シリーズを開発するためのスクリプトシステムやサポートツールなどについて実演を交えながら紹介するというもの。「逆転裁判」は弁護士となって証言や証拠の「ムジュン」を見つけ出し、依頼人の無実を証明していくおなじみの人気シリーズで、今年の7月に最新作となる「大逆転裁判 -成歩堂龍ノ介の冒險」が発売されている。

カプコン CS第二開発統括 第四開発部
第一開発室の木本雅博氏
ゲームの紹介動画ではネタバレ防止のため
成歩堂龍ノ介が検事役に。

本セッションではシナリオからスクリプトへの変換がどのように行われているのか、そもそもスクリプトというのはどのようにして記述されているのか、複数のスクリプトをどのように扱っているのかなどが、基本的な作業の流れに沿って紹介された。

「逆転裁判」シリーズでは、まずシナリオを作成してスクリプトに変換するのだが、この部分は基本的にプログラマーが担当。必要となりそうなシステムやフラグを読み取り、スクリプトに変換したあと、フロー制御やフラグ管理などを足したり、不足しているシステムを新たに実装したりするのだという。スクリプトが出来上がったら演出担当のスタッフがさまざまな演出を追加。この演出付きスクリプトを実行用データにして、実際のゲームへという流れになっているそうだ。

シナリオの作成は「■の後には誰が発言しているのか入れる」、「タブで開始される行は画面に表示されるメッセージを記入」などの一定のルールに従っていれば、シナリオライターが自由に書いていいそうだ。このシナリオをスクリプトに変換すれば、ゲームとして実行可能な形になるのだが、この段階ではキャラクターの動きや効果音などは一切なく、メッセージ速度も一定なので、まったくの無味乾燥でプレイしてもまったく面白くはない。

そこで必要になるのが演出の追加だ。文字の表示速度や待ち時間、モーションの切り替えのタイミング、カメラの位置や視点などを細かく指定。こうした演出をスクリプトに追加することにより、ゲームの雰囲気は一変することとなる。ここが「逆転裁判」らしさを出すための重要な作業で「かなり時間がかかる部分です」と木本氏は語った。

スクリプト変換の具体的な方法だが、「逆転裁判4」(2007年)ではシナリオにコマンドなどを直接記入するスタイルを取っていたが、記述ミスをしやすく、ミスしている箇所も分かりにくいなど、いろいろな問題があったため、「逆転検事2」(2011年)からExcelベースの記述環境を導入することになったそうだ。

このスタイルなら各種コマンドのスペルなどを覚える必要がほとんどなく、記述などが間違っていたらエラーが表示されるため、ミスもすぐに修正することができる。引数の説明を追記可能で、どんなコマンドだったか忘れることもない。さらに、ローカライズ機能も搭載しており、出力先を変えるだけで英語版用のデータを出力できる。

左が「逆転裁判4」時代のスクリプト、右は「逆転検事2」以降のExcelベースのスクリプトだ。

ただ、スクリプト変換をすべて手作業で行うと作業量が膨大になるため、ある程度最初から決まっている処理や演出は、スクリプト変換ツールを使って一括で組み込み形を取っているそうだ。例えば「メッセージ開始時は表示速度を基本値にする」、「文中の“!”や“?”などの後には間を入れる」などの基本形やルール化できる部分を自動的に設定されるようにしておけば、ミスの数を減らして作業の効率化をはかることができる。

木元氏によると、こうしたスクリプトファイルはベタに書き込んでいくと文字数は80~90万にもなるという。これだけ膨大なものをひとつのファイルにまとめると検索や編集などが難しくなるため、シーン別にだいたい500ファイルくらいに分割するようにしているという。

ここで問題になるのが、フラグや所持品などゲームの進行によって増えていく要素をどのように設定するかだ。これらの設定を分割したすべてのファイルで行うのは、やはり現実的ではないため、「プリセットスクリプト」というフラグや所持品などを設定する命令をまとめたファイルを利用しているそうだ。これを利用すれば、指定したスクリプトに到達した時点で必ず持っているはずの所持品や立っているフラグなどが自動的に設定されるようになるので、各スクリプトの頭にいちいち書き込むという手間を省くことができる。

もうひとつの問題は特定のシーンから始めた場合と直前のシーンから続けた場合で演出が異なっているとき、どう対応するか。キャラクターの有無、モーションやカメラの位置の違いなど、演出を付ける際の前提条件が変わってしまう場合、前のシーンから続けるとキャラクターが変な動きをしたりして、おかしなことになってしまう。

この問題を解決するため、スクリプトの最後に次のスクリプトに引き継ぐ情報を記述しておくという方法が取られているそうで、これらの引き継ぎデータのことをメタデータという。つまり、スクリプトの開始時に直前のメタデータを読み込むことで、演出状態を再現できるというわけだ。また、スクリプトを継続する場合にも、これらのメタデータがデータチェックの役割を果たしてくれるとのことだ。

3D表現における演出の進化にも言及された。「逆転裁判」は前作の「5」で、それまでの2D表示から3D表示に転換。最新作となる「大逆転裁判」では、さらなる3Dを活かした演出の導入を目指して試行錯誤を繰り返したと木本氏は振り返る。

そうして取りいれられた演出が、キャラクターの平行移動、アップ、回転などで、会場では実際に「大逆転裁判」の登場キャラクターであるシャーロック・ホームズを使って、これらの演出が実演された。カメラの制御も新たな演出のひとつで、視点や注視点の移動・回転、画角の変更などを行うことができる。もちろん、これらの演出もすべてスクリプトで制御できるように設計されているとのことだ。

キャラクターの視線を制御する機能も導入されている。これはキャラクターの視線の向きを変えるというもので、これを利用すれば「成歩堂のことをじっと見つめながら話している」、「実は成歩堂のほうを見ていない」といった演出を付けることができる。実際、同じモーションでも右を見るのと左を見るのでは印象が大きく異なっていて、木本氏も「演出の幅が広がったので意外と良かった」と語っていた。

最後に、スクリプト作成の実演が行われた。まず、「大逆転裁判」の登場キャラクターである亜双義と寿沙都が会話をするという簡単なシナリオを変換ツールでスクリプトに変換。出力したものが仮想3DS上で実行された。さらに、モーションやサウンドを付けたり、キャラクターの笑うタイミングを変えたりと、さまざまな演出を追加。ふたりが会話するだけの簡単なものから、「逆転裁判」らしいシーンになっていく過程を見ることができた。

実演終了後、木本氏は「このように演出家は何回も同じシーンを見ながら、何度も何度も演出を付け直しては“あーじゃないこーじゃない”と試行錯誤して、やっと「逆転裁判」ができあがるんです」と、演出という仕事いかに大変かを強調していたが、その一端を今回のセッションでうかがい知ることができた。こうした演出への強いこだわりが「逆転裁判」を人気シリーズたらしめているのだろう。

セッション終了後に質疑応答も行われた。「カプコンにおける演出家の立ち位置を教えてください」という質問に、木本氏は「カプコンには演出家という専門職はなく、すべてプランナーが行っています」と回答。ちなみに、「大逆転裁判」のプランナーは3人で、外部スタッフと合わせて5人ほどで演出を付けていたそうだ。

「モーションが増えたり減ったりしたとき、どのように対応する設計になっているのか。そうした変更をチーム内でどのように共有しているのか」という質問も出された。木本氏は「モーションの尺というか、動く時間をあらかじめ決めてあります。それが変わらないのであれば、デザイナー側でデータをアップデートするだけで、自動的にシナリオのほうに反映されるので、さほど問題はありません」と回答。モーションの長さが変わる場合はチーム内に周知する必要があるが、演出家の人数が限られているので、変更内容を直接話して共有しているそうだ。また、スクリプトの中から、そのモーションの場所を検索するツールもあるので、「それを利用して演出が大きく変わっていないか、チェックしています」と答えていた。

※画面は開発中のものです。

  • セガ特集ページ
  • BUSTAFELLOWS特設サイト
  • セール情報
  • プリコネR特集

RANKING人気記事ランキング

REGULAR定期配信

  • ゲーム発売日・配信日カレンダー
8月5日(水)
Spitlings
8月6日(木)
80’s OVERDRIVE
Crysis Remastered
Drink More Glurp
LA-MULANA 1
LA-MULANA 1&2
Metaloid: Origin
くっころでいず
ちびっこヒーローズ
ひつじのショーン ホーム・シープ・ホーム:UFOフィーバー!パーティー版
コープスパーティー BLOOD DRIVE
ザ・コーマ2:ヴィシャスシスターズ
ザ・コーマ:リカット
ザ・コーマ:ダブルカット
ドラゴンクエストモンスターズ2 イルとルカの不思議な鍵SP
ピクセル ラインDX バンドル
ブイブイブイテューヌ
ブイブイブイテューヌ エモーショナルエディション
ブロウルハラ
モンスターボーイ 呪われた王国
名門ポケット学院2
8月7日(金)
Horizon Zero Dawn Complete Edition
ブレイジングビークス
脱出!ぴえん病棟
8月8日(土)
Dragon Marked For Death オールインワンパック
8月11日(火)
アンセスターズレガシー
8月12日(水)
アヴァベル ~女神に召喚されたら英雄だった件~
ハイパースケープ
ロハンM
8月13日(木)
妖怪学園Y ~ワイワイ学園生活~
妖怪学園Y ~ワイワイ学園生活~ DX入学セット
8月14日(金)
EA SPORTS UFC 4
8月18日(火)
Mortal Shell
8月20日(木)
Chinese Parents
CROSS†CHANNEL ~For all people~
Cuisine Royale
Journey to the Savage Planet
RPGツクールMZ
RPGツクールMZ バンドルS版
RPGツクールMZ バンドル版
アウトバディーズDX
カニノケンカ -Fight Crab-
キューピット・パラサイト
キューピット・パラサイト 限定版
スーパーダンガンロンパ2 さよなら絶望学園 Anniversary Edition
ゾンビサバイバル コロニービルダー They Are Billions
ブーメランヒュー
レジェンド・オブ・イサーナル
ロック・オブ・エイジス:メイク&ブレイク
吾妻邸くわいだん
8月21日(金)
OGRE TALE -鬼譚-