大根コミュニケート

「大根コミュニケート」の編集履歴(バックアップ)一覧に戻る

大根コミュニケート - (2012/02/25 (土) 13:37:13) のソース

[[FrontPage]]

#contents

----
*これって何? [#s08b9eff]
**ゴースト間コミュニケートで変数(数値とか言葉とか)の受け渡しをする [#z9356d02]
-トークだけではわからない内容を送受信するのが目的です。
-技術仕様の元ネタは[[台本トーク(仮)]]です
-ていうか、ゴースト間I/Fと考えてもいいのかな。

*何ができるの? [#c9df86f8]
変数の受け渡しですが、具体的には・・・
-ユーザを差し置いてゴーストだけで内緒話ができる。
-サーフェイスを変えるだけのリアクションに反応できる。
-「え?」とか「はい?」だけでも何のトークの返信か特定できる。

*使うには [#ka5e9555]
**ゴーストを改造する必要があります [#ffd5c0c6]
-対応ゴーストであれば、「伺か」とゴースト以外に必要なものはありません。
-複数ゴーストの同時起動が前提となります。
-ゴースト自身がSSTP(本体間のNOTIFY/1.1相当?)を拡張して使い、他のゴーストにトーク以外の追加情報を送ります。
-追加情報を送られたゴーストは、内容に応じてリアクションを返します

*特徴 [#o51ae185]
-トークに追加して送る情報は、基本的に返信を「期待する」だけのものです。
-ゴースト間コミュニケートの規格上に別の通信規格を載せただけです。

*課題 [#b68e0de2]
-実装がちょっとめどい。
-送信する変数の氾濫や不統一がおこりそう
-複数個の変数がある場合はどうするか
--複数回のコミュニケートを行う?
--区切り文字を入れて一度に送信して相手側でsplitしてもらう?
--複数個の変数送信を禁止する?
-あるいは相手ゴーストの関数呼び出しと考えてもいいけど、どういう仕様がベストか~
--関数とする場合、別の識別子にした方がいい?

*発展 [#yea9339b]
**テンプレート的会話(キーワードによるトーク) [#vcd5f533]
ある程度お決まりの会話パターンに対して固定のキーワードを用意すれば、~
相手を問わない「一般的」で妥当な会話ができそう。(「挨拶」とか「ボケ」「ツッコミ」とか)
***個別反応への発展(キーワードトークのオーバーライド) [#bedb9e26]
キーワードによる汎用の会話は「ゴースト名」によって個別の反応に分岐できる。~
切り替え反応で、個別のゴーストに対する反応を追加するようなもの。
**世界観の相違によるキャラ崩れの防止 [#k15f5869]
あらかじめトーク内容のジャンルを変数として受け渡し、返信によって振って欲しくない話題を相手に伝えることができる。~
(HTMLのメタ情報で、ボット制御にNOINDEXを指定するみたいなもの)
**「外見」などを判断 [#xa49612d]
未知のゴーストであっても、相手が規格に対応していれば、外見上の特徴などの情報が取得できる。~
(通常のコミュニケートは、デベロパが見聞きしてこれらの情報を判断し反応を返す)
**既存のコミュニケートでリアクション [#fc3cc209]
トークが何か判断を行うのに十分なものだったり、「こんな規格はよくわからん!」って場合は~
渡された変数なんて無視して普通のコミュニケートを使ってもいいです。~
会話のきっかけにはなるだろう。

*仕様 [#o4ed3128]
**送信 [#d7770d0d]
SendTo にゴースト名を入れればコミュニケートになる?~
詳しい方補足お願いします・・・~
空いてる最初の Reference に JPRadish を、~
以降の Reference に任意の変数名や値をセットします。~

**受信 [#b091cf50]
OnCommunicateイベント が発生したとき、~
Reference に JPRadish を発見したら、~
以降の Reference 値に応じて分岐なり処理なりします。

*大根コミュニケート実装サンプル集 [#a6353634]
サンプルといえばHelloWorldでしょう。挨拶から。
**里々の場合 [#c6f9e032]
dic05_Communicate.txtあたりにスクリプトを追加します。

***受信 [#ae739ac1]

 *COMMUNICATE該当なし
 >コミュ受信(R2)
 >COMMUNICATE該当なし通常
 
 *COMMUNICATE該当なし通常
 :(R0)からの通常コミュニケート。
 該当なし。
 
 *コミュ受信JPRadish
 >大根で(R3)
 :(R0)から、(R3)だって。
 詳細は、(R4)が(R5)だってよ。
 :しらん。
 
 *大根で挨拶
 :やっはー!!
 :やっひー!!

***送信 [#ba6118e3]
 *ラベル (変数「隣で起動しているゴースト」の存在)
 $相手ゴースト名=(隣で起動しているゴースト)
 $Value0 (相手ゴースト名)
 $Value1 JPRadish
 $Value2 挨拶
 :おー、元気してるか?
(隣で起動しているゴースト)と指定すると、そのまんまゴースト名が入る。~
起動していない場合は(変数「○○」の存在)で判定する。
**文の場合 [#q6b38df6]
**華和梨の場合 [#b9f1d637]
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。