XML-RPG(仮)のシナリオを記述するScenarioCoreでは、劇作品などの台本で用いられる「幕・場・カット」の構造を用います。 これは古くから使われている構造であり、シナリオの著者や読者にとってなじみ深いものだと思います。
RPGでは、一幕は1つの事件、一場は1つの地点でのストーリー展開、一カットは一場内での区切りを表す、と考えられます。 また、ストーリーの構成単位としてはやはり「台詞・ト書き・状況説明」を用います。 ト書きは主にエンジンに対する説明、状況説明はCoreとEventsとで役割が異なりますが、コメントや初期条件の設定に用います。
名前空間は http://static.s59.xrea.com/2002/RPg-Scenario としています。
| 要素 | 役割 |
|---|---|
| scenario | シナリオ文書の宣言 |
| act | 幕の宣言 |
| scene | 場の宣言、シナリオの構成単位 |
| cut | カットの宣言 |
| desc | 状況説明(DESCription) |
| line | 台詞 |
| dir | ト書き(stage DIRection) |
| br | 台詞の区切り(BReak) |
| span | 抑揚などの細かい指定 |
| a | 別のシナリオ文書へのリンク |
(階層構造)
- scenario
- desc
- act
- desc
- scene
- desc
- cut
- desc
- dir
- a
- line
- br
- span
| 属性 | 役割 |
|---|---|
| where | ストーリーの地点 |
| name | 場面の名称 |
| id | シーンナンバーなどの一意的識別子 |
| 属性 | 役割 |
|---|---|
| name | 場面の名称 |
| id | 一意的識別子 |
シナリオの内容はscene要素の子孫要素として扱われる。
| 属性 | 役割 |
|---|---|
| role | 発言者 |
| style | CSS2プロパティ |
| 属性 | 役割 |
|---|---|
| style | CSS2プロパティ |
とくに時間のずれなどは、SMILで表現した方が良いのかもしれません。