Pluglog

Tkool Replay コメントは随時受け付けておりますので、古い記事でも遠慮なくお書きくださいませ。
Admin
TOPスポンサー広告 ≫ 文章自動生成TOP考察文 ≫ 文章自動生成

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Comments (-) Trackbacks (-) スポンサー広告

文章自動生成

Elona制作者さまの新作『Elin』開発中だそうで、ひえーそんな大物がくるまえに自作完成させたいですね
グラフィック面めちゃくちゃクオリティあがってますけど、サウンドにElonaの片鱗が見えてニヤリ

今日はちょうどランダムクエストと、文章の自動生成について考えていたのでElonaに学ぶところがありました。
基本的に"ランダムに出現する何か"については、メッセージもランダムで作成したい!と思うところがあります。

ランダムメッセージにハマったきっかけ・・あれはそう・・RPGツクールGB・・(回想モード)
あれにはイベントコマンドにランダムメッセージというコマンドがありまして・・
それを設定しておくと、話しかける度にキャラグラフィックに応じてあらかじめ設定されたメッセージがランダムに変わるという。
なんだかそれにわくわくしたものでした。
いくつか定型文を用意して乱数で分岐すれば可能なので、ツクールとしては初歩的な処理でした。(GB乱数なかったかもしれないけど)

しかしPC版ツクールでは、より高度なことができます。
文字列の配列を用意して、その中からランダムで抜き出したり、文字同士を足したりもできるのです。

a = ["やぁ、","こんにちは、","ハロー"]
b = ["元気?","調子はどう?"]
$game_variables[1] = a[rand(a.size)] + b[rand(b.size)]


てなかんじでスクリプトを組んで、変数1に代入しておいて、文章表示で\v[1]とやれば・・
「やぁ、元気?」「こんにちは、元気?」「ハロー元気?」
「やぁ、調子はどう?」「こんにちは、調子はどう?」「ハロー調子はどう?」
これだけで3×2の6パターンの文章が自動生成できちゃうわけです。

これを利用して、前作FuhrungWeissでは
ライバル「URYEEEEEEEEE!私は魔法少女の下僕だよ。
     パンデモニウムを狩りにきたんだ。
     暇だから、ジハードする?」
みたいな文章を生成していたわけですね。

今作ではさらにこれを体系化して、もっと法則性をつけたり汎用的にできたらいいなと思ってます。
例えばクール属性を持ってるキャラなら、落ち着いた話し方や「……」がでやすかったり、
楽天的なキャラなら元気のいい感じになったり、みたいな。
人物を示すワードや、場所を示すワードなどのリストをあらかじめ作っておいて、使いまわすとか。

Elonaの掲示板依頼なんかは、そのへんスマートにやっているので参考になります・・
dataフォルダの中にboard.txtってのが入ってるんですよね
20160912233347.png
これを見ると、置き換えようのワードがまず最初にいくつか定義してあって、
{ある}はある、ありますのどちらかにランダムに振られるようになっているようです。

20160912233341.png
そして実際の依頼内容はこちら、定型文を主体に依頼対象や語尾などが埋め込みワードで変数化されてるわけですね
これは編集するときにも非常にわかりやすい書き方で、拡張性も高くていいですね!

Rubyでも式展開

x = "変数"
"文章中に#{x}を埋め込める" # => 文章中に変数を埋め込める


ってなことができるので、似たようなことはできます。

{ある}をある、あります に変換するような方法の場合は
a = ["ある","あります"] のような配列を作って、要素をランダムに抜き出すか・・
a = "ある,あります".split(/,/) のように区切り文字を決めてsplitを使って同様に配列化する方法がとりあえずのところ。
後者の方が編集は楽できそうだけれど、結局配列化するならsplitの分処理が増えてしまうので、負荷的には前者の方がいいかも。
splitの方法に気づかず、そもそも前者で作ってたのでまあこのままでいいかなって感じですが、
もっといい方法あれば知りたいなー なんてことを今日は考えていましたとさ。

Comment

編集
自動生成メッセージを上手く使ったフリゲは
FWとelona、あとは太くて長い俺の○○くらいしか知らないなあ
FWの素晴らしいセンスに当時は感動させてもらいました
飽きが来ないので大好き
2016年09月15日(Thu) 00:39
編集
おお久々のコメントが!ありがとうございます!
好きな人は好きだと思いますランダム文章・・接頭辞とかも言葉の組み合わせの面白さだったりすると思いますし
FWのメッセージはけっこう無茶苦茶ですけどね!たまーにそれっぽい文章ができると、おおっ・・!となります
作者も飽きないゲームが理想です!
2016年09月15日(Thu) 01:06







Trackback

Trackback URL

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