* U K I Y A H O N P O * Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura, che la diritta via era smarrita. |
自作ゴースト/Hand/コミュニケーション連鎖ヴィイとHandのコラボレーション まとめヴィイとHandで、コミュの応酬によって短いストーリーを形成する実験をしてみました。 技術面コミュの応酬を行うには、互いにキーワードを決めて反応しあうのが最も簡単だと思いますが、 キーワードだと誤爆したり、後から台詞の変更が効かなかったり、という問題があります。 そこで、今回の実験では、互いの台詞に番号を振って、コミュの際にその番号も同時に伝えることで、 決められた台本を順番に喋っていくようにしました。 つまりイメージとしては、 ヴィイ「こんにちは。」台詞番号=1 こんなコミュがヴィイ→Handに渡ると、Handは台詞番号を見て次の台詞を喋ります。 Hand「なんだ、ヴィイか。」台詞番号=2 そしてこれを見たヴィイが3番の台詞を…といった形で連鎖が続くわけです。 実際の実装がどのようになっているかは、以下に里々(ヴィイ)とAYA(Hand)でのコードを挙げておきます。 しくみお互いに、「これは特別トークなんだ」というのが分かるように、 番号の他に、「viiandhand-1」という特別な変数を渡しています。 最初の発言; Value: トーク Reference0: ゴースト名(通常コミュ規格) Reference1: viiandhand-1 (特別変数) Reference2: 1(特別変数-会話番号、1つずつ増やす) このSHIORIレスポンスが相手にはこう届く; Reference0: ゴースト名(通常コミュ規格) Reference1: トーク(通常コミュ規格) Reference2: viiandhand-1 (特別変数) Reference3: 1(特別変数-会話番号、1つずつ増やす) 届いたメッセージを見て相手はこう返す; Value: トーク Reference0: ゴースト名(通常コミュ規格) Reference1: viiandhand-1 (特別変数) Reference2: 2 以下、くりかえし AYAの場合OnCommunicate { if reference0 == 'user' || reference0 == 'User' { '\t\v\1\s[10]\0\s[7]うるせえ、今お楽しみ中なんだ。\e' }else{ case reference2 { when 'viiandhand-1' { SPCOM_viiandhand1(); } others{ //---- ゴーストからの話しかけ ReplyToGhost(); } } } } SPCOM_viiandhand1{ res_reference0 = reference0 //ghostname res_reference1 = reference2 //viiandhand-1 res_reference2 = reference3 + 1 case res_reference2 { when 2 {'\w9\v\1\s[10]\0\s[7]なんだよヴィイ、\w5元気ねえな。(略)'} when 4 {'\w9\v\1\s[10]\0\s[7]さてはッ!!(略)'} // // 以下省略、2,4,6,8…と続く // others{ //知らない番号が来たら終わる res_reference0 = '' res_reference1 = '' res_reference2 = '' } } } 里々の場合*OnCommunicate >ヴィイとHand1 (compare,(R2),viiandhand-1) ≫(R0)「(R1)」 >(R0)より該当なし >COMMUNICATE該当なし *ヴィイとHand1 $Value0 Hand $Value1 viiandhand-1 $会話番号 (zen2han,(calc,(R3)+1)) $Value2 (会話番号) >ヴィイとHand1会話(会話番号) >ヴィイとHand該当なし *ヴィイとHand1会話1 $Value0 Hand $Value1 viiandhand-1 $Value2 1 :(3)はあ……。\w9\n[half] (6)……ねえ(ユーザ名)、唐突で悪いけど、(略) *ヴィイとHand1会話3 $Handと会話中 1 :(0)\w5(7)そんないやらしい手のマッサージはいらないっ。\w9\n[half] (以下省略、「ヴィイとHand1会話5」、「ヴィイとHand1会話7」…と続く) 運用面この実験は1人ではなく、2人以上のゴースト作者が協力しあう必要があります。 今回は、いつでも見れて推敲可能、という利点を考慮して、意思疎通にはwikiを使いました。 wikiページの例(一部抜粋)【ヴィイとHandの会話】
(以下、コメントで互いの台詞の調整を行いました) 【システム面】 ■発動方法
■発動中
■会話ネタ
(以下、互いに*1アイデア出し。) |