* ヴィイとHandのコラボレーション まとめ [#hcdd440c]
ヴィイとHandで、コミュの応酬によって短いストーリーを形成する実験をしてみました。~
ここは、それを行なった際の技術的/運用的な要素を簡単にまとめたものです。~
同じような事をやる方の参考になれば。
** 技術面 [#ff37652b]
コミュの応酬を行うには、互いにキーワードを決めて反応しあうのが最も簡単だと思いますが、
キーワードだと誤爆したり、後から台詞の変更が効かなかったり、という問題があります。
そこで、今回の実験では、互いの台詞に番号を振って、コミュの際にその番号も同時に伝えることで、
決められた台本を順番に喋っていくようにしました。
つまりイメージとしては、
ヴィイ「こんにちは。」台詞番号=1
こんなコミュがヴィイ→Handに渡ると、Handは台詞番号を見て次の台詞を喋ります。
Hand「なんだ、ヴィイか。」台詞番号=2
そしてこれを見たヴィイが3番の台詞を…といった形で連鎖が続くわけです。~
勿論、台詞番号の部分はユーザには見えません。
実際の実装がどのようになっているかは、以下に里々(ヴィイ)とAYA(Hand)でのコードを挙げておきます。
*** しくみ [#k3ee246a]
お互いに、「これは特別トークなんだ」というのが分かるように、
番号の他に、「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の場合 [#b107041c]
#pre{{
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 = ''
}
}
}
}}
*** 里々の場合 [#if72a0e4]
#pre{{
*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」…と続く)
}}
** 運用面 [#i3ff3972]
この実験は1人ではなく、2人以上のゴースト作者が協力しあう必要があります。~
よって、コラボレーションを行うにあたっては、意思疎通をどのように行うかが肝心となります。
今回は、いつでも見れて推敲可能、という利点を考慮して、意思疎通にはwikiを使いました。~
ネタバレの部分は削りますが、ざっと以下のような隠し wiki ページを作成し、
お互いでどんどんコメントや推敲を行っていった形です。
*** wikiページの例(一部抜粋) [#l14e5292]
【ヴィイとHandの会話】
|1|ヴィイ|(憂い顔。Handの方を伺う感じ)はあ……。(間)……ねえ(ユーザ名)(略)|
|2|Hand|なんだよヴィイ、元気ねえな。(略)|
|3|ヴィイ|そんないやらしい手のマッサージはいらないっ。(略)|
(以下、コメントで互いの台詞の調整を行いました)
【システム面】
■発動方法
- 通常コミュの一部(通常コミュのどれか1つが発動キーになってるとか)
-- 誰も気づかないかも
- どっちか(或いは両方)のメニューに「○○と話す」とかの項目を追加
-- これなら気づくかな
-- この方式に賛成。イベント感を高める効果もありそう
-- じゃあこれで行ってみましょう。
■発動中 [#g4d7e393]
■発動中
- 普通のランダムトークが混ざらないよう抑止したほうがいいかも
-- フラグか何か立てて、フラグ立ってる間はランダムトーク抑止とか
-- コミュ途中で終わったらフラグ立ちっぱなしになるので、ゴーストの起動/終了時等にフラグリセットしないと
-- 抑止には同意。ヴィイの方はユーザからの操作があった時点で共通の処理を呼んでいるので、そこにフラグリセットを入れておこうかと
- 少なくともHandの触り・必殺技は抑止
■会話ネタ
- とりあえずセクハラ
-- ヴィイの経験(何の?)についてのぶっちゃけトーク。
-- または普段はできないようなアレ。
- 他のゴーストについての雑談
-- Handにとって魅力的なゴーストとヴィイにとって魅力的なゴーストの違いとか。
(以下、互いに((といっても殆どウエ紙様がアイデアを出してくださったのですが))アイデア出し。)