FrontPage

これって何?

ゴースト間コミュニケートで変数(数値とか言葉とか)の受け渡しをする

  • トークだけではわからない内容を送受信するのが目的です。
  • 技術仕様の元ネタは台本トーク(仮)です
  • ていうか、ゴースト間I/Fと考えてもいいのかな。

何ができるの?

変数の受け渡しですが、具体的には・・・

  • ユーザを差し置いてゴーストだけで内緒話ができる。
  • サーフェイスを変えるだけのリアクションに反応できる。
  • 「え?」とか「はい?」だけでも何のトークの返信か特定できる。

使うには

ゴーストを改造する必要があります

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

特徴

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

課題

  • 実装がちょっとめどい。
  • 送信する変数の氾濫や不統一がおこりそう
  • 複数個の変数がある場合はどうするか
    • 複数回のコミュニケートを行う?
      1. 区切り文字を入れて一度に送信して相手側でsplitしてもらう?
      2. 複数個の変数送信を禁止する?

      - あるいは相手ゴーストの関数呼び出しと考えてもいいけど、どういう仕様がベストか~

      1. 関数とする場合、別の識別子にした方がいい?

      # 発展

テンプレート的会話(キーワードによるトーク)

ある程度お決まりの会話パターンに対して固定のキーワードを用意すれば、相手を問わない「一般的」で妥当な会話ができそう。(「挨拶」とか「ボケ」「ツッコミ」とか)

個別反応への発展(キーワードトークのオーバーライド)

キーワードによる汎用の会話は「ゴースト名」によって個別の反応に分岐できる。

切り替え反応で、個別のゴーストに対する反応を追加するようなもの。

世界観の相違によるキャラ崩れの防止

あらかじめトーク内容のジャンルを変数として受け渡し、返信によって振って欲しくない話題を相手に伝えることができる。 (HTMLのメタ情報で、ボット制御にNOINDEXを指定するみたいなもの)

「外見」などを判断

未知のゴーストであっても、相手が規格に対応していれば、外見上の特徴などの情報が取得できる。 (通常のコミュニケートは、デベロパが見聞きしてこれらの情報を判断し反応を返す)

既存のコミュニケートでリアクション

トークが何か判断を行うのに十分なものだったり、「こんな規格はよくわからん!」って場合は渡された変数なんて無視して普通のコミュニケートを使ってもいいです。

会話のきっかけにはなるだろう。

仕様

送信

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

受信

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

大根コミュニケート実装サンプル集

サンプルといえばHelloWorldでしょう。挨拶から。

里々の場合

dic05_Communicate.txtあたりにスクリプトを追加します。

受信

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

送信

 *ラベル (変数「隣で起動しているゴースト」の存在)
 $相手ゴースト名=(隣で起動しているゴースト)
 $Value0 (相手ゴースト名)
 $Value1 JPRadish
 $Value2 挨拶
 :おー、元気してるか?
(隣で起動しているゴースト)と指定すると、そのまんまゴースト名が入る。~
起動していない場合は(変数「○○」の存在)で判定する。

文の場合

華和梨の場合

大根コミュニケート.txt · 最終更新: 2017/06/07 23:39 by master