やっぱりフェルナンドのUO日記

ウルティマオンラインに関する雑記

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Wisp語に関する雑考


今回の記事は広義の解析行為を含む可能性がありますが、UOの規約に抵触するほどの内容・質ではないと考えております。



 先日、暇をもてあましてうおみんを見ていたら、おもしろいコミュニティを見つけた。その名もずばり、『wisp語録』というものだ
 コミュの内容はというと、UO内でWispが喋った瞬間のSSを撮り、それをひたすら記録し続けるというものだった。私が見た時点で投稿数は100くらい。世の中にはおかしなことをする人もいるものだと感心した

 Wispと言えば、UOでは手を出さなければ安全なモンスという認識だろうか。フィールド上にふよふよ浮いている、光ってるあれ。設定的には、異世界Xoriniaからの窓口だったか使者だったはず
 もっとも私にとってのwispは、トレハンのときにOLのHPを減らすのを手伝ってもらうための、扇動の第二ターゲットという認識だ
 ダンジョンの名前にもなったり、アーマゲドンの呪文を教えたりと大活躍のwispだが、その生態はあまり知られていない。というより、ほとんどわかっていない
 一応、UOの中の本にはwispについて書かれたものがある


Britannian Peacocks内のNPC本コーナー:ウィスプと話す Talking to Wisps By Yorick of Moonglow
ttp://home.att.ne.jp/gold/uo/uo/books/book_17.htm


 読み返してみたついでに上記のページ内にリンクのあったBritannian Bard Societyのページも見たところ、wispと話せるとかなんとかいう話が載っていた
 せっかくだから話してみようとファイア島を駆け回りwispを探したのだが、実際に話しかけてもなんの応答もなかった。街のNPCがコマンドを受け付けなくなった時点で、wispとの会話機能も無くなってしまったのかもしれない。黒岩ドロップでいくらか話せた時期もあったような気がするが、普通の会話をしてみたかっただけに残念でならない


 さて、そんなwispではあるが冒頭で紹介したうおみんの記事では、wispはいまなお元気良く喋くりまわっているようである。PC側からのアクションでは返答しないものの、自発的にはまだまだ喋るのだ
 では一体、彼らが何を喋っているのか。というより、wisp語とはどういう言葉なのかが気になった
 『ウィスプと話す』では、母音子はyだとかwcmlも母音だとか書かれていたが、しかし、それだけでwisp語録を読み解くことはできない。はてさて、どうしたものか


 で、探してみたところ、こんなページを見つけた


Moonglow Paradise:Wispについて
ttp://home.att.ne.jp/gold/konro/moopara/book/wisp.htm


 ここにもウィスプと話そうの原文が載っているが、注目すべきはその下。なんとウィスプの発言が542例も載っていた。なんつう暇人根性のある人だ
 また、サンプルの下にあるちょっとした考察も興味深い。同じ単語の繰り返しがほとんどないとか。ふむ


 これって、ランダムに文字列生成してるだけじゃね?


 そんな考えがふと頭をよぎった。もしそうであるなら、先人の苦労が水の泡だ。そうであって欲しくは無い。オークやリザードマンのように、一応はそれっぽく設定された意味ある言語をwispには喋っておいてもらいたい
 が、しかし一方で、500以上の台詞を当時開発元のOSIやギャリ夫さんがわざわざ設定するであろうか、という疑問も拭い去れない。wispの喋る言葉のパターン数が多すぎる。もし自分がゲームを作るとして、wispの台詞パターンをいくつ用意するだろう。多くて30くらいじゃなかろうか


 色々考えては見たが、それだけではなんともならないので、とりあえずサンプルを見ながらwisp語の規則性を探ってみた



Wisp語規則

・aeouを抜かした英字22文字及び『!』(エクスクラメーション)、『 』(半角空白)と『.』(ピリオド)を加えた合計25文字で構成される。

・文頭は必ず英大文字となる。
・文末は必ずピリオドないしはエクスクラメーションとなる。

・空白は連続しない。

・エクスクラメーションの直前は、必ず英文字となる。
・エクスクラメーションの直後は、空白ないしは文末となる。
 →xx!x といった単語は無い

・英大文字は文頭のみに出現する。
 →xxXx といった単語は無い


 なんとなく、英語の規則を踏襲した形になっている。というより、英語のわかる人が読みやすいようになっている。いや、もっと言えば単語の意味を無視した英語そのままだ
 また、サンプル内で一回に吐き出す文字列の文字数最小は4文字で、最大は61文字だった
 空白で区切ったものを単語とした場合の、ピリオドとエクスクラメーションを除いた単語の出現率は以下の通り

 1文字 28.9%
 2文字 29.0%
 3文字 31.0%
 4文字 5.4%
 5文字 5.6%
 6文字以上 0.0%



 見れば見るほど、『既存のNPCの吐く台詞テーブルから適当なものをチョイス→記号を除外して英字だけ抽出→全部小文字へ変換→乱数で換字処理→上記の出現率テーブルの乱数で区切ってピリオドかエクスクラメーション付与→文頭のみ大文字化』をやっているように思えてくる

 だがしかし、そうは問屋が卸さない。以下のグラフを見ていただきたい


 これはサンプル内で使用されている文字の使用数を文字ごとにグラフ化したものだ。青い棒が文字ごとの使用総数
 見ての通り、xの使用頻度が高いことがわかる。シャーロックホームズの踊る人形等で有名なシーザー暗号とかならば、これで『eはxに置換されたのだ!』とか言えるのだが、山の形が通常のアルファベットの使用頻度と合わないので、そう単純ではなさそうだ

 また、使用頻度200を超えるくらいの低使用頻度の文字のほうも気になる
 一つの文字を別の一つの文字に置換する単一換字処理であれば、そのまま他の文字に置き換わるので、英語でのアルファベットの使用頻度にそのまま当てはめていけばよい。しかし、グラフでは低使用頻度の文字が全て横並びになっている。普通、単換字暗号であればjqxzとかの低仕様頻度の文字はすぐわかるのだが、そう上手くはいかないようだ
 なので、単換字暗号のような処理であるならば、それに加えて50%くらいは英字22文字へランダム置換されていると見るべきだ

 おもしろいのは、文頭の文字だけをカウントした数字だ
 グラフの赤っぽい棒は見やすく数を10倍したものだが、これが総数とほぼ同じ形状をしている。つまり、文頭にくる文字と文中に存在する文字の使用比率が等しいという結果を示しているのだ。これは、もし適当な台詞からの抽出をしていたとしても、文頭からそのまま使用している訳ではないのである。途中から切って使っているのであろうか





 さて、そろそろ結論を書こう。結論は、お手上げだ
 そう、まったくわからん。私にはこのwispの喋る言葉がどうやって作られているのかまったくわからなかった。こうして私は、わけのわからない言葉を色々といじくりまわして時間を潰す、おかしな人たちの仲間入りをしてしまったのだ
 そしてあなたも、こうして訳の分からない文章を時間を割いて読む、おかしな人になったという訳である
 もし志ある人がいらっしゃるのであれば、是非このwispの謎に挑戦していただきたいものである



ソースコードを見ないで解くところに美学があると思うFibでした。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://tumitovatu.blog.fc2.com/tb.php/420-073248e7
この記事にトラックバックする(FC2ブログユーザー)

予約宿名人

 | ホーム | 

FC2Ad

 

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

最新記事

最新コメント

リンク

プロフィール

Fib

Author:Fib
大和を中心にちょぼちょぼ活動してます。

月別アーカイブ

GameTime

 

Copyright
(C) Electronic Arts Inc. Electronic Arts, EA, EA GAMES, the EA GAMES logo, Ultima, the UO logo and Britannia are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. All rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。