3章 文書モデル

1節 参考にしたモデル

SORAを設計するにあたって、次のモデルを参考にした。

1.脚本モデル

脚本とは、演劇作品やテレビ・ラジオ番組における演技、演出、構成を指定したものである。多くの場合、演技や構成は時間順に記述されており、また幕、場(シーン)、カットといった文書構造を持っている。

一般的な脚本は次のような構造を持っている。

作品の構成
作品全体の大きな展開。
場(シーン)
幕のうち、一地点で進行するシナリオ。脚本の基本単位となる。
カット
場を構成するいくつかの局面。番組収録の単位となる。
作品の演出
状況説明
ある構成の背景情報。
台詞
登場人物やナレーターの話す言葉。
プロンプト
登場人物とは別に話される作品内での注釈。テレビ番組ではテロップに相当する。
演技指定
演技や舞台装置の操作を指定したもの。いわゆるト書き。

脚本は先頭のページから読み進められ、記述された順にシナリオが進行してゆく。その際、複数の場面が同一地点で時間を別にして進行されることがある。この場合、同じ地点でも過去に記述された場面は切り捨てられ、新しい方の場面の演出が適用される。

SORAでは脚本の構造を取り入れ、メッセージや演出を意味する要素を時間順に記述し、構成を意味する要素でそれらを構造化する。実行エンジンによる再生が進むにつれて、シナリオは自動的に進行してゆく。同一地点の場面が複数ある場合、記述順で後方にある場面が有効となる。

2.イベントキャラクタモデル

プレイヤーキャラクタとマップ上に存在するキャラクタが接触すると、接触されたキャラクタの持つフラグにより分岐が行われ、分岐先に関連づけられた演出が実行される。この接触されたキャラクタをイベントキャラクタと言い、単にイベントと言うときもある。SORAでもこのモデルに倣い、イベントキャラクタを明示的に指定する。

3.ハイパーリンク

構造化文書の特色として、ある文書から別の文書への参照を指定するハイパーリンクを持つことが挙げられる。ハイパーリンクにより、文書間に関連を持たせることが可能になっただけでなく、長大な電子文書を複数の文書に分割して管理することが容易になった。 SORAではシナリオ間の関連づけ、シナリオの結合をハイパーリンクを用いて行う。

2節 SORAで設計したモデル

以上のモデルを参考にして、SORAでは次のような言語モデルを設計した。

演出要素は文書の先頭から順番に解析され、実行される。構成を意味する要素は演出要素のコンテナとして機能する。

また、イベントキャラクタが必要となる状況はプレイヤーキャラクタの操作が可能な時、つまりシナリオの実行が一時的に終了したときである。従って、イベントキャラクタの記述とシナリオの記述は時系列で直列に記述することができる。このため、同一のイベントキャラクタを複数記述した時も同一地点で時間の違う複数場面の記述と同様に扱える。すなわち、文書の後方に記述したものが優先される。

SORAでの記述例を示す。

 	<scenario>
 	<scene where="村の中心" id="説明">
 		<desc>昼、村の中心にて。</desc>
 		<prompt>SORAの説明</prompt>
 	</scene>
 	<walk>
 		<event name="村人">
 			<a href="#会話"/>
 		</event>
 		<event name="看板">
 			<line>村へようこそ。<line>
 		</event>
 	<walk>
 	<scene where="村の中心" id="会話">
 		<desc>村人は面倒くさそうに話す。<desc>
 		<cut>
 			<line actor="男">一回しか言わねえからな。<line>
 			<dir>間を置く。<dir>
 		</cut>
 		<cut>
 			<line actor="男">ま、順番どおり演じる、ってことだ。<line>
 			<dir>プレイヤーから遠ざかる。<dir>
 		</cut>
 	</scene>
 	<walk>
 		<event name="村人">
 			<line actor="男">説明は終わりだ。<line>
 		</event>
 	</walk>
 </scenario>

イベントキャラクタのフラグ操作を一切行っていないことに注意。シナリオが直線的である限り、フラグ管理は必要ない。

generated on Thu Jun 17 15:41:51 JST 2004
Copyright ? 2004 Static All rights reserved.
制作 せはやみ