Text」を利用するための簡易マニュアルです。Textの基本的な仕様についてはここでは触れないので、合わせて以下を参照してください。本ドキュメントは、現在書きかけですが、皆さんの質問を受けながら、説明不足なものを補っていきたいと思います。Textシナリオ執筆のための軽量プラグインです。Textのシナリオデータは、.xml形式ですが、専用のエディターを利用することで、XMLを知らない人でも編集が簡単にできます(もちろん、使い慣れている人は一般的なテキストエディターを使っても構いません)。Text独自に検証機能を拡張し、利用できる要素/属性、設定値のチェック、設定値の補完などもサポートするので、入力の手間が省けます。Textは、内部的にはシナリオデータの検証定義ファイルです。Notepadをインストールし、シナリオテンプレート(以下)を読み込むことで、自動的に有効になります。Textそれ自体としてのインストール/設定は、一切必要ありません。[1]シナリオテンプレートをダウンロードするシナリオテンプレートは、以下のアドレスからダウンロードできます。http://www.web-deli.com/sorcerian/template.zipダウンロードしたtemplate.zipを解凍すると、以下のようなフォルダー/ファイルが展開されます。楽曲ファイル.mp3ファイルはサンプルなので、適宜差し換えてください。Notepadのメニューバーから[File]−[Open]で、scenario.xmlを開いてください。以下は、scenario.xmlを開いた直後の状態です。左ペインにscenario.xmlの中身がツリー状に表示されているので、編集したい場所を選択し、右のペインから値を編集します。以下は、scenario−items−item要素のname属性を編集しているところです*1。要素/属性はいずれもXMLの用語です。Textを利用する上ではあまり気にしなくて構いませんが、要素はフォルダーのようなアイコンで、属性は赤丸アイコンで、それぞれ表されることを覚えておきましょう。以下の[3]以降の手順は、あくまでマニュアル上の便宜的な順番です。どこから設定しても問題ありませんし、実際の開発では、それぞれの設定を行き来しながら作業を進めることになるでしょう。シナリオを執筆していく中で、やりやすいように作業してみてください。[3]シナリオの基本データを編集するまずは、シナリオの基本情報を編集します。シナリオのタイトル(scenario−title)、作者の名前(scenario−author)をそれぞれ選択します。Textで利用するものなので、編集してはいけません![4]アイテム情報を編集するシナリオで登場するアイテムを登録しておきます。これには、scenario−items要素の配下を編集します。シナリオテンプレートには、あらかじめダミーのアイテム情報(scenario−items−item)が用意されているので、これをコピー&ペーストして使うのがカンタンです。これには、scenario−items−itemを右クリックし、表示されたコンテキストメニューから[Copy]してください。続いて、選択はそのままに右クリックし、表示されたコンテキストメニューから[Paste]してください。このままでは既存のitemの下にitemができてしまいます。Left](左矢印のアイコン)をクリックし、階層をひとつ格上げします。これで新たなアイテム情報(item要素)ができたので、その配下のid:アイテムコードname:アイテム名#text:アイテムの説明(15文字程度)を、それぞれ編集します。アイテムコードは「i99」の形式で、重複のないように設定してください。■Note■それぞれの要素/属性で設定できる内容は、ダイナミックヘルプからも確認できます。Help]を開いてください。要素/属性の役割(意味)を確認できます。[5]フラグ情報を編集するシナリオ進行を管理するフラグ情報を登録しておきます。これには、scenario−flags要素の配下を編集します。先ほどと同じく、シナリオテンプレートには、あらかじめダミーのフラグ情報(scenario−flags−flag)が用意されているので、これを[4]と同じ手順でコピー&ペーストします。新しいフラグ情報ができたら、その配下のid:フラグコード(「f99」の形式で重複がないこと)#text:フラグの説明(15文字程度)を、それぞれ編集します。Textではステータス画面から確認することもできます。物語の簡易なあらすじを、プレイヤーに示すために、細かく設定しておくことをお勧めします。[6]モンスター/罠情報を編集するシナリオで登場するモンスター/罠などの情報を登録しておきます。これには、scenario−enemies要素の配下を編集します。先ほどと同じく、シナリオテンプレートには、あらかじめダミーのモンスター情報(scenario−enemies−enemy)が用意されているので、これを[4]と同じ手順でコピー&ペーストします。いずれか)attack:攻撃の種類(物理/魔法/毒/石化/凍結/呪い/忘却のいずれか)func:ダメージ式(例:2L+R-STR。Lは左のサイコロ、Rは右のサイコロ)#text:モンスターの説明(15文字程度)を、それぞれ編集します。■Note■あらかじめ候補値のある属性(element、attackなど)については、入力可能な候補値のリストも表示されます。積極的に利用していけば、タイプ量も減らせるでしょう。[7]シーン情報を編集する(プロローグ)いよいよシナリオ本体の執筆です。シーンとは、ゲームブックのパラグラフに相当する概念。Textでは、シーン単位で物語を遷移していきます。ひとつのシーンは、scenario−scene要素で表します。シナリオテンプレートには、あらかじめスタート地点を表すシーン(id属性が0のもの)が用意されているので、これを編集してください(「0」はスタートを表す数値なので、変えてはいけません!)。本文は、Markdownという形式で表します。Text独自のルールもあるので、詳しくは、開発者ドキュメント(http://d.hatena.ne.jp/sorcerian/20180128)を参照してください。■Note■シナリオ(=改行付きのテキスト)を入力する際に、改行は[Enter]ではなく[Ctrl]+[Enter]なので注意してください([Enter]は確定となります)。Notepadである程度骨組みを作ってしまったら、あとは慣れたテキストエディターで編集した方が効率的かもしれません。[8]シーン情報を編集する(本文)あとは、ひたすらにシーンを増築していくだけです!シナリオテンプレートには、ダミーのシーン情報(scenario−scene)が用意されているので、これを[4]と同じ手順でコピー&ペーストします(ただし、「idの値が0でない」シーンはもう編集済みのはずなので、それ以外のシーンをコピーしてください!)。新しいシーン情報ができたら、その配下のid:シーンコード(基本は数値。シナリオ内部で一意であること)items:そのシーン移動時に入手できるアイテム(複数はカンマ区切り。「-i〜」でアイテム喪失)flags:そのシーン移動時に立つフラグ(複数はカンマ区切り)enemies:敵情報(複数はカンマ区切り)bgm:シーン移動時にBGMを切替(bgm_boss.mp3であれば、「boss」と指定。メインテーマbgm.mp3に戻す場合は、「main」と指定)se:シーン移動時に再生する効果音(se.mp3であれば、「se」と指定)allowMove:番号指定による移動を許可するか(値はtrue固定)end:エンディングシーンか(happy:ハッピーエンド、bad:バッドエンド)#text:シナリオ本文(Markdown形式)を、それぞれ編集します。シーンコードは、あとからシーンを挿入しやすいように、10、100おきに連番としていくのがお勧めです。使わない属性は削除してください(シーン情報であればid以外はすべて省略可能です)。これには、該当の属性を選択した上で右クリックし、表示されたコンテキストメニューから[Delete]を選択します。[9]ライセンス情報を編集する最後に、シナリオで作成した画像/楽曲のライセンス(作品)情報をまとめておきましょう。これには、scenario−license要素の配下を編集します。先ほどと同じく、シナリオテンプレートには、あらかじめダミーの作品情報(scenario−license−work)が用意されているので、これを[4]と同じ手順でコピー&ペーストします。新しい作品情報ができたら、その配下のname:曲名(bgmの場合)、利用場所(pictureの場合。サイト名url:作品の参照先を、それぞれ編集します。urlは任意なので、不要であれば削除しても構いません。file](フロッピーディスクのアイコン)から保存できます。不正なデータについては、あらかじめ用意された検証ファイルによって、リアルタイムにエラーを表示してくれます。List]に表示されるので、該当箇所をダブルクリックしてください。該当する要素/属性に移動できます。主な検証内容は、以下の通りです(将来拡張するかも)。id値が重複していないか(Identity制約)必須の要素/属性が抜けていないか利用できない要素/属性を使っていないか(スペリングミスを含む)(設定値が選択式のものは)設定値が候補値のいずれかであるか(設定値の形式が決まっているものは)設定値が正しい形式であるかすべての問題を吸収できるわけではありませんが、まずは最低限の入力ミスを防ぐことができると思います。[11]Playgroundで実行するできあがったシナリオデータ(ソース)は、メニューから[View]−[Source]で表示できます。ソースコードをすべて選択し、PlayGround(http://www.web-deli.com/sorcerian/next/playground.aspx)に貼り付ければ、シナリオの動作を確認できます。今後の予定PlayGround(http://www.web-deli.com/sorcerian/next/playground.aspx)とメイクリアンText(本稿)の組み合わせで、シナリオ開発がそれなりに効率化できると思います。今後は、フローチャートテキスト?からscenario.xmlを自動生成するツールを作成できればと思っていますが...なんにせよ要望があれば、の世界。)関連サイトmore...プロフィールはてなブログをはじめよう!sorcerianさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。