簡単な例
旅の物語を作るなら、Chaptersの横の+でArrivalという章を作り、Add sceneでAt the gateとAt the innを追加します。各シーンを開いて会話を作りましょう。一覧の並び順だけで会話がつながるわけではなく、場面間の進み方は自分で設定します。
シーン開始は通常の開始位置です。名前付きの開始位置を使うと、シーン内の別の場所へ移動できます。「ストーリーを再生」の横の矢印から、その位置を直接テストできます。
空のシーンに最初に作成または貼り付けたノードがシーンの開始位置になります。開始位置は別のノードに変更できます。「開始位置を削除」は追加の開始位置だけを削除し、ノードは残します。
Characters、Variables、Game actionsでは、左に検索付きの一覧、右に詳細を表示します。項目を選ぶと編集できます。キャラクター検索はグループ名と上位グループ名にも対応します。3つのアイコンで名前順、上位グループ別(標準)、キャラクターグループ別を切り替えます。件数は一覧の下に表示されます。
物語を一歩ずつ組み立てましょう。各ツールは簡単な場面から説明し、その後にサンプルプロジェクトでの実例を紹介します。メニューから目的のツールへ移動できます。
操作名は英語の画面に合わせています。WelcomeやReceivedなどは、サンプルプロジェクト内の名前です。 「港の鍵」をダウンロードして試す
サイドバーで章をドラッグして並べ替えます。シーンは別のシーンの前後へ移動でき、明るい線が挿入位置を示します。章の上にドロップすると末尾へ追加され、折りたたんだ章にも移せます。移動ハンドルをクリックして移動先と位置を指定することもできます。Undoで戻し、Saveで順序を保存します。接続やゲームのロジックは変わりません。
サイドバーでシーンを選ぶか、章名をクリックします。選択中の行やマウスを重ねた行に、三点メニューと移動ハンドルが表示されます。三点メニューを押すと編集画面が直接開き、名前や章の画像を変更できます。同じ画面から削除も行えます。Delete sceneはシーン、そのノード、開始地点を削除します。Delete chapterは章内のすべてのシーンも削除します。削除前には毎回確認が表示され、対象の名前と、章の場合は正確なシーン数を確認できます。Cancelでは何も変更されません。
確認画面には、影響を受けるジャンプ、サブストーリーの呼び出し、エクスポートプロファイルも表示されます。他のシーンからのジャンプは残りますが、新しい移動先を設定する必要があります。開始地点が一つも残らないエクスポートプロファイルは削除されます。共有するテキスト、画像、キャラクター、リソースは保持されます。Undoで削除した内容と参照をまとめて復元できます。残したい状態を保存してください。
章は物語を整理するための区切りです。シーンには、接続された会話の流れを作ります。
旅の物語を作るなら、Chaptersの横の+でArrivalという章を作り、Add sceneでAt the gateとAt the innを追加します。各シーンを開いて会話を作りましょう。一覧の並び順だけで会話がつながるわけではなく、場面間の進み方は自分で設定します。
Harbourでミラとの会話が始まります。Mira’s requestには短い依頼、Warehouseには倉庫での会話があります。左の検索でWarehouseを探して開いてください。
サンプルプロジェクトと作例ガイドを開く →キャンバスには、ノードと呼ばれる箱をつないで物語を表示します。線は各段階の後に何が起きるかを示します。
「こんにちは!」「会えてうれしいよ。」という2つのDialogueを作ります。最初の右側のNext、次に2つ目の左側の入力をクリックします。線がつながり、2つ目へ進む流れになります。背景をドラッグするとキャンバスを移動できます。
Harbourを開き、ブロックツールバーの虫眼鏡でWelcomeを検索します。結果を選ぶと挨拶が中央に表示されます。接続をたどり、ミラの会話を確認してください。
サンプルプロジェクトと作例ガイドを開く →Dialogueはセリフや地の文を表示します。キャラクターと表情を指定できます。
衛兵に「日が沈むと門が閉まります」と言わせてみましょう。「会話」を選び、台詞を入力し、話者のキャラクターを選びます。次のステップを終了につなぎます。会話ノードで「シーン開始に設定」を選び、ストーリーを再生して最初の台詞を確認します。
Welcomeの話者はミラです。後に出てくるYour remaining goldでは、Goldに対応付けたプレースホルダーで所持金を表示します。購入後は10ではなく5になります。文章に数値を直接書くだけでは自動更新されません。
サンプルプロジェクトと作例ガイドを開く →Choiceはプレイヤーに複数の回答を提示します。回答ごとに別の展開へつなげられます。
衛兵が「どこへ行きたい?」と尋ねます。Choiceに「市場へ」「宿へ」を作り、それぞれ別のDialogueへつなぎます。プレイヤーが進む道を選べます。接続のない回答からは先へ進めません。
Choose a replyを開きます。一方は購入、もう一方は別れの会話へ進みます。両方を試してください。回答に条件を付ける場合は、どの回答も選べないときの動作も決めます。
サンプルプロジェクトと作例ガイドを開く →Conditionは値を確認し、自動でYesかNoへ進みます。例えば所持金が足りるかを判定できます。
渡し守の料金がコイン3枚だとします。Variablesに数値のCoinsを作り、ConditionでCoinsが3以上かを確認します。Yesを「乗っていいよ」、Noを「お金が足りないよ」へつなぎます。分岐は自動ですが、この判定自体ではコインは減りません。
Enough gold?はGold ≥ 5を確認します。YesはPay five gold、NoはNot enough goldへ進みます。所持金10と2で両方を試してください。
サンプルプロジェクトと作例ガイドを開く →このブロックは保存された値を変更します。所持金を減らしたり、クエストを受けたことを記録したりできます。
衛兵の説得に成功したら門を開ける例です。Variablesに真偽値GateOpenを作り、初期値をfalseにします。More blocks → Change variableでGateOpenをtrueに変え、Nextを次の会話へつなぎます。後のConditionでこの値を使えます。値の変更自体はセリフを表示しません。
Pay five goldはGoldから5を引き、QuestAcceptedで受注を記録します。後のRemember the keyがHasKeyをtrueにします。受け渡しが失敗したらRefund the paymentで返金します。鍵を渡せて初めて購入成功としてください。
サンプルプロジェクトと作例ガイドを開く →Game actionは、アイテムを渡すなどの処理をゲームに依頼します。会話はゲームの応答を待ちます。エディターのプレビューでは、テスト用の応答を自分で選びます。
宝箱から剣を入手する例です。Game actionsでGive itemを定義し、入力をitem、結果をReceivedとNo roomにします。Game actionブロックで選び、両方の進行先をつなぎます。エディターでは応答を自分で選びますが、実際のゲームではインベントリへ接続する実装が必要です。VNLEがインベントリを自動生成することはありません。
Receive the keyはWarehouse keyを指定してGive itemを呼びます。結果はプロジェクトで定義したReceivedとDeclinedです。両方を試してください。付属のゲーム例では実際に受け渡しを行い、拒否された場合は返金します。
サンプルプロジェクトと作例ガイドを開く →Jumpは別の開始地点から会話を続けます。別のシーンの開始地点も選べます。
門での会話の後、市場へ進む例です。市場のシーンに開始地点を作ります。More blocksでJumpを追加し、その開始地点を指定します。市場へ進んだ後、自動で門へ戻ることはありません。
Go to the warehouseはWarehouseのwarehouseという開始地点へ進みます。そこで鍵を持っているか判定します。HasKeyなどの値はシーンを変えても保持されます。
サンプルプロジェクトと作例ガイドを開く →Callは別の会話の流れを呼び出します。その後、元の会話へ戻って続けられます。
複数の会話で同じ道案内を使うなら、案内を別のシーンに作ります。More blocks → Call substoryでその開始地点を選び、After returningを元の会話の続きへつなぎます。案内の最後をReturnにすれば再利用できます。
Ask Miraはmira_requestからMira’s requestを呼びます。ミラが倉庫を説明した後、Already have the key?へ戻ります。Harbourから始めて一連の流れを試してください。
サンプルプロジェクトと作例ガイドを開く →Returnは寄り道を終え、呼び出し元の会話へ戻ります。再開位置はCallが記憶しています。
道案内の最後にReturnを置き、最後のDialogueからつなぎます。元の会話の続きへ戻れます。Callを経ずにReturnへ進むと戻り先がありません。通常の会話終了にはEndを使います。
Mira’s requestではReturn to the questionが呼び出し元へ戻ります。サブストーリーを直接始めず、Harbourの開始地点から再生すると戻り先が設定されます。
サンプルプロジェクトと作例ガイドを開く →Endは現在の会話を終了します。その後、ゲーム側で会話ボックスを閉じられます。
商人が「また明日!」と言ったら、NextをEndへつなぎます。会話は終わりますが、ゲーム全体を終える必要はありません。その後、移動などの操作を戻せます。
Return to the gameは倉庫での会話を終えます。名前にReturnとありますが、種類はReturnではなくEndです。動作は名前だけで判断せず、アイコンとブロックの種類を確認してください。
サンプルプロジェクトと作例ガイドを開く →話者の名前、ポートレート、表情を登録します。会話を作るときにそのキャラクターを選びます。
名前と顔のある衛兵を作るには、CharactersでAdaを作ってポートレートを追加します。DialogueのSpeakerでAdaを選びます。驚いた表情の画像を追加し、該当するセリフで選ぶこともできます。
Charactersでミラを開き、次にWelcomeを開きます。キャラクターと会話のつながりを確認できます。セリフごとに名前と画像を入力し直す必要はありません。
サンプルプロジェクトと作例ガイドを開く →リソースは、物語に繰り返し登場するアイテム、クエスト、場所を表します。一度作成すれば、ゲームアクションで選んで使えます。リソースは「何か」を説明し、アクションは「それを使って何をするか」をゲームに依頼します。
Old keyという鍵を作るなら、Resourcesに名前と説明を持つアイテムとして登録し、後でゲームアクションの入力に選びます。この項目は鍵の情報を記述するだけです。インベントリへ入れる処理はゲーム側で実装します。
Warehouse keyはアイテム、Open the warehouseはクエスト、Old warehouseは場所です。Receive the keyも同じ鍵を参照するため、名前を翻訳しても同じアイテムとして識別できます。
サンプルプロジェクトと作例ガイドを開く →変数は、数値、文章、はい/いいえを記録する名前付きの値です。例えばGoldには所持金、HasKeyには鍵を持っているかを記録します。
衛兵を助けたか覚えておくには、Variablesに真偽値HelpedGuardを作り、初期値をfalseにします。助けた後、Change variableでtrueにします。後のConditionで親しげな挨拶に変えられます。コインには数値、あだ名には文字列を使います。
Goldの初期値は10、HasKey、QuestAccepted、QuestCompleteはfalseです。購入時の判定からYour remaining goldまでGoldをたどってください。判定、変更、表示が同じ保存値を使っています。
サンプルプロジェクトと作例ガイドを開く →Previewではエディター内で物語を遊べます。Project checkでは接続漏れなどの問題を探せます。
両方の回答を試すにはPlay storyを選びます。テストツールで選択肢の手前を記録し、戻ってもう一方を試します。テスト中の値はプロジェクトを変えません。会話を編集した場合は再開始して反映します。Project checkで接続漏れなども確認してください。
Harbourをharbour_startから開始します。十分な所持金と不足する所持金で購入を試し、ゲームアクションではReceivedとDeclinedも試します。減額と返金は正しいですか?鍵は受け渡し成功後にだけ追加されますか?
サンプルプロジェクトと作例ガイドを開く →Saveは自分のコンピューターへ保存し、Exportは共有用のパッケージを作ります。GitHubとの変更のやり取りは、プロジェクトメニューのチーム画面で行います。
Saveはローカルへの保存です。コピーを共有するには左上のプロジェクトメニューでExport entire project as ZIPを選びます。どちらもチームへの変更送信ではありません。GitHubにはチーム画面で先に比較し、その後送信します。
作例をダウンロードして展開し、付属のプロジェクトフォルダーを開きます。Welcomeを編集して保存し、開き直しても文章が残ることを確認します。ZIPには編集用コピーと、物語が有効であればゲーム用ファイルが入ります。
サンプルプロジェクトと作例ガイドを開く →一つの物語を複数言語に翻訳できます。接続、選択肢、保存された値は共通です。
英語では「Good morning!」、ドイツ語では「Guten Morgen!」と表示する例です。Localizationで翻訳先を追加し、行を選んで翻訳を入力します。両方の言語で再生してください。会話を作り直さず文章だけを翻訳できます。
作例には英語とドイツ語があります。ミラの挨拶を比較してください。残金のプレースホルダーを保てば、両方の言語で現在の金額が表示されます。Translation packageからExcelで翻訳者に渡せます。
サンプルプロジェクトと作例ガイドを開く →キャラクター、リソース、変数、ゲームアクションは、左に一覧、右に詳細を表示します。検索は一覧の上です。未選択でも詳細欄は残り、次の操作を案内します。
Resourcesでは上部でQuests、Items、Locationsを選び、3つのフィルターで全件、使用中、未使用を切り替えます。左で名前を選び、右で文章と使用箇所を編集します。Charactersの3つの切り替えは名前順、上位グループ別、キャラクターグループ別です。検索はグループ名にも対応します。
左メニューのStoryか上部のStory editorで物語へ戻ります。左下のProject checkから、物語の具体的な問題箇所を開けます。