セリフ記述を用いたインタラクティブストーリー作成システム 朝香拓人 星野准一 近年, ユーザからの働きかけによってストーリー内容が能動的に変化していく, インタラクティブストーリーの技術がコンピュータゲーム等の分野で広く使われている. しかし, インタラクティブストーリーの作成は専門知識が必要になるなど, 敷居が高いものであった. 本研究では, 専門知識を持たない人でも, ストーリー内容を表すセリフによる簡潔な表現によって, 意図した内容のインタラクティブストーリーを容易に構成できるシステムを提案する. The interactive story creation system using words description TAKUTO ASAKA JUNNICHI HOSHINO In recent years, Interactive story technique changing contents actively are widely used in the field of computer game. However, it's hard to call on interactive story creation because it requires expertism. In this study, even people without specialized knowledge, by a compact representation by lines representing the contents of the story, we propose a system that can easily configure the interactive story of what you intended. 1. はじめに インタラクティブストーリーとは, 仮想世界で展開するストーリーの中のオブジェクトやキャラクタに能動的に働きかける事により, 進行するストーリーの展開や結末がリアルタイムに変化していくコンテンツである. インタラクティブストーリーはコンピュータゲームの分野で特に注目されている. ノベルゲームやアドベンチャーゲームのように, 選択肢などを用いて展開が変化していくコンテンツが想像されがちだが, アクションゲームや FPS などのリアルタイム性の高いコンテンツでは, 臨場感のあるストーリー体験のために欠かせない技術となっている. これらのゲームにおいて, ユーザは CG で描かれた仮想世界の登場人物の 1 人として仮想世界に参加し, 他の登場人物である NPC (Non Player Character) と関わることでストーリーを体験する. 本システムでは, ストーリーを体験するユーザは仮想世界の登場人物ではなく, 外部から仮想世界を観察し, 干渉するという立場をとっており, 多くのゲームコンテンツとは異なるが, インタラクティブなストーリーの内容を作り手が作り出していくという点においては同様である. 一方, 近年, 動画共有サービスやイラスト SNS など, 一般のユーザが創作したコンテンツを他のユーザが楽しむ UGC(User Generated Content) サービスの需要が高まってきている. このようなサービスの扱うコンテンツは自作のムービーやイラスト, 小説など多岐にわたる.UGC サービスにおいてインタラクティブストーリーを扱い, 新しい創作活動の一つとして周知することができれば, 限定された用途だけでなく, 様々な分野への応用が期待できる. しかし, インタラクティブストーリーの作成には, 独自のスクリプト言語などの専門的な知識や, アニメーションの作成などが必要となり, 一般のユーザとっては敷居が高いものである. スクリプト言語を用いてインタラクティブストーリーを記述する手法では, ストーリー遷移に用いるパスや遷移条件を全て手動で作成する必要があり, 本来ストーリー内容に関係のないタグや数値, フラグ情報等の入力が必要となる. また, 多くのデータや AI を用いてシミュレーションを行い, 偶発的なストーリーを生成する手法があるが, 基本となる物語が定まっていて, それに応じてキャラクタの行動が決まっているというトップダウン的な構成方法では無く, キャラクタが能動的に行動を取ることでストーリーが生成されるというボトムアップ的な処理であるため, 物語的な雰囲気を感じにくいという問題がある. そこで本研究では, 物語の中で登場人物たちが発するセリフを記述してストーリーを作成することで, 専門知識を持たない人でも簡潔な表現によって意図した内容のインタラクティブストーリーを容易に構成できるシステムを提案する. 1 c2012 Information Processing Society of Japan
2. 従来研究 インタラクティブストーリーの研究は, 1970 年代から研究が進められてきた. 初期の研究には, 仮想世界での事実とキャラクタの振る舞いのルールからストーリーを生成する Tale-Spin [1] や, HTN (Hierarchical Task Networks) と呼ばれる階層的なタスクのツリーを用いたストーリー展開の記述によるキャラクタの行動制御 [2], 認知モデリング言語を使った [3] などがある.[4] では, 多数のキャラクタがそれぞれエピソードツリーと呼ばれるイベント進行の構造を持ち, キャラクタ同士で相互作用を行いながらそれぞれのキャラクタが別々のエピソードツリーを実行していくことで, キャラクタ達が能動的に行動を起こす.[5] は, 判断木によるストーリー展開の記述によるキャラクタの行動制御の研究である. これらの研究では, 自動生成されたキャラクタの行動によって, 全体のストーリーが表現される.Façade [6] では, 自然言語によるリアルタイムな対話により, 会話劇で表現されたインタラクティブなドラマが展開する. インタラクティブストーリーの作成に関する研究では, リアルタイムでユーザやお互いに反応するインタラクティブな行動パターンを持つアクターをスクリプトで制作することができる Improv [7] や, インタラクティブ映画におけるスクリプト記述の研究 [8] があるが, これらの研究は専門的な知識を持つユーザが扱うことを意識している. 本研究では, 一般的なユーザが簡単に扱えるものを目指す. 3. システムの概要 本章では, セリフ記述を用いたインタラクティブストーリーの作成, 鑑賞および, コンテンツの共有等の機能を持ったインタラクティブストーリー作成支援システム isca の全体の概要について解説する. isca のシステムの全体の概要は図 1 のようになる. インタラクティブストーリーの作成は 3 つのセクションに分かれており, ストーリーの登場人物となるキャラクタの作成機能, 舞台となるフィールドの作成機能と, ストーリー作成機能がある. 機能を分割することで, あるストーリーに登場したキャラクタを別のストーリーに登場させたり, 同じ舞台で複数のストーリーを作成するといったことが可能である. 作成したコンテンツは, 専用の SNS に投稿することができる.SNS への参加形態は, 登場人物や舞台が設定されているインタラクティブストーリーの投稿, 登場人物となるキャラクタ単体での投稿, ストーリーの舞台となるフィールドの投稿がある. これもコンテンツの作成と同様, それぞれのコンテンツを独立した形で投稿することで, 投稿されたキャラクタや舞台を組み合わせてストーリーを作成できる. 投稿されたコンテンツは,web や専用のアプリケーションから自由に閲覧することが 図 1: システムの概要 でき, 自分や他のユーザの作品を鑑賞することができる. また, 鑑賞した作品に対してコメントなどのフィードバックを行うことができる. キャラクタやフィールドは, ダウンロードして自分のインタラクティブストーリーに使用することができ, さらに, インタラクティブストーリーをダウンロードし, 編集を加えたコンテンツを投稿することも可能である. ストーリーを作成するユーザは, 物語世界に登場するキャラクタや物語の舞台, ストーリーの内容の作成をシステム上の各種エディタで行うことができる. 特徴となるのが, ストーリーの記述方法である. 本システムではストーリーを構成する単位を セリフ と アクション および イベントを指定する対象となるキャラクタ名からなるイベントノード ( 図 3) で表現し, イベントノードの連結によってストーリーを表現する. アクションは, キャラクタがどのような行動をとりながらセリフを言ったかを表現するために用いる. 例えば, 喜ぶ や 怒る, 驚く などがある. 3.1 インタラクティブストーリー本システムにおけるインタラクティブストーリーは, 起こりうるストーリー展開がストーリーの作り手によって用意されており, 鑑賞するユーザが行ったインタラクションによって, 先のストーリーの展開が変化していくコンテンツである.3D モデル 2 c2012 Information Processing Society of Japan
図 4: キャラクタエディタ 図 5: フィールドエディタ 図 2: 再生されるシーンの例 図 2 の右側のボタンが, インタラクションを行う際に使用するボタンである. ハンド, 機嫌 UP, 機嫌 DOWN のいずれかのボタンをクリックした後, キャラクタをクリックすることでインタラクションを行うことができる. ハンドではキャラクタやオブジェクトを移動させることができ, 機嫌 UP および機嫌 DOWN を使用してキャラクタの感情パラメータを変化させる. 4. ユーザインターフェース 図 3: イベントノード によって表現されたキャラクタのアニメーションやセリフなどによってストーリー展開を表現する ( 図 2). ストーリーを体験するユーザは, アニメーションによってリアルタイムに進行するストーリーを見ながらキャラクタやその他のオブジェクトにインタラクションを行うことができる. 働きかけに応じたリアクションが発生し, また, 進行するストーリーの内容が変化していく. インタラクティブストーリーの作成作業は, システムが提供する各種エディタを用いて行う. 図 4 はキャラクタエディタ, 図 5 はフィールドエディタである. これらのエディタでは, 用意された 3D の素材を選択 配置することで, 手軽にコンテンツを作成することができる. インタラクティブストーリーを作成するためのストーリーエディタは, 図 6 のように, イベントノードのリストの編集パネルおよびアクションを指定するためのアクションパネルからなる. イベントノードを縦に並べていくことで 上から順にイベントが再生されるストーリーを作成することができる. イベントノードを縦のリストの横に配置することで, 左側リストの中の一つ上のノードからストーリー分岐が発生する. 横方向に複数のノードを並べることで, 複数の分岐ルートを作成することが可能である. イベントに指定するアクションは, アクションパネルに配置されたボタンを押すことで選択することができる. 3 c2012 Information Processing Society of Japan
5. イベント制御とインタラクション 多くのインタラクティブストーリーでは, 短いエピソードを連結して再生することでストーリーを表現し, 再生するエピソードを複数の候補からなんらかの条件で選択することで, 物語の分岐や内容の変化を実現している. 一般のコンピュータゲームでは, 物語の分岐のために, ゲーム中のイベントでの選択肢やプレイ内容に基づいてフラグを管理するものが多い. インタラクティブストーリーの従来研究においては, 仮想空間上の事実と行動のルールを照らし合わせて展開を決定する手法 [1] や, キャラクタが視野などの知覚情報を持ち, ユーザのインタラクションをトリガーとして対応したエピソードを選択する手法 [4], ユーザが入力した自然言語の文章に対応したエピソードを選択する手法 [6] などがある. これらの手法では, 分岐した先の物語の内容に適した遷移条件をあらかじめ設定しておくことで, 意図したインタラクティブストーリーを作成することができる. しかし, 複数のコンテンツを作成することを考慮した場合, 遷移条件として用いるのに適している情報はコンテンツごとに変化する. また,UGC での利用を考慮すると, 他者が作成した既存のコンテンツを編集するという場面が考えられるが, この際, 内部のイベントの構造や遷移条件について細かく知る必要がある. 本研究では, ユーザが記述したセリフの内容からイベントの遷移条件を決定することで, これらの問題を解決している. セリフの内容と, 感情に関連する語句を集めた感情関係語句データベースを比較して感情パラメータを決定し, これを遷移条件として利用することで, コンテンツごとに異なるフラグや制御構造を必要とせず, 容易にイベントの追加や編集を行うことができる. 感情パラメータには Izard が提唱した, 人間の表情形成による感情分類 [9] から, 喜び 哀しみ 怒り 嫌悪 恐怖 罪 恥 興味 驚き の 9 種類のパラメータを用意する. この感情モデルを用いることで, イベント制御だけでなく, キャラクタの表情の変化にも用いることができる. ストーリーの再生時, これらのパラメータはイベントの進行およびユーザからの働きかけによって変化していく. ストーリーの再生を開始する前に, ユーザが作成した全イベントリストを走査して, 記述されたセリフおよびアクションから, ノードパラメータと呼ばれるデフォルト状態でのイベントの感情パラメータを決定し, これを発生条件とする. 感情パラメータは, ストーリーに登場するそれぞれのキャラクタが持っており, ノードパラメータはイベントノードごとに, それぞれのキャラクタに対応するパラメータを一つずつ持つ. ノードパラメータの決定に用いる感情関係語句データベースには, セリフの中にある単語が記述されていた場合, 前述の 9 種類の感情パラメータがどれだけ増減するかというスコアが格納されている. 格納されている語句は,WordNet-Affect[10] から抽出し た感情に関連した語句および, ストーリーに使われやすいと思われる語句を中心に集めた独自の単語群からなる. インタラクションはキャラクタの機嫌を良くするもの, 悪くするもの, キャラクタをつかんで移動させるもの およびオブジェクトをつかんでキャラクタに渡す ぶつける等のインタラクションを用意した. これらの操作を行うことで再生時のキャラクタの感情パラメータが変化し, ストーリーの内容が分岐する. 5.1 キャラクタの振る舞いとイベント制御本システムでは, キャラクタはユーザから与えられたイベントに記述された行動をとるほか, イベントが与えられていない間は自ら歩き回ったり, 近くにいる別のキャラク 図 6: ストーリーエディタ 4 c2012 Information Processing Society of Japan
タがセリフを言ったり行動を起こしたとき, そのキャラクタに注目するなどの行動をとる. また, ユーザのインタラクションに対してリアクションを返す. これらのキャラクタの振る舞いの制御は, イベントの制御と平行して行う必要がある. そのため, 本システムでは, キャラクタのリアクションを制御するモジュール, イベント制御を行うモジュール, 及びイベントが割り当てられていないキャラクタの普段の行動をスケジューリングするモジュールを各層に分割し, それぞれが独立した木構造を持ち状態遷移を行うことで, キャラクタの振る舞いを決定する. 各層はリアクション制御層, イベント制御層, スケジュール制御層の順に優先度が高く設定されており, ユーザが働きかけを行うとリアクション層に処理が移る. 5.2 リアクション制御ユーザの働きかけに対するリアクションの制御を行うリアクション層では, キャラクタの状態とユーザが行ったインタラクションの種類から, キャラクタがとるリアクションを選択 再生する処理を行う. キャラクタそれぞれが持つ感情パラメータや, 現在イベントが割り当てられているか否か等の状態から, 実行するリアクションが選択される. ハンドボタンを使ったインタラクションが行われた場合は, ユーザがドラッグした位置までキャラクタが歩いていくというリアクションをおこなう. 機嫌の操作のインタラクションが行われた場合は, 対応したエフェクトとアニメーションを実行し, 感情パラメータを制御する. 5.3 イベント制御ユーザが作成したイベントのリストを木構造として持つ.. 木構造のノードは前述のイベントノードである. それぞれのイベントノードは, ユーザによって指定されたセリフ, アクション, キャラクタ名の他に, イベント遷移のためのローカルな時間変数とイベント選択に用いる感情パラメータを持つ. キャラクタがそれぞれ木構造を持つのではなく, 一つの木構造を実行し, それぞれのキャラクタに対してイベントの実行を指示する. 5.4 スケジュール制御イベントが指定されておらず なおかつユーザからのインタラクションに対するリアクションを行っていないキャラクタは スケジュール制御モジュールによって行動が決定される. それぞれのキャラクタが独立して制御され, キャラクタの状態に応じて移動や, アイドルモーションの再生などの行動を選択する. また 近くにしゃべっているキャラクタがいる場合等, キャラクタの視線や身体の向きの制御もスケジュール制御モジュールで行う. 6. 評価実験 6.1 4 コマ漫画を用いた予備実験本システムが採用している, セリフを記述していく方法を用いて作成できるストーリーの多様性を確認するため,4 コマ漫画を用いた予備実験を行った. 同一の絵に対してセリフを記述したとき, 完成した 4 コマ漫画の物語にどの程度のバリエーションがあるかを調査した. 実験は以下のように行った. セリフが記入されていない 4 コマ漫画を用意する ( 図 7). 同一の 4 コマ漫画を複数の被験者に渡し, セリフを記入してもらう. 16 人の被験者を対象に実験を行い,12 個の作品が集まった. 集まった 12 作品は表 1 に示すように, 似たものはあるものの, まったく同じ内容だったものは無く, 絵が同じものであってもセリフの内容によって違ったストーリーを表現することができることが確認できた. 6.2 イベント制御システムの評価本システムのストーリー制御手法とインタラクティブストーリー作成支援システムの評価を行うために, 大学生 5 名を対象に評価実験を行った. 実験の手順を以下に示す. 1. インタラクティブストーリーの鑑賞作成されたコンテンツに対して自由にインタラクションを行いながら鑑賞を行ってもらう. 2. インタラクティブストーリーの作成ストーリーエディタを用いてコンテンツの作成を行ってもらう. 手順 1 で用いたコンテンツに対して自由に編集を行ってもらう. また, 作成したコンテンツを鑑賞してもらう. 実験終了後, アンケート調査を行った ( 表 2). ストーリー内容の変化が確認できたかという設問では良い評価を得られ, 本システムのイベント制御手法の有効性を確認できた. コンテンツの編集のしやすさについては, おおむね良い評価を得られたが, イベント数が増加するとエディタ上での操作がしにくくなるという結果が得られた. インタラクティブ性についての質問では, キャラクタのモーションのパターンが少ないといった意見が得られた. 現時点では, この評価によって得られた意見にあるようにモーションのパターンはあまり多くないが,4 コマ漫画を使って得られた結果から, 動きのパターンが限られていても様々なストーリーを表現できるのではないかと思われる. 5 c2012 Information Processing Society of Japan
表 1:4 コマ漫画を用いた予備実験の結果 作品番号内容 1 サンタからプレゼントをもらったと少女がよろこぶが, サンタはいないとクマがばかにして, 締め付けられる. 2 プレゼントからしゃべるクマがでてくる. くまが世界征服をめざしていると話し 少女がとりおさえる. 3 プレゼントの中身が空であり 新鮮な空気がプレゼントだとクマが言う. 怒った少女に締め付けられたクマが空気を欲する. 4 プレゼント交換になにを入れるか迷う少女. プレゼント選びなら任せろとクマが登場するが, 少女はクマを箱に入れようとする. 5 サンタからのプレゼントを少女が開けようとすると, クマがプレゼントを置いたのは少女の父であるとばらす. 6 プレゼントが過剰梱包だと少女が言うと, クマが 木っ端みじんにしてやる と言いだす. 7 少女がプレゼントを用意するが, プレゼントが自分でないことにクマが怒り, 喧嘩になる. 8 少女が彼にプレゼントを渡そうとするが, 彼はクマに食べられている. 少女が怒って締め付けると中から彼の声がする. 9 少女がクマにプレゼントの鮭をあげようとするが, 毎日鮭を食べさせられて飽きていたクマが文句を言う. 10 プレゼントの中身が気になる少女に, 中身はお菓子の詰め合わせであるとクマが明かす. すでにクマが食べてしまったと判明し, 少女がこらしめる. 11 お歳暮に海老をもらった少女. クマが全部たべてしまうが, 海老は国宝の海老だったとわかり, 少女が吐き出させようとする. 12 少女がプレゼントを渡そうしていた相手と現在付き合っているのは自分だとクマが言う. 少女はクマが女の子だったことに驚きつつ, 締め付ける. 表 2: イベント制御システムの評価結果 評価項目 1( 悪 ) 2 3 4 5( 良 ) ストーリー内容の変化 0 人 0 人 0 人 2 人 3 人 コンテンツの編集のしやすさ 0 人 2 人 1 人 1 人 1 人 インタラクティブ性 0 人 1 人 1 人 2 人 1 人 7. まとめ UGC での展開を目指し, インタラクティブストーリーの作成を容易にするために, セリフの記述によるインタラクティブストーリーの作成を実現するイベント制御, およびインターフェースを開発し, 評価を行った. 評価実験の結果, インタラクティブストーリーを作成する最低条件である内容の変化等は充分に実現できているが, エディタの使いやすさやモーションのパターン数等に関して課題が残る結果となった. 今後, これらの問題を改善していく. 参考文献 1) Meehan, J. The metanovel: Writing stories by computer. Ph.D. Dissertation. Yale University. 1976. 2) Funge, J., Tu, X. and Terzopoulos, D. 1999. Cognitive modeling: knowledge, reasoning and planning for intelligent characters. In Proceedings of SIGGRAPH 99, 29-38. 3) Cavazza, M., Charles, F. and Mead, S.J. AI-based Animation for Interactive Storytelling. Proceedings of Computer Animation, IEEE Computer Society Press, Seoul, Korea, pp. 113-120, 2001. 図 7:4 コマ漫画を用いた予備実験 6 c2012 Information Processing Society of Japan
4) 中野敦, 河村仁, 三浦枝里子, 星野准一 :" Spilant World: エピソードツリーによるインタラクティブなストーリー創発型ゲーム ", 芸術科学会論文誌 Vol. 6 No. 3 pp. 145-153 5) M. Cavazza, F. Charles, S. J. Mead: Agents' Interaction in Virtual Storytelling, IVA 2001, pp. 156-170, 2001. 6) Mateas, M., and Stern, A. 2003. Façade: An experiment in building a fully-realized interactive drama. GameDevelopers Conference, Game Design track. 7) Perlin, K. and Goldberg, A. 1996. Improv: A System for Scripting Interactive Actors in Virtual Worlds. In Proceedings of SIGGRAPH 96, 205-216. 8) 江谷典子, 土佐尚子, 中津良平 " インタラクティブなストーリー生成のためのスクリプト制御 ",A-16-10 1997. 23 9) Izard, C. E.: The Face of Emotion, NewYork:Appleton-Century-Crofts.(1971) 10) Strapparava, C., Valitutti, A.: an AffectiveExtension of WordNet, Proceedings of LREC 04,pp.1083-1086.(2004) 謝辞本研究を進めるにあたってご協力いただいた研究室メンバーの皆さま, 特に, システム実装について様々なアドバイスをくださった森崇志さんに感謝の意を表します. 7 c2012 Information Processing Society of Japan