閉じる
ChatGPTに台詞を書いてもらうプラグイン「ChatGPT_APIMZ」を公開しました。

ChatGPTに台詞を書いてもらうプラグイン「ChatGPT_APIMZ」を公開しました。

ChatGPTに台詞を書いてもらうRPGツクールMZプラグイン「ChatGPT_APIMZ」正式版を公開しました。

【デモ動画】

ChatGPT_APIMZをダウンロード

※ 旧ChatGPT_APIMZ.jsはChatGPT_APIMZ_Classic.jsとして別ファイルに移行しました。
※ プロジェクトサンプルはこちら


【必要なもの】
・RPGツクールMZ本体
・ChatGPT APIキー

以上です。APIキーさえあればプラグイン単体で動きます。
ソースのカスタマイズは自由です。自作品に自由に生かしてください。

ただし、APIキーを登録したまま作品を公開してしまうと、第三者に利用されてしまうため、何らかの作品を公開する場合は、サーバサイドに設置するか、プレイヤー自身にAPIキーを入力してもらう機能を持たせてください
プレイヤーにAPIキーを入力させる場合は、こちらのプラグインが便利です。
なお、キー漏洩に関するトラブルなど当方では一切責任を持ちません。


【OpenAI APIキーの取得】
(1)  OpenAIのデベロッパーサイトにアクセスし、「Get started」をクリック
(2) 「人間であることを確認します」と表示されたらチェック
(3) 「Create your account」と表示されるので、メールアドレスを入力
(4)  Password入力欄が現れたらパスワードを入力
(5)  メールアドレス宛てに承認メールが送信さます。
(6) メ ール内の「Verify email address」ボタンをクリック
(7) 「Tell us about you」で、名前と組織名を入力
(8) 「Verify your phone number」で電話番号を入力
(9)  SMS認証を行い、コード番号を入力
(10) 個人利用の場合は「I’m exploring personal use」を選択
(11) OpenAIのプラットフォームにァクセスし、右上のアイコンをクリック
(12) メニューから「View API Keys」をクリック
(13) 「Create new secret key」ボタンをクリック
(14) 表示された「sk-」から始まるランダム英数字がAPIキーです。


【使い方】
(1) OpenAIで取得したAPIキーを、ChatGPT_APIkey にセットしてください。
(2) 空き変数IDが最低3つ必要です。
・プレイヤーの質問を一時的に変数に入れます。空いている変数IDを UserMessageVarId にセットしてください。
・AIからの回答を一時的に変数に入れます。空いている変数IDを AnswerMessageVarId にセットしてください。
・回答履歴を一時的に変数に入れます。空いている変数IDを MemoryMessageVarId にセットしてください。
(3) AIに台詞を作ってもらいたいイベントに、プラグインコマンドで  「ChatGPT_APIMZ」を選び、キャラクターの設定を登録してください。


【ウィンドウのカスタマイズ】
メッセージウィンドウの幅や背景色、枠線の太さなどを変更したい場合は、function createStreamingTextElement() をカスタマイズしてください。ウィンドウ調整ツールをご参考ください。
https://aokikotori.com/chatgpt_apimz_window/

キーボードで文字入力出来るプラグインを公開しました。

キーボードで文字入力出来るプラグインを公開しました。

PCのキーボード、スマホの場合はタップ入力で文字入力出来るRPGツクールMZプラグインプラグイン「InputDialog」を公開しました。
JavaScript標準のウィンドウプロンプトを利用していますので、コードも軽いです。

入力した内容は、プラグインコマンドで設定した変数IDに格納されます。もちろん日本語も使えます。

InputDialogをダウンロード
(2023/04/12更新 Ver 1.0)

画像の様にアドベンチャーゲームの謎解きに使用したり、
ChatGPT APIとの通信プラグイン「ChatGPT_APIMZ」でAPIキーを入力させるのにも使えます。

BOOTHに登録してみました。

BOOTHに登録してみました。

BOOTHに「言葉の工房」というショップを出店しました。
https://aokikotori.booth.pm/

自作品に関連するダウンロード商品を中心に置いていければな、という感じですが、「BOOTHで商品を売るってどんな感じなのかな」という感覚で登録したため、今は特に何も思いつきませんで…。

取り急ぎ、その第一弾としてChatGPTのチャットボットPHPスクリプトを置いています。
https://aokikotori.booth.pm/items/4673191
お客様のサイトにおひとついかがでしょうか? ChatGPTは某国や某国が利用を禁止するほどの影響力ですからね。既に凄いですが、まだまだ発展途上だと思います。私も追っかけていきます。

プレイ時間が一致しない問題について

プレイ時間が一致しない問題について

kotonoha*のフリーゲームでは、ほぼすべての作品に「プレイ時間」を表示していますが、秒がすごい勢いでカウントされていたり、「戦闘に3分程度しかかかっていないのに6分もかかった事になっている」といった現象がたまに不具合として報告されています。

これは不具合というわけでは無くて、ゲーム内のプレイ時間を「フレームレート」から取得しているために起こる現象です。

プレイ時間

モニターのリフレッシュレートが60Hz、あるいはグラフィックボードの設定フレームレート等が60fpsで設定されている時、プレイ時間は時計通りに表示されます。
一般的なPCであれば殆どがその様に設定されていますが、ゲーミングモニター、ゲーミングパソコンなど高いリフレッシュレートが設定可能な環境でプレイを行った場合、たとえば120fpsの時は2倍、240fpsの時は4倍の速さでプレイ時間がカウントされます。

1秒を正確に計測したい場合は、下記の様な手順でゲーム内フレームレート制限を60fpsにしてみてください。

GeForce製フレームレート設定例 ※Windows10
1) 「NVIDIAコントロールパネル」を開く(デスクトップを右クリック等で表示)
2) 3D設定→3D設定の管理
3) 「プログラム設定」タブを選択
4) カスタマイズするプログラムを選択する→「追加」をクリック
5) プログラムが見つからない場合→「参照」をクリック
6) プレイしているフリーゲームのフォルダ内にある「Game.exe」を選択
7) このプログラムを指定するの下部にある「最大フレームレート」の設定欄をクリック
8) 値を60 FPSに設定
9) 「適用」をクリックしてからNVIDIAコントロールパネルを閉じる
10) Game.exeを開いてゲーム開始

これでゲーム内フレームレートが60fps以上で出力されなくなるため、正しいプレイ時間が刻まれます。

新サーバに移行しました。

新サーバに移行しました。

断続的にエラーが続いていたため、本日新サーバに移管しました。
この記事が閲覧出来ていましたら、新しいサーバに無事アクセス出来ているという事になります。レスポンスの向上も実感いただけるかと思います。

エラーの直接的な原因はサイバー攻撃等によるものでは無く、以前のVPSサーバのメモリ不足の影響によるものと思われます。WordPress無しの以前のサイトなら何の問題もありませんでしたが、PHP-FPM+WordPressを稼働させるにはやや力不足だったのかも知れません。今回のサーバは以前の4倍ぐらいの性能を持つもので、協賛企業様からご提供いただきました。完全解決かどうかは分かりませんが、こちらでしばらく様子見したいと思います。

(これでもエラーが発生する様なら、サーバ代だけで月3万円は飛びます…)