【シナリオ開発】ストーリー執筆に集中できる「シナリオ指向開発」
■Point■
ストーリーボードからシナリオの全体像を把握しながら、小説を書く要領でシナリオ開発に集中できる環境を!デバッグモードで全体シナリオ/マップの確認も容易に。
■Note■ メイクリアン
Nextチームでは、ソーサリアンのシナリオ開発環境を通称<メイクリアン>(Makerian)と呼んでいることから、本稿でもそのように呼ぶものとする(http://www.web-deli.com/sorcerian/next/product.aspx)。
メイクリアンを構成する主要なツールと、その関係は、以下の通り(マップ関連は「マップ編」を参照)。
<シーン>と<フラグ>でストーリー全体を設計する「ストーリーボード」
全体ストーリーから個々のシーン単位のシナリオ(会話データ)を紐づけていく「シナリオ指向開発」の基点。物語の全体像を概観するチャート図を作成するためのツール
ストーリーボードの基本構造
ストーリーボードは<シーン>と<フラグ>から構成される
シーン | シナリオの特定時点での状態を表す。フラグが特定条件を満たすことで、シーンを遷移 |
---|---|
フラグ | シーンの遷移を制御する情報(true/falseのみ) |
ツールボックスから<シーン>を配置し、シーン同士を<フラグ>で連結していくことで、シーンがどのように遷移していくかを組み立てる
要素 | 設定可能な情報 |
---|---|
シーン | 名前、あらすじ*1、関連するオブジェクト(主に人物) |
フラグ | 名前 |
シーンとオブジェクト
フラグ
- フラグは真偽値のみの管理。数値/文字列情報が必要な場合にはシナリオ変数(いわゆるグローバル変数)で管理
- イベント単位でのみ利用するローカル変数は持たない
- 例えば、「宝箱を何回調べた」「何回話しかけた」などの情報は、個々のオブジェクトで持つべき
- 異なるオブジェクトで同一のフラグを立てることも可能(その場合は、いずれか片方を実施した場合にシーンは先に進む)
会話埋め込み型スクリプトでシナリオを見渡しやすく「シナリオエディター」
シーン/オブジェクト単位に、特定のトリガーで発生する会話/動作情報を編集するためのツール。
トリガー
トリガーとは、会話/動作スクリプトが実行されるキッカケとなる動作(以下例)。
人 | 接触した時(相対距離も指定可) |
---|---|
扉 | 接触した時(回数指定も可)、開錠した時、扉をくぐる時 |
障害物 | 接触した時(回数指定も可)、壊した時 |
敵領域 | 接触した時(回数指定も可)、敵の体力を半減させた時、倒した時 |
会話/動作スクリプト
シナリオスクリプトの例
「剣と魔法の都ペンタウァ」より)
### 「###」で始まる行はコメント ### ->>〜<<-で、そのシーンのあらすじを表す(あらすじ機能に反映されるテキスト)
- >>
スペリングチェックからマニュアル自動生成までを支える「シナリオデータベース」
人物(NPC)/アイテム/モンスター/地名等々、シナリオ中の重要キーワードを管理するデータベース群
- 本データベースをもとに、専用マニュアルが自動生成される
- 特定の人物/キーワードなどの単位に、公開タイミングを設定可能(ダウンロード前、シナリオクリア前/後、非公開)
- 会話/解説文にキーワードが含まれる場合、該当箇所にリンク
- タップで、該当する人物/モンスター/地名に関する解説をポップ表示
- スペルミスではリンクが張られないため、デバッグ時の表記ゆれ確認にも有効か
人物データベース
- 人物の名前/説明/見た目/ステータス(パーティ加入キャラのみ)を管理
- 人物同士の関係、人物の所属なども定義可能
- その場合はマニュアルにも、人物関係図を生成
- 人物の関係がカギとなる、または登場人物が多いシナリオで活用できるのでは!?
- シナリオ上に登場しない人物も、見た目を持たない形で登録可能
- 人物を軸にして、紐づいたシナリオ(会話データ)を縦一線に参照も可
地名データベース
- 方眼紙マップ(マップ編を参照)から特定エリアに対して地名と説明を割り当て可能
- ●○村、●○の洞窟、●○ダンジョン最奥部など
- 地名が割り当てられた場合には、プレイ画面側でも現在地(地名)を表示
- マップ上に現存しない地名も、マップに関連付けない形で登録可能
モンスターデータベース
- モンスターの名前/見た目/説明などを管理
- それ以外の情報は、一般ユーザーでは変更できない! [id:sorcerian:20160801]
- 方眼紙マップから、モンスターごとに出没場所をカラーリング表示可
- 同じく、「モンスターの強さ×出没数」で方眼紙マップに危険度合いをカラーリング表示
- 大雑把なモンスター配置、安全地帯のバランス確認のために!
アイテム/そのほかの用語データベース
- アイテムの名前/説明/付与された星魔法(装備品の場合)などを管理
- シナリオ固有のキーワードについて、解説文を管理可能
- ■要検討■その他に必要となるデータベース?
ライセンスマネージャー*4
- モンスター/人物はじめ、オブジェクトに割り当てる自作のグラフィック/音楽を登録
- シナリオ単位ではなく、アカウント単位でひとつのデータベース
- データベース登録時に、ファイル本体に透かし情報(メタ情報?)としてライセンス情報を自動付与
- 公開範囲の設定も可能
- すべてのシナリオ開発者
- グラフィック/音楽を利用したシナリオをクリアしたアカウントのみ
- 不可(自分のシナリオでのみ利用可能)
- 公開設定はいつでも変更できるが、あくまでメイクリアン上での表示/非表示を制御するのみ(=他のシナに一旦組み込まれてしまったリソースを削除することはできない)
2.の場合、グラ/音楽に紐づいたライセンスアカウントと、シナリオ自体に紐づいたライセンスアカウントが等しい場合にだけ、そのシナリオをクリアすることで、リソースを利用可能になる*5
シナリオの全体バランスを確認する「デバッグ機能」
シナリオの全体像を概観しつつ、複数の視点でシナリオをチェックするための機能を提供。
自動ストーリー表示[PC]
ストーリーボードに従って、実プレイ画面で会話&イベントを再生
方眼紙マップによる情報表示[PC]
シーン単位に行き来可能な領域をハイライト表示
- ストーリーボードで選択シーンを変更することで、ハイライト部分も変化
- ダンジョン踏破型シナリオでのシカケの矛盾を確認する用途で
- 特定のポイントからの距離をカラー別表示
- 重要箇所への思わぬ近道の発生を防ぐ
デバッグモード[PSVita]
- シナリオ検索では表示されず、シナリオコードでのみ検索が可
- つまり、コードさえ知っていれば、仲間内でテストプレイ可ということ
- デバッグモードでアップロードできるのは、最大5シナリオまで
デバッグモードでは、以下の特殊ルールも。
- 最初からマップ全体はコンプリート状態で開始
- 全体マップのタップで、現在、移動可能な位置に瞬時に移動可能
- フラグリストから特定フラグのオンオフが可能
- 実際にマップ移動するリアル再生モードも
- その場合は、モンスターなどは一切なしで、サンプルパーティが自動で移動していく
- 移動アクションは無視して、そのまま幽霊のように空中を移動するイメージ
- (当然)実績等は記録されないし、アイテム/Goldも持ち帰れない