今回結構重要なのでゴースト内でも更新内容を通知してみました。
重要以前に最近の迷走+今回長時間の作業でかなり精神的に参った結果です。
よければ知恵を貸してください。
twitterはじめました。
情報源の一つとして登録しましたが、ついでなので自分でも使ってみようかと。
ゴースト更新時 or ゴースト更新時+ゴースト関連についてつぶやくか悩んでいます。
どちらのほうが需要あるでしょうか。
ここから本題。
里々、もしくはわたし個人の限界と感じ、こうして外部の助力を求めました。
明日から関数全てを勉強しなおし、何か最適な解がないかと探しますがおそらく相当時間がかかります。
なので以下の情報を見て、もしピンと来たら一言ください、泣いて喜びます。
またまたランダムトークの処理を変えました。
内部見てもらえばわかりますが相当変数が増え、起動時の負荷も増えています。
まずdic00_Base、dic03_Eventにある、
初回起動時、通常起動時、他のゴーストからの変更時に、
手打ちしたトーク数全て取得し、それを元にランダムトークの確率を生成、この際分母に当たる全トーク数も取得したトーク数を合計し得ています。
そうして得た変数で、dic01_Talkにある唯一のランダムトークで一旦処理をし、擬似的にランダムトークを返すようになっています。
わざわざ一旦処理を挟む理由は、今回実装したトークジャンル設定のオン、オフ。
それと好感度によりトークが開放されるようにと、辞書フォルダを読み込まずに動作するためです。
この流れの問題は以下の点。
・起動時に大量の処理をするために動作が重くなる。
・変数を大量に生成する。
・もとのトーク数は三ヶ所に手打ちしているためミスの可能性や、手間が増える。
・二度目以降起動した時の初めてのトークが発生しない。
#二度要求したら普通にしゃべるように、初回起動時はこのエラーは確認できませんでした。
#現状原因不明、おそらく原因は簡単なものでしょう。せめてこれさえ無ければ……
はじめ変数や処理を減らそうとdic01_Talkにある各ランダムトークに飛ぶ">"の塊に条件式を突っ込んでいましたが、どうやら>の条件内で計算ができないようで……
これに気づくのにかなり時間を取られました、取られた時間を計算すると如何に己の器が小さいかがわかります。
今回の件はかなり惨めで、どれほどわたしの実力が低いのがわかります。
しかしそれを踏まえても、こうして誰かに助力を求めるべきだと感じました。
この処理に手間取る前から気づいていたことです、恐らくわたしには一人で満足する域までゴーストを完成させることはできないでしょう。
自分で不要なトークを選択できない人間です、矛盾した設定から抜け出せずもがいている人間です、
些細なミスや処理のミスに気づけない人間です、0から絵を練習しようと意気込んでいるだけの人間です。
これを見ているあなたの言葉一つがわたしを救うとは限りません。
ほっといてもわたしは一人でこの状況をなんとかするかもしれないし、勝手に失踪するかもしれません。
でももし何か改善に繋がる可能性がある言葉が浮かんだら一言ください。
あなたの一言でわたしの苦しむ数十時間/十数時間がなくなります。
完成までの時間が減ります/失踪までの時間が増えます。
#追記の追記
手持ちゴースト全てを、ランダムトークに名前を振っているかどうかで判断し調べてみた。
まずリンゴの樹とシズクと冷しゃぶが名前を振っている上に、トークジャンル設定できるようになっていたけど、
前者は名前振りの時点でバランスが取れており、その後処理で軽く乱数により調整するだけで済んでいる。
後者は3ジャンルのみで、その後の調整は見つからなかった。
里々wikiも何度も見直したが、
理想解である"名前のついたトークを数える"変数や関数が発見できなかった。
もう一度試しつつ探してみる予定、これさえあるなら全てが上手くいくんだけど……
どうしてもこれがないなら条件式や処理を増やして試してみる、処理の負荷と成果が釣り合うかどうか……
ここまで来ると前提が間違っているんじゃないかと思ってしまう。
ジャンル分けしているのが間違い、好感度でトークを増加するのが間違い、ランダムトーク時を偏らせないようにするのが間違い。
もしくはゴースト製作を始める所から間違っていたのかもしれない。
たとえそうだとしても、もう妥協はしたくない、ただでさえ妥協まみれのゴースト公開なんだから。
たったこれだけの処理なんだ、全てが上手くいく理想解がどこかに必ずあるはず。
そしてそれが見つかれば、たった一歩の小さな進歩だけど、確かな理想の証明になって、
妥協ばかりのゴースト製作やわたし自身の人生の道標になってくれるはず。