シナリオ開発に集中できる環境を「メイクリアン」
以下は、ソーサリアン Next企画で提案していたコンストラクションキット「メイクリアン」の主な機能である。
ストーリー開発に集中できる「シナリオ指向開発」環境
メイクリアンでは、シナリオの全体像を把握しながら開発を進められる「シナリオ指向開発」を提案する。シナリオ指向開発の開発フローは、以下のとおり。
- ストーリーボードでシナリオのサマリーを作成
- シナリオは「シーン」と「フラグ」から構成される
- フラグとは、ある出来事の了/未了、状態(数量)などを表す変数のこと*1。
- シーンとは、シナリオの特定時点での状態を表す。フラグが特定条件を満たすことで、シーンは遷移していく。
- シナリオエディターで、シーン単位のオブジェクトの会話/動作スクリプトを編集
- オブジェクトには、いわゆる人物だけでなく、扉/岩などの物体も含まれる(いわゆるプレイヤーが会話/調べる/動かすことで反応する対象はすべてオブジェクト)
- オブジェクトは、あらかじめキャラクターエディター(人物)で登録するか、マップエディター(扉/障害物など)でマップ上に配置しておくものとする
- マップエディターで、マップを生成&オブジェクトを紐付け
- 作成したマップに対して、オブジェクトを配置
- ただし、キャラクターの位置情報はシーン単位に決まる
以下、個別の機能について詳述する。
シーンとフラグでストーリー全体を設計する「ストーリーボード」
シナリオ開発のメイン機能となる画面。
- ストーリーボードでは、ツールボックスから「シーン」を配置し、シーン同士を「フラグ」で連結していくことで、シーンがどのように遷移していくかを組み立てる。
- シーン/フラグの情報(シーンの名前/概要、フラグの初期値/条件など)は、プロパティシートから編集可能。
- シーンを選択することで、画面右の[シーン情報]から、シーンに関連するオブジェクトを追加、また、追加済みのオブジェクト一覧を表示できる。
- オブジェクト一覧から目的のオブジェクトを選択することで、シナリオエディターを起動可能
会話埋め込み型スクリプトでシナリオを見渡しやすく「シナリオエディター」
シーン単位の、登場キャラクターの会話/動作情報を編集するためのツール。
- 会話情報ベースに、スクリプト言語で、キャラの動作、フラグ立て、音楽変更などの動作を埋め込み可能(会話中心としたのは、話の流れを追いやすくするため)
- ストーリーボードと異なり、基本的に文字列ベースでの編集を前提とする。
- 以下、シナリオスクリプトの例である(「剣と魔法の都ペンタウァ」より)。
### 「###」で始まる行はコメント ### ->>〜<<-で、そのシーンのあらすじを表す
- >>
オブジェクト指向開発対応の「マップエディター」
マップを編集し、登場キャラクターと紐づけるためのウィンドウ。
- オブジェクトレベルでマップを設計可能
- 単なるタイルセット(=グラフィック素材)ではなく、機能を持ったモノ
- 宝箱を空ける、アイテム使用で扉が開くなどのレベルは、最大限、スクリプトレス――プロパティ(パラメーター)だけで設定できるべき。
- 具体的なオブジェクトの例は以下
オブジェクト | 概要(設定可能なパラメーターなど) |
---|---|
扉 | 移動先/開閉条件(前提となるフラグ・アイテム)/画像セット |
障害物 | 通過可能条件(前提となるフラグ・アイテム)/画像セット |
宝箱 | 開く条件(前提となるフラグ・アイテム)/内容物(複数指定で調べるたびに複数のアイテムをGetできる宝箱も表現) |
ジャンプ台 | 反発率/画像セット |
壊れる床 | 壊れるまでの時間/画像セット |
ダメージ地帯 | ダメージ量/画像セット |
水 | 抵抗値/透明度で、澄んだ水中、動きが鈍くなる沼なども表現可 |
建物 | 外装から部屋の中まで一通りそろった大きなオブジェクト。家具/窓/壁紙などをカスタマイズ可能に |
解説 | 形を持たない特別なオブジェクト。メッセージが表示される地点/シーン単位のメッセージ情報などを擬似的に管理 |