11 段目:話を続けたい・分岐させたい
寄り道こそ旅の醍醐味ですわ。ひと息に話して終わるばかりのあの子たちに、今日は話の続きと、行き先のくじ引きを授けますのよ。
お嬢様の寄り道は、たいてい日が暮れるまでお戻りになりませんが。
おほほほ! 戻ってくるだけ上出来ですわ! あの子たちの寄り道も、ちゃんと元の話へ戻らせますわよ。
叶えたいこと
この章で叶えるのは「話を続ける」と「話を分岐させる」ですわ。シーンから別のシーンを呼んで話をつなぎ、呼び先をそのたびに変えますの。足す辞書は、今回も 1 枚ですわ。
- この章で足すファイル:
ghost/master/dic/11-jump.pasta - 叶うこと: 暇なときのおしゃべりが、別のシーンへ寄り道してから元の話に戻る。寄り道の行き先は、そのたびに選ばれる。話の続きを、次のおしゃべりで話す
新しく覚える表現
シーンを呼んで話を続ける
シーンの中に > を書いて、シーンの名前を続けますの。すると、そのシーンを呼んで話を続けますわ。呼んだシーンが終わると、次の行に戻ってきますのよ。
*会話
女の子:@キラキラ ねえ、帰りに寄り道しようよ。
男の子:@通常 いいけど、どこに?
>寄り道
>チェイントーク
女の子:@笑顔 さっきの寄り道、楽しかったね。
男の子:@笑顔 うん、また行こうね。
>シーン名— その名前のシーンを呼んで、話を続ける。行の頭を字下げして書く。この呼び出しを Call と呼ぶ- 呼んだシーンが終わると、
>の行の次の行に戻ってくる - 呼んだシーンの台詞は、呼んだ側の台詞に続けて出る
>寄り道—寄り道という名前でシーンを探して呼ぶ。探し方は、次の節で扱う- 上のシーンは、最初の 2 行の台詞を話し、
>寄り道で呼んだシーンの台詞を話してから、>寄り道の次の行に戻る >寄り道の次の行の>チェイントークは、後ろの節で扱う>で始まる行は、7 段目 の>transfer_req_to_varで、すでに書いている
名前の頭が一致するシーンから選ぶ
あら、お気づきになりまして? *寄り道 と書いたシーンは、辞書のどこにもありませんの。名前が「寄り道」で始まるのは、*寄り道公園・*寄り道本屋・*寄り道駄菓子屋 の 3 つですわ。
名前が合っておりませんのに、呼べるのでございますか。
呼べますわ。呼び先は、名前の頭が一致するシーンから探しますの。「寄り道」で始まる 3 つがすべて候補になって、そこから 1 つが選ばれますのよ。行き先のくじ引きの出来上がりですわね。
# >寄り道 の呼び先。呼ばれるたびに、この 3 つのどれかが選ばれる。
*寄り道公園
女の子:@笑顔 公園のブランコ、空いてるかな。
男の子:@通常 ぼくが押してあげるよ。
*寄り道本屋
女の子:@キラキラ 本屋さんで、新しいマンガを見たい!
男の子:@困惑 立ち読みは、ほどほどにね。
*寄り道駄菓子屋
女の子:@通常 駄菓子屋さんで、くじ引きしよう!
男の子:@驚き えっ、こないだ全部はずれだったのに?
>シーン名の呼び先は、名前の頭が一致するシーンから探す。この探し方を、前方一致と呼ぶ>寄り道は、名前が「寄り道」で始まるシーンをすべて候補にして、そこから 1 つを選ぶ- この章の辞書に、
*寄り道と書いたシーンは無い。*で始まり、名前が「寄り道」で始まるシーンは、*寄り道公園・*寄り道本屋・*寄り道駄菓子屋の 3 つである - 1 つ目の
*会話の>寄り道では、この 3 つが候補になる。呼ばれるたびに、3 つのどれかが選ばれる - 同じ名前のシーンをいくつも書いたときも、4 段目で覚えたとおり、そこから 1 つが選ばれる
- 候補は並べ替えたうえで 1 つずつ順に使われ、全部を使い切ると並べ直される。候補を一巡するまで、同じシーンは選ばれない
寄り道公園などのシーンは、名前が会話ではないので、暇なときには呼ばれない。>寄り道で呼ばれたときに話す
話を区切って続きを後で話す
寄り道から戻ったところに、>チェイントーク と書いてありますわね。話は、そこでいったん区切られますの。続きは、次に暇なときに話しますわ。ひとつの話題を、二度に分けて楽しめますのよ。
>チェイントーク
女の子:@笑顔 さっきの寄り道、楽しかったね。
男の子:@笑顔 うん、また行こうね。
>チェイントーク— 話をそこでいったん区切る。行の頭を字下げして書く>チェイントークより前の台詞は、その場で話す。後ろの台詞(続き)は、次に暇なときに話す- 続きは、次のおしゃべりのときに、新しい
*会話の掛け合いの代わりに出る - 上の 2 行の台詞は、寄り道の掛け合いの次のおしゃべりで出る
- 続きを待っているあいだに、ほかのイベントでシーンが実行されて台詞を出すと(ダブルクリックの反応や時報など)、待っていた続きは捨てられて、出ない
- 表情を変えるだけなど、台詞を出さないシーンが実行されても、続きはそのまま待つ。台詞に数えるもの・数えないものは、続きが捨てられるとき で扱う
シーンの中だけで呼べるローカルシーン
最後は、内緒の小部屋ですわ。シーンの中に、行の頭を字下げして ・ と名前を書きますの。これがローカルシーンで、そのシーンの中からだけ呼べますのよ。
# シーンの中に ・名前 と書くと、そのシーンの中だけで呼べるローカルシーンになる。
# >寄り道 で探せるローカルシーンがあると、ローカルシーンが先に選ばれる。上の *寄り道公園 などは選ばれない。
*会話
女の子:@通常 今日も寄り道する?
>寄り道
・寄り道
男の子:@困惑 今日は、まっすぐ帰ろうよ。
女の子:@泣き えー、つまんないの。
・名前— ローカルシーンの始まり。行の頭を字下げして・を書き、名前を続ける- ローカルシーンは、それを書いたシーンの中だけで呼べる。ほかのシーンからは呼べない
*で始まるこれまでのシーンは、ローカルシーンと区別して、グローバルシーンと呼ぶ- この章の辞書は、
*会話の台詞と>寄り道の行の後ろに、ローカルシーン・寄り道を書いている - この章の辞書は、ローカルシーンの中の行を、
・寄り道の行より深く字下げして書いている - 上のシーンは、女の子の台詞を話してから、
>寄り道でローカルシーン・寄り道を呼び、その 2 行の台詞を話して終わる
お嬢様、こちらの >寄り道 でも、公園や本屋が選ばれることはございますか。
いいえ、選ばれませんわ。探せるローカルシーンがあるときは、ローカルシーンが先に選ばれますの。まずは身内から、というわけですわね。
>寄り道で探せるローカルシーンがあると、ローカルシーンが先に選ばれる。*寄り道公園などのグローバルシーンは選ばれない- グローバルシーンから探すのは、探せるローカルシーンが無いときである
- この章の辞書の 2 つの
*会話は、別々のシーンである。2 つ目の*会話に書いた・寄り道は、1 つ目の*会話からは呼べない - 2 つの
>寄り道の呼び先は、次の表のとおりである
>寄り道 を書いたシーン | そのシーンのローカルシーン | >寄り道 で呼ばれるシーン |
|---|---|---|
1 つ目の *会話 | 無い | *寄り道公園・*寄り道本屋・*寄り道駄菓子屋 のどれか 1 つ |
2 つ目の *会話 | ・寄り道 | ・寄り道 |
辞書ファイルを足す
ghost/master/dic/11-jump.pasta を作り、次の内容を UTF-8 で保存する。
# 11 段目:話を続けたい・分岐させたい
# >シーン名 と書くと、そのシーンを呼んで話を続ける(Call)。呼んだシーンが終わると、次の行に戻ってくる。
# 呼び先は、名前の頭が一致するシーンから探す。>寄り道 は、名前が「寄り道」で始まるシーンをすべて候補にして、そこから 1 つを選ぶ。
# >チェイントーク と書くと、話はそこでいったん区切られる。続きは、次に暇なときに話す。
*会話
女の子:@キラキラ ねえ、帰りに寄り道しようよ。
男の子:@通常 いいけど、どこに?
>寄り道
>チェイントーク
女の子:@笑顔 さっきの寄り道、楽しかったね。
男の子:@笑顔 うん、また行こうね。
# >寄り道 の呼び先。呼ばれるたびに、この 3 つのどれかが選ばれる。
*寄り道公園
女の子:@笑顔 公園のブランコ、空いてるかな。
男の子:@通常 ぼくが押してあげるよ。
*寄り道本屋
女の子:@キラキラ 本屋さんで、新しいマンガを見たい!
男の子:@困惑 立ち読みは、ほどほどにね。
*寄り道駄菓子屋
女の子:@通常 駄菓子屋さんで、くじ引きしよう!
男の子:@驚き えっ、こないだ全部はずれだったのに?
# シーンの中に ・名前 と書くと、そのシーンの中だけで呼べるローカルシーンになる。
# >寄り道 で探せるローカルシーンがあると、ローカルシーンが先に選ばれる。上の *寄り道公園 などは選ばれない。
*会話
女の子:@通常 今日も寄り道する?
>寄り道
・寄り道
男の子:@困惑 今日は、まっすぐ帰ろうよ。
女の子:@泣き えー、つまんないの。
- 1〜10 段目のファイルは書き換えない。新しいファイルを
dic/に足すだけで、この段になる - このファイルの 2 つの
*会話は、2 段目からのおしゃべりに加わり、暇なときに出る *寄り道公園・*寄り道本屋・*寄り道駄菓子屋は、1 つ目の*会話の>寄り道の呼び先である- 台詞の頭の
@キラキラ・@通常・@笑顔・@困惑・@驚き・@泣きは、3 段目で付けた表情名である
起動して確かめる
ひとつだけ、気をつけてほしいことがありますの……。寄り道の続きを待つあいだは、あの子たちに触らないでくださいまし。ダブルクリックで別の話が始まると、続きは消えてしまいますわ。
- SSP を終了し、もう一度起動する。
- 自分のゴーストが出ていなければ、メニューから切り替える。
- そのまま待ち、女の子が寄り道に誘う掛け合いが出るのを見る。
- ゴーストに触らずに、次のおしゃべりを待つ。
- そのまま待ち、女の子が今日も寄り道するかを尋ねる掛け合いが出るのを見る。
- 成功の目印(手順 3): 女の子「ねえ、帰りに寄り道しようよ。」、男の子「いいけど、どこに?」に続けて、次の 3 つの掛け合いのどれか 1 つが出る
- 女の子「公園のブランコ、空いてるかな。」、男の子「ぼくが押してあげるよ。」
- 女の子「本屋さんで、新しいマンガを見たい!」、男の子「立ち読みは、ほどほどにね。」
- 女の子「駄菓子屋さんで、くじ引きしよう!」、男の子「えっ、こないだ全部はずれだったのに?」

- 成功の目印(手順 4): 次のおしゃべりで、女の子「さっきの寄り道、楽しかったね。」、男の子「うん、また行こうね。」が出る

- 成功の目印(手順 5): 女の子「今日も寄り道する?」、男の子「今日は、まっすぐ帰ろうよ。」、女の子「えー、つまんないの。」の順に出る。公園・本屋・駄菓子屋の掛け合いは続かない
- 手順 3 の掛け合いが出るたびに、寄り道の行き先は 3 つのどれか 1 つになる
- 手順 4 で続きが出ないときは、待っているあいだに、ほかのシーンが実行されている(ダブルクリックの反応や時報など)。開発用パレットのスクリプト入力などで外から
OnTalkを起こしたときも、新しいおしゃべりが始まり、待っていた続きは消える(OnTalk)。続きは、pasta が自分で起こす次のおしゃべりでだけ出る。手順 3 からやり直す 会話という名前のシーンは、この章の 2 つを足して 11 個になった。寄り道の続きがおしゃべりを 1 回使うので、11 個の掛け合いがひととおり出るまでに、おしゃべりは 12 回になる。出る順は決まっていない- おしゃべりの間隔は、2 段目で
pasta.tomlに書き足した 45〜75 秒である。12 回見るには 9〜15 分ほどかかる - 待つ時間を縮めたいときは、
[ghost]の 2 つの値を小さくして、SSP を終了し、もう一度起動する
もっと詳しく
- Call / Jump(
>シーン名でシーンを呼ぶ) - 前方一致によるターゲット解決(名前の頭が一致するシーンが候補になる)
- ローカルシーン(
・名前) - チェイントーク(
>チェイントーク) - スコープ解決アルゴリズム(ローカルシーンが先に選ばれる)
呼んで、戻って、区切って、また続ける。話の運びは、もうあなたの思いのままですわね。
行き先がくじ引きでは、お供をする身としましては気が休まりません。
ご安心なさいまし。次は、行き先を決める役を Lua に任せる、もっと凝った仕掛けをお見せしますわ。