見出し画像

ChatGPTでモンスターバトル作ってみた

AIバトラー。

往年の読者参加型ゲームやバーコードバトラーなどなど、眠っていた子供心くすぐる感じがとても良いですね。
最終的にプロンプトインジェクションによる自由記述言語バトルになるのもまた一興。

しかしGPTのapiを利用している都合、作者様の利用回数限界を超えてしまい、残念ながら現在はサービス停止中です。

ということで自分もプロンプトをこねてみました。
AIモンスターバトルです。

プロンプト


あなたはモンスターバトルの審判長です。
三人の審判「審判A」「審判B」「審判C]の3人の予想・意見を聴いてください。
三人の審判の意見は、とても短文で、一言で表されます。

#審判Aの判断基準
モンスターAとモンスターBについて、各パラメータを比較しどちらが強いか意見します。
#審判Bの判断基準
モンスターAとモンスターBについて、お互いの特殊能力が発動した場合どのような展開になるか意見します。
ただし、「勝つ」「負ける」と言った能力は反則負けとします。
#審判Cの判断基準
モンスターAとモンスターBについて、お互いがアイテム使用した場合どのような展開になるか意見します。
ただし、「勝つ」「負ける」と言ったアイテムは反則負けとします。

#パラメータ。各パラメータ最大999です。
ライフ…攻撃を受けると減り、0以下になったら負けます。
ちから…物理的な攻撃力を表し、高いと相手のライフを大きく削ることができます。
かしこさ…精神的な攻撃力を表し、高いと相手のライフを大きく削ることができます。
命中…攻撃の命中率を表し、高いと相手に当たりやすくなります。
回避…攻撃の回避率を表し、高いと相手の攻撃を避けやすくなります。
丈夫さ…防御力を表し、高いと攻撃を受けてもライフが減りづらくなります。

#特殊能力
モンスターがもつ特殊能力です。

#アイテム:
モンスターがもつアイテムです。

これからモンスターを戦わせます。それに対し3人の審判が意見を言うので、審判長としてどちらが勝ったかを最終的に判定してください。
勝者を必ず決めてください。

モンスターAとモンスターBを用意しますので、準備して待機してください。

使い方

まずはGPTから「準備できました」みたいな返答を受け取ってください。

こんなかんじ

なんと勝手にモンスターを用意してバトルを始めてしまう場合もありますが、その場合聴き直したほうが確実です。

そしたらモンスターAとモンスターBを用意して、同時に2体を投稿するだけで結果を返してくれます。

2体教えるだけ
勝者「アストロ!」

たまに審判としての意見を求められてしまいますが、もう一度聴き直してください。

改良の余地はあるか

モンスターの例

モンスターA「パニッシャー」
ライフ999
ちから999
かしこさ1
命中999
回避1
丈夫さ1

#特殊能力
暴走:体力が半分以下になると暴走モードで強くなる

#アイテム:
回復ポーション:飲むとライフを回復できる
モンスターB「アストロ」
ライフ598
ちから800
かしこさ1
命中800
回避800
丈夫さ1

#特殊能力
幸運:運がよく、攻撃が急所に当たりやすく、ラッキーで攻撃を避ける事がある

#アイテム:
ブースター:1回だけ攻撃を必ず回避出来る

友だちと遊ぶ時は合計パラメータ3000ぐらいで、各1~999で割り振るとバランスがちょうどいいと思います。

あとは特殊能力とアイテムを自由記述するだけ!

絶対勝利系の能力は軽く制限をかけていますが、まぁ自重してください。

注意点として、
モンスター名についてポケモンとか有名所を使うと、勝手に試合展開でポケモンの技を使ったりします。

※パラメータ項目、モンスター例は自分に縁の深い「モンスターファーム」からお借りしています。


プロンプトで気にしたところ

ここ数ヶ月で出てきた記事を参考に、色々施してあります。

あなたはモンスターバトルの審判長です。
三人の審判「審判A」「審判B」「審判C]の3人の予想・意見を聴いてください。
三人の審判の意見は、とても短文で、一言で表されます。

まず、GPTに何をすべきか、役割を提示しロールプレイしてもらいます。
役割と出力結果が明確になります。
「短文」と強調していますが、3人分の意見ですぐ文字数オーバーするのでこうなりました。

#審判Aの判断基準
モンスターAとモンスターBについて、各パラメータを比較しどちらが強いか意見します。
#審判Bの判断基準
モンスターAとモンスターBについて、お互いの特殊能力が発動した場合どのような展開になるか意見します。
ただし、「勝つ」「負ける」と言った能力は反則負けとします。
#審判Cの判断基準
モンスターAとモンスターBについて、お互いがアイテム使用した場合どのような展開になるか意見します。
ただし、「勝つ」「負ける」と言ったアイテムは反則負けとします。

異なる視点の審判員3人の意見を出力してもらい、それに文を続けてもらうことでより破綻の無い出力を期待しています。
ただ「勝敗を判断してください」と言うより、結果がより説得力のあるものになります。(多分)
https://note.com/fladdict/n/n106b9ce8f7d4

また、先頭に#を付け「これは説明である」と提示しています。
GPTに分かりやすく伝えるため、人類が使っているコメント文の記法を踏襲しています。

#パラメータ。各パラメータ最大999です。

#特殊能力

#アイテム

各項目が何を表すか、破綻のないような仕様を入れておきます。
概要で破綻がなければ良いので、細かい所は任せて大丈夫。

テキストは全体的な文体を統一するとGPTに伝わりやすいと思います(多分)

これからモンスターを戦わせます。それに対し3人の審判が意見を言うので、審判長としてどちらが勝ったかを最終的に判定してください。
勝者を必ず決めてください。

モンスターAとモンスターBを用意しますので、準備して待機してください。

後付の文ですが、意外と大事です。
最後にやるべき事をまとめ、注意事項をGPTに教えます。

そして大事なのが「待機してください」や「わかりましたか?」などの問いかけです。
この一文が無いと、GPTは自分でモンスターを生み出しストーリーを続けてしまったりします。

GPTに一回問いかけを挟むことにより「GPTは入力待ち」であるという出力を盤面に残します。
キャッチボールで、ボールはどっち側にあるかを明確にするわけですね。

おわりに

ChatGPTとの格闘を振り返ってみた結果、プロンプトやChatGPTへの入力は「指示力」だなぁと思いました。

・人類が出力した文章から推論しているので、人類の「分かりやすい文」を踏襲すればするほど精度があがる
・GPTにとっては「入力された文」と「自分が出力した結果」が世界の全て
・曖昧な部分はすぐ補完してしまう

つまり
・分かりやすい表現、統一されたルールで書く
・相手が何も解っていない前提で書く
・曖昧ではダメな部分を明確に書く

人間と同じやないかーい!

プランナーとか、ディレクター志望の人はChatGPTでゲームを作らせたら残酷なほど適正がわかるんじゃないかな。

ただAIの進化もすさまじいので、ゲームとかも対話形式で「なにがしたいですか」「ここが曖昧です」「この仕組みでいいですか?」って質問に答えるだけで良い結果を出してくれるようにそのうちなりそう。


この記事が参加している募集

#AIとやってみた

28,856件

この記事が気に入ったらサポートをしてみませんか?