今後の対応予定表 ■対応予定 キャラクター変更の簡略化 いただいた要望:キャラクターを右クリックして、メニューから直接別のキャラクターに変更したい。 開発の考え:伺かにもあった機能。キャラクターをパッケージ化したことでやりやすくなってるし、ぜひ実装したい。 対応:実装。 右クリックメニューから「キャラクターの変更・追加・退去」が行えるようになりました。 また、システム内でキャラクターを変更するようになったため同様にシステム内で「キャラクターの左右寄せ・左右反転」ができるようになりました。 そして、システム側でその位置情報を記録し、次回起動時再現するようになりました。 テーマカラーの追加 開発の考え:キャラクターを自由にカスタムできるようになったことで、UIのカラーを変えらえるようにしたくなった 対応:実装。 UIを更新し、デフォルト、システム、ダークモードの3種をデフォルトで実装した。 また、colorthemesフォルダに.ini形式で追加することでオリジナルのカラーリングを追加することも可能です。 入力履歴の呼び出し いただいた要望:Geminiに拒否された(「うーん、うまく言葉が出てきません。」と返ってきた)際に、直前の入力内容を簡単な操作(例:↑キー)で呼び出して修正・再送信したい。 開発の考え:実装したい。現在も保存してる会話の過去ログを使えばできるか?イメージとしてはコマンドプロンプトの入力欄での挙動。 対応:実装。 コマンドプロンプトのターミナル同様、上キー・下キーを押下することで過去の入力履歴を使用できるようになりました。 キャラクターごとのエラーメッセージ設定 いただいた要望:Geminiに拒否された際の「うまく言葉が出ません」という定型文をキャラクターに合わせたい。 開発の考え:キャラクターの個性を出すために実装したい。character.iniでキャラクターごとにエラーメッセージや定型文の内容をカスタマイズできるようにしたい。 対応:実装。 キャラクターフォルダの「character.ini」に[SYSTEM_MESSAGES]を追加し、ここから ・Geminiが空の応答をしてきた場合 ・通信がタイムアウトした場合 ・GeminiのAPIモデルがすべて使用できない状態 ・API接続の予期せぬエラー の4種類のエラーメッセージを編集できるようになりました。 [SYSTEM_MESSAGES]が存在しない・空白の場合は、これまで同様システム側のデフォルトメッセージが使用されます。 好感度機能 開発の考え:キャラクターとのやり取りによって好感度が変動し、反応が変わる機能を追加したい。 ただし、「好感度が高いと○○してくれる」はキャラクター製作者側の設定とそれに対するGemini側の解釈次第ではある。 対応:実装。 キャラクター毎にユーザーへの好感度を-500~500の範囲で保持・記憶するようになりました。 初期値は0です。 今後システムを起動しキャラクターを呼び出すと、そのキャラクターのフォルダに「favorability.ini」というファイルが生成されるようになり、これがセーブデータとして機能します。 また、デフォルトでは好感度レベルで色が変わるハートマークでUIに好感度情報が表示されます。このデザインはcharacter.iniからキャラ固有のデザインを指定できます。 会話ログ個別所持 開発の考え:キャラクター変化の簡略化によりシステム内でキャラクターを切り替えられるようになり、 さらに好感度の概念が発生したため、キャラクターの会話ログも個々人で所持させたい。 対応:実装。 これまで「logs」フォルダに配置し、全キャラが共有で参照していた「conversation_log.log」を、各キャラクターのフォルダにそれぞれ配置するようになりました。 キャラクターたちの「conversation_log.log」には、「そのキャラクターが場に出ているときに起きた出来事・やり取り」だけが記録されます。 スケジュール機能の追加 開発の考え:「schedule.ini」とかつくって、そこに予定を書き込めるようにしたい。 「schedule.ini」には「毎日のスケジュールの内容と時間」、「特定の日付の予定の内容と日付時間」を登録して、その時間が来たらメッセージを出力するようにする。 時報もサンプルを兼ねてこれに組み込む。 対応:実装。 記念日やスケジュールを記録し、キャラクターがお知らせしてくれる機能を実装いたしました。 右クリックメニューの「スケジュール管理」メニューからスケジュールの一覧を開いて追加・編集・削除することができます。 スケジュール入力のサンプルとして、お正月等の季節ごとのイベント日や毎日毎時の時報がデフォルトでスケジュールに組み込んでいます。 そのため、旧来の時報機能は廃止となりました。 時報の一時停止 開発の考え:エロプレイ中などにいきなり時報をされたら萎えそうだと思った。 なので上記のスケジュール機能と合わせて、右クリックメニューから一時的にスケジュール機能を停止する機能を追加したい。 対応:実装。 上記のスケジュール通知機能について、右クリックメニューの「スケジュール通知を有効にする」を押下しチェックを切り替えることで、オンオフできるようになりました。 API接続設定メニュー追加 開発の考え:コンフィグをいじらずともシステムUIからAPIキーやvoicevoxのパスなどを変えられたら、初めて触る人にやさしくて便利。 対応:便利なので実装。 ウィンドウサイズの非ピクセル化 要望:現在のシステムはウィンドウサイズ等をピクセルで設定しているため4Kモニタ等だとサイズが小さすぎる 開発の考え:対応します。 対応:実装。 画面サイズを基準に一定のサイズで表示するように変更。 自発発言が連続で発生することがある 要望:ごくまれにキャラクターの自発発言が20秒ほどで連続して発生することがある。 対応:修正しました。GeminiAPIとのやり取りで時間がかかっているとクールタイム更新が1度無視されることがある不具合がありました。 ■見送り・現状では難しい事項 3Dモデル(VRM)対応 いただいた要望:2Dの立ち絵だけでなく、VRMのような3Dモデルを動かしたい。 開発の考え:「ここここ」はどんどんユーザー側で自由にキャラクターを作成し使用・共有してもらいたいです。 そのためモデルやモーションを用意する導入ハードルが高く、また運用環境のスペック次第で動かせるモデルのクオリティも変わる、3Dモデルは対応しない方針です。 ただし、アイデア自体は良いものだと認識しているので、GitHubで公開してるソースコードを参考にキャラ表示部分をそういう仕様にして個々人でやるといいと思う。 他の音声合成ソフトとの連携 いただいた要望:VOICEVOXだけでなく、svb2 (Seiren Voice) やAivisSpeechなど、他のTTS(Text-to-Speech)エンジンも使えるようにしてほしい。 開発の考え:実装難易度は低いだろうが、あれもこれもとやっていくと大変なので少なくとも今は見送りで。もし将来不具合やらが落ち着いたら、実装するかもしれない。 ただし、アイデア自体は良いものだと認識しているので、GitHubで公開してるソースコードを参考にvoicevox呼び出し部分を書き換えれば個々人で実装できるとは思う。 タッチ反応のアニメーション いただいた要望:胸を揉むなどのタッチ操作に対して、静止画の切り替えだけでなくアニメーションで反応してほしい。 開発の考え:今の口パク機能みたく、画像を高速切り替えすればアニメーションをさせることも技術的には可能だろう。 ただし、そうした場合システム側は「アニメーションさせるアクションとさせないアクション」を区別する方法を実装する必要があるし、 キャラ制作者側もそのアニメーション分画像を用意する必要があったりと大変。 アニメーション中の表情差分どうするの?って問題もあるし。 そこら辺のハードルを乗り越えてアニメーションを実装するキャラ製作者の数と、「この画像・表情・アクションはアニメーションをさせる/させない、表情は変化させる/させない」といった風な情報がcharacter.iniに増えて無駄に対応することになるその他キャラ製作者の数の差を考えてもあまり実装には乗り気ではない。 エロ機能の充実 いただいた要望:R-18関連の機能をさらに充実させてほしい。 開発の考え:「ここここ」じたいはあくまで健全なソフトウェアで、だからGitHubで公開できてる面もあります。(デフォルトキャラクターがやたらむちむちしてたりはしますが…) R-18要素はあくまで「キャラクター側」が持つものなので、 キャラクター側で「衣装変更機能」を使って「成人向けな衣装」とか「成人向けなモード(衣装名を成人向けモードとかにして画像を変化させる)」を実装したり、そこでタッチ反応機能で「成人向けなアクションをしたよ」ってのを実装して楽しんでほしい。 ただし、今後何か「あくまで健全な範囲で、キャラ制作時にも成人向けで使える機能」が思いついたら聞かせてほしい。 また、GitHubでは公開しませんが、スレッドでキャラクター改造のサンプルを兼ねたエロ特化キャラをキャラクターファイル単位で配信したりはします。 アンチウイルスソフトによる誤検知 いただいた要望:ノートンなどのセキュリティソフトが、タッチエリア座標を取得する補助機能をマルウェア(キーロガー)と誤検知する場合がある。 対応:完全な誤検知なので正直こちらでは対応しようがなさそう。 再起動の不具合 いただいた要望:メニューからソフトウェアの再起動がうまくいかない場合がある。 開発の考え:不具合なので修正したかったのですが、本ソフトウェアの構造とコンパイルに使用しているpyinstallerの相性が非常に悪く、 ソフトウェア内での操作から安全に再起動する方法が見つかりませんでした。 幸い終了ボタンは正常に機能しているため、ソフトウェアを終了後手動で再起動していただけたらと思います。 一時的に再起動ボタンは非表示にして封印いたしますが、巧妙見え次第復活させる予定ではあります。 ■その他 「伺か」ゴーストの活用 いただいた要望:更新が停止した「伺か」のゴースト(キャラクターデータ)を流用して、AIで会話できるようにしたい。 開発の考え:わかりみが深い。キャラ制作の範囲なのでシステム側で出来ることはないが応援します。 ■将来的な構想・アイデア 会話の長期記憶 開発の考え:現在のGeminiAPIはテキストモデルは毎回単独の呼び出ししかできず、セッションによる記憶保持ができないため、 システム側でこれまでのログを毎回投げてます。 もし将来GeminiAPIが対応してくれれば、より自然な受け答えができるはず。 API利用回数の残数のリアルタイム取得 開発の考え:現状GeminiAPIから「残りの回数」や「今日の利用数」を取得する方法がありません。 そのため、システム側でモデル使用のログを残し、回数をカウントしています。 しかし別のシステムから同じAPIキーでモデルを読んでいれば当然それは検知できませんし、Google側が急にレート数を変える可能性もあります。 なので、もし将来Google側がAPI呼び出し時などに残り回数等を取得できる方法を公開してくれればそれを監視するシステムを導入したいです。