コラム > management

ゴースト管理メモ




黒いここにおけるサーフェスの指定について

「masterシェルには無いが追加シェルにはあるサーフェス」をghost側で指定する場合どういう方法がクレバーなんだろう。
電磁さんに黒いここを製作して頂いた際にやったのは「追加シェルで増えた分のサーフェス(masterに加え11~18番がある)を
トーク内に直接記述し、master(1~9番までしかない)でも使えるようmasterのsurface.txt内に架空の11~18番を作ってごまかす」
というもの。要するに追加シェルをghostに合わせたのでは無くghostに追加シェルを合わせた形。正直力業というか、あまりよろしくない
感じの方法だと思う。現在使っているシェルを取得して、トークは同じだけどシェルの指定だけ違う別人格モードとして起動…ってのは
トーク一つ増やすたびに手間が2倍になるので面倒過ぎる。さてどうしたものか。

…と頭をひねっていたところ電磁さんからメールを頂き「こんな風にやったら?」とのアドバイスを貰いました。
何から何まで本当にありがとうございます。また、検索して見つけたあーるでぃーさんのこのエントリも役に立ったので、
お二人から得られた知恵を自分なりにかみ砕いて(コピペしただけとも言う)ご紹介。

1.今やっていること

shell/master/surface.txt内の記述に「黒いここ」の11,12,13,14をmasterの1で、15,16,17,18を9で代用した
架空のサーフェスを水増ししています。説明するより実際に見て貰った方が早いかも。

2.まずは今のシェルを取得しよう

*OnNotifyShellInfo
$現在のシェル名【タブ】(R0) 
これでR0にシェル名が入ります。OnNotifyShellInfoはゴースト起動時、シェル変更時に通知されるので取りこぼすことはありません。

3.シンプルなやり方

辞書内にあらかじめ
@表情
(when、(現在のシェル名)==追加シェルA、((A0)))
と書いておき、トーク中でサーフェスを指定する際に
(call、表情、"追加シェルにのみ存在するサーフェス番号")
と記述すると「追加シェルA」というシェルで起動中の時だけサーフェス切り替えが行われます。記述例は以下の通り。
*
:(1)おはよう。(call、表情、11)今日はいい天気ですね。
この場合該当する追加シェルAがあれば11番のサーフェスが呼び出されるわけ。けれどもこのやり方には欠点があり、
*
:(call、表情、11)おはよう。(call、表情、15)今日はいい天気ですね。
というようなトークの場合、追加シェルが入ってないと表情が変わらないままになってしまいます。

4.ちょっと頑張ってみる

今度は辞書内に以下の物を書いておきます
@表情
(when、(変数)==追加シェルA、((call、変換、(A0))))

@変換
(iflist、(A0)==、
△、□
)
△には「追加シェルにのみ存在するサーフェス」、□には「マスターシェルの時に表示するサーフェス」がそれぞれ
必要なだけ入ります。追加のサーフェスが5個あったらmasterの時に代わりに表示するサーフェスを5個分
用意しないといけないからね。例えばここに「11、9」と記述してしておくと
*
:(1)おはよう。(call、表情、11)今日はいい天気ですね。
というトークが、「追加シェルA」で起動中の時は
:(1)おはよう。(11)今日はいい天気ですね。
となり、masterの時は、
:(1)おはよう。(9)今日はいい天気ですね。
となります。「(call、表情、11)なんていちいち記述するのは面倒!」という時にはreplace.txtに
「(表情、【タブ】(call、表情、」と書いておけば「(表情、11)」と省略でき、さらに頑張って前掲のあーるてぃーさんの
スクリプトを用いれば普段の里々と同じく(11)とか(9)とか記述すれば大丈夫になります。

さて、ここまでで4つの方法があるわけですが、いずれも追加シェルが一つの時はいいけど、二つになったらちょいと面倒な
事になりそうです。そういう場合でも、現在の方法(1.今やっていること)なら次々surface.txtをいじれば何とかなりそう、
おまけに作業量も少なそうな気がするので、とりあえずはこのままにしておこうかと思います。(なんか問題出たら直します)



里々の「$自動挿入ウェイトの倍率」「$自動挿入ウェイトタイプ」について

ドハマりして泣きそうになったのでメモ。$自動挿入ウェイトタイプは「一般」の方が「里々」より長めのウェイトが入ると
ここに書いてあるが、実際に試してみた。体感的には「一般」は「里々」で指定した倍率の倍くらいのウェイトが入るっぽい?*1
「一般」の150%と「里々」の300%がトントンくらいのように感じたが、大きな違いとして「一般」の場合スコープ切り替え時
(さくら←→うにゅう間での会話切り替え時)にかなり長めのウェイトが入る。また長文を表示した場合「里々」よりさらに
ゆっくり目に文章が表示される。またトークの開始時にも結構ウェイトが入るため、ショートカットキーを連打して次々トークを見たい
時にはストレスになるかも。とはいえ「制作者にとって見やすいスピードは、ユーザにとっては速すぎるスピードだ」理論からすれば
ちょっと悠長なぐらいが良いはずだ。というわけで当サイトで公開しているゴーストはウェイトタイプ「一般」、倍率「130%」で
公開している。気が向いたら変わるかもだけどな!



配布サイトにおけるフォルダ管理について

複数のゴーストを管理している時にフォルダをそれぞれ作っておかないと非常にまずいようです。
「ふしぎの国の世界大戦」はその昔アーカイブやプレビュー用の画像、バルーンと一緒な所に放り込んでました。
配布しているゴーストが1体だけならそれでも良いんだけれども、複数持とうとすると非常に不味い。だって更新するたびにファイルがごっちゃになっちゃうし。
最悪上書きされて泣きたくなるようなことになるかも。当たり前だけれどすっかり忘れてました……。こうなった場合、
ゴーストの辞書を書き換える事により、例えば里々だったら@homeurlを書き換え、「新しいURLに書き換えたファイルとupdate2.dauだけを古いURLの所に置いておく」
ことでなんとかカバー出来ます。ただ、使いもしないファイルをユーザーが更新してくれるまで当分残さなければならないのですが。
ユーザーがネトワクかける→古いURLが新しいURLに書き換えられる→次回更新時には(新規で作ったフォルダの)URLから更新してくれる。
自分でさんざっぱら「ネトワク更新が上手くいかなかったらアーカイブ更新してね」と言っといて何ですけど、ユーザーの感覚として
「ネットワーク更新はするけどアーカイブからの更新はしない」っていうのがあるんじゃないかと。
更新に失敗と出ても余り気にしないですし、わざわざ配布元までチェックしようともしないような…。少なくとも自分はしていなかったです。
それ以前に更新無しと(いろんな理由のせいで、具体的にはupdate2.dauあたりがおかしいとか)表示されてそれで終わり、ユーザーも気にもしない、っていうのは面白くないよねぇ。



フリーシェルのdescript.txtについて

フリーシェルの制作者には丁寧な方もおられ、descript.txtも詳細に記述してくれている場合もあります。
ここで注意すべきなのが、この中にsakura.name kero.name が含まれているとghostフォルダで記述したそれを無視してしまうことがあると言うことです。
里々で実験したところ他のゴーストから切り替える時にshellフォルダ内のsakura/kero nameを交代時に喋ってしまいました。
disc-2のシェル解説には乗ってないけどShell設定には乗ってるところを見るといわゆる旧仕様と言う奴か?

実験してみた。SSP/2.02.03 shioriは里々satori-mc146-3
ghostフォルダ内のdescript.txtにsakra.name,ポスト と書き、shellフォルダ内のdescript.txtにsakra.name,ほげほげ と書く
他のゴーストから交替すると「ポストさんに変わります」と言われる。←正常な反応
他のゴーストへ交替完了した時は「ほげほげさんから変わりました」と言われる。←おかしい
通常はghostフォルダの方にしかsakra.nameは書かないのでこんな事は起こらないはずだ。気になったのでghostフォルダの方のdescript.txtからsakura.nameを消してみた。
他のゴーストから交替すると「ポストと狛犬に変わります」と言われる。
name, で指定したもの、要するに「アリステア」じゃなくて「ふしぎの国の世界大戦」が呼び出されたってこと。
他のゴーストへ交替完了した時は「ほげほげさんから変わりました」と言われる。

とても分かりやすい結論
shellフォルダにあるdescript.txtからsakra.name/kero.nameを今すぐ消すんだ!

追記 こちらのサイトで1年半も前にすっごく分かりやすく説明されてました。googleセンセーのばかっ!

さらに追記。web拍手から送っていただきました、ありがとうございます。
フリーシェルのdescript.txtについて 若干補足しておくと、おっしゃるとおり昔の名残です。ごくごく初期の頃にはシェルによって人格を切り替えていたため、
シェルのdescript.txtにあるsakura.name、kero.nameが現在でも優先されます。ただし、
シェルのdescript.txtが読み込まれるまではghost側のが読まれちゃうので、完全に別人にはできません。 
なるほどなぁ。「shellフォルダだけでなくghostフォルダにもmasterという名前のフォルダがあるのは、
その昔黒姉をみんなで作ろうとしたときの名残であり、ghost部も多人数で作れる構造にしようとしてた」という話を見たことがありますが、
「デベAが作った人格とデベBが作ったシェルを組み合わせて楽しむ」なんていうゴーストは確かに興味を引かれます。しかし
「それって同じ名前を冠したゴーストである必要無いじゃん」というもっともな意見を考えるに、生み出されなかった(流行らなかった?)理由も想像出来ますね。
お祭り用・イベント用のゴーストとしてならあるいは。



アンカーとツールチップについて

たまには真面目なことを書こうか。うかべん横浜を読んで思ったこと。
日頃「里々で出来ない事はネェ!*2」と言ってるので技術的なことはおいといて…。
バルーンにおけるツールチップ、これは以外と目からウロコかも。
「分かり難いネタをどうやって解説するか」という点で、アンカーは便利なのだけれど一々トークをぶった切るのが欠点だ。
さらにゴーストに「これはなにそれで~」といかにも説明口調で喋らせるのは好きじゃないなァ。
とはいえ架空の世界が舞台のゴーストではそんなことも言っていられない訳で、何かにつけてユーザへ伝えなければならないのだが、
「これは…【重要なキーワード】!」
「【重要な】…【キーワード】?」
「知らないのか、これは以下略」
という会話に成り立ってない以前に誰に説明してるんだよそれ的な物は見苦しい。*3
その点ツールチップならマウスを乗せるだけでいいし、第3者からの説明・鳥瞰図的な説明が出来る。と思う。
「あれそれなこれこれ いわゆるほげほげの事。 民明書房『スクリプトはシェイクスピアを書くか』より。」
といったお堅い説明とか、文章でツンツンしてるけどツールチップではデレてるとか、要するに小説で言うところの「地の文」みたいな感じのものが
使えるようになる。シェルの表情・バルーンの文字・ツールチップに隠された情報 という3者の混合は映画や活字では表現出来まい。
「ゴーストが喋る訳じゃない文章」というのは発想力次第で化けそうだな、と思った次第。誰も使わないなら君が使おう! 俺も頑張る!
説明はここだ!



OnUpdate.OnMD5について

このテの説明は見るだけで頭が割れそうだ!という人*4のための小ネタ。
OnUpdate.OnMD5CompareBegin,OnUpdate.OnMD5CompareComplete,OnUpdate.OnMD5CompareFailureの3種*5は、
ネットワーク更新においてMD5を照合開始・一致・不一致の際に発生するイベントだ。これをゴーストの辞書から消してしまえ! というハナシ。
クイックセッションを使っても更新するファイルの量が多ければうっとおしいし、第一ユーザがハッシュの値を見て一喜一憂したりすることはない。
最悪なのはクイックセッションすら使っていない場合で、こうなるとユーザは黙ってCtrlボタンを押しっぱなしにすることを要求される。
そも、ユーザにとって重要なのは「更新に成功したか否か」であるし、それはOnUpdateComplete,OnUpdateFailureで通知出来る。
後はどうにかしてユーザにその旨報告してもらえば全て丸く収まるんじゃないかな、と思った訳。
「MD5チェックの時のトークが好きだ!」というのは痛いほどよく分かるので、代わりにOnUpdate.OnDownloadBeginを使うことを提案する。
これは各ファイルのダウンロードが始まる際に発生するイベント。Reference0で今からダウンロードするファイル名を引っ張ってこれるので、
どのファイルが更新されているか楽しみな人(少なからずいると思う)も安心だ。



ゴースト恋愛事情小考

ユーザ・ゴースト間の関係とその分派一覧(のようなもの)

【ユーザさん好き好きゴースト(ソロ) ユーザ主体性:高】
├だんだん仲良くなって好き好きになるゴースト
└最初から好き好きモードなゴースト

【ユーザさん好き好きゴースト(相方有り) ユーザ主体性:中~高】
└相方もユーザさん好き好きなゴースト

【伝統的な非人間相方*6のいるゴースト ユーザ主体性:中~高】
└特定条件下でのソロモード搭載ゴースト

【百合ん百合んな(あるいは薔薇ん薔薇んな)ゴースト ユーザ主体性:低~中】
├ユーザとも仲良くなれるゴースト
└ひたすらイチャつくゴースト

【男女カップルによるゴースト ユーザ主体性:低】
├兄妹・親子など家族関係がある
└正真正銘のリア充

その気になればもっと細かく分類できると思われるが、大体こんな感じだろうか。ここで言う「主体性」とはユーザ(あなた)がどれだけゴーストに入れ込むことが出来るか、
平たく言うなら「○○は俺の物!」と名乗りを上げるのにどれだけ心理的・設定的抵抗が薄いかを示す。
ユーザさん好き好きゴーストと彼氏or彼女が隣にたっているバカップルなゴーストと、どちらが脳内でイチャつくためのハードルが高いかは火を見るよりも明らかだろう。
ここ最近人気なのはおおむね「相方用のソロ機能のあるユーザさん好き好きゴースト」であり…つまり同時に2人以上とイチャつけるゴーストである、と思う。
個人の好みは「他人がイチャついているところを見たくない」「むしろニヤニヤできる」「男は要らぬ」「うほっいい男」「百合こそ至高」「ショタが正義」と
世紀末・議論百出・五里霧中な状態なのであまり喧嘩するのは宜しくないかと。
好きな球団と性癖と政治の話は外でしちゃいけません!」と言うわけだな。
ところで、ユーザさん好き好きゴーストというのは長いので、usskskgという略称を提案したいのだが如何か。



ゴースト配布元としてのatwiki


ここがグッド
  • サルでも書けるとても簡単なテキスト整形ルール
  • そこそこ小ぎれいなテンプレート
  • レンタルwikiで唯一FTPが利用可能freewikiでも使えるみたい
  • アップロードできるファイルの種類に制限がない。zipもnarも可
  • 通常のwikiのようにページに画像を添付する事も出来る、容量1MBまでだが数は無制限
  • 通常のwebサイトのように「管理者だけ編集」することが簡単にできる

ここがバッド
  • 派手に情報流出した
  • FTP機能でアップロードできるのは1ファイル3~4MBまで、合計で10MBまで
  • ただし画像はwikiの添付機能を使う、なんて節約術で実質容量を稼げる

ゴーストのネットワーク更新に「ゴースト配布系自動化システム」を使っているためFTPが利用できるのは
とても大きい。こいつがあれば最初に設定さえすればその後はクリック一発で更新できるようになるんだぜ。



最終更新日 2017-06-08





.
最終更新:2017年06月08日 22:16

*1 大ウソ書いてたらごめん

*2 少なくとも自分の貧弱な想像力で思いつく限りの事は出来る

*3 ただし世の常で突き抜けると逆に面白くなる。MMRとか。

*4 主におれのことだ

*5 正確にはもう3種あるけど、そんなことを知っている人はこんな所見る必要ない

*6 要するに、うにゅう