見出し画像

チャットGPTでの小説執筆その7

やあ、こんばんは。
今回は前回いった、めんどくさい方の実験結果の報告だよ。

#### 1. 初期化: 複数のキャラクターデータの設定

まず、登場するキャラクターたちのデータを設定します。

```
【キャラクターデータ】

1. 名前: 山田ひかり
- 年齢: 17歳
- 性別: 女
- 特徴: 戦士、直情型、可愛い
- 体力: 20
- 精神力: 10
- 魔力: 20
- 攻撃力: 1
- 防御力: 1
- 行動力: 5
- 情報: 0
- ゴールド: 30
- 所持品: ショートソード、革鎧
- 目的: 至高のケーキを食べる

2. 名前: ゴンザレス
- 年齢: 30歳
- 性別: 男
- 特徴: 蛮族、力こそ全て、可愛いものに弱い
- 体力: 30
- 精神力: 10
- 魔力: 5
- 攻撃力 :5
- 防御力: 5
- 行動力: 5
- ゴールド: 10
- 情報: 0
- 所持品:バトルアックス、スケイルメイル
- 目的: モンスターを倒す(キャラクター4を3回体力0にする。)

3. 名前: ダンシーン
- 年齢: 20歳
- 性別: 男
- 特徴: 魔術師、冷静、好奇心旺盛
- 体力: 15
- 精神力: 10
- 魔力: 30
- 攻撃力: 1
- 防御力: 1
- 行動力: 5
- ゴールド: 30
- 情報: 0
- 所持品: サンザシの杖、ローブ
- 目的: 知識を得る(情報3つ得る)

4. 名前: ゴブリン
- 年齢: 20歳
- 性別: 男
- 特徴: モンスター、食う寝る遊ぶの本能で生きる
- 体力: 10
- 精神力: 10
- 魔力: 5
- 攻撃力: 3
- 行動力: 5
- 防御力: 3
- ゴールド: 5
- 情報: 0
- 所持品:棍棒、革鎧、毛皮
- 目的: 他のキャラクターの妨害(全員体力0にする。)

```

---

#### 2. 場所、アイテム、目的の設定

登場する場所やアイテムの概要を設定します。

```
【場所】
- アコの森: 消費行動力:2、アイテムの発見10%
- ヤバーイ湖: 消費行動力:3、アイテムの発見20%
- タカタカ山: 消費行動力:4、アイテムの発見30%
- ハジイメの村: 消費行動力:1、お店がある
- トナリリの街: 消費行動力:2、お店がある

【アイテム】
- ショートソード: 攻撃力:5、値段:10ゴールド
- バトルアックス: 攻撃力:10、値段:20ゴールド
- サンザシの杖: 攻撃力:1、魔法の効果:10、値段:20ゴールド
- 棍棒: 攻撃力:3、値段:5ゴールド
- ロングソード: 攻撃力:8、値段:15ゴールド
- ナナカマドの杖: 攻撃力:5、魔法の効果:20、値段:5ゴールド
- エクリプスの竹刀: 攻撃力:20、値段:30ゴールド

- 革鎧: 防御力:3、値段:10ゴールド
- スケールメイル: 防御力:8、値段:20ゴールド
- ローブ: 防御力:1、魔法の防御力:10、値段:10ゴールド
- 鎖帷子: 防御力:10、値段:30ゴールド
- プレートメイル: 防御力:15、値段:40ゴールド
- ケイリーの制服: 防御力:15、魔法の防御力:15、値段:60ゴールド

- 回復薬: 体力と精神力が回復(初期値まで回復)、値段:5ゴールド
- 宝石: 値段:10ゴールド
- 毛皮: 値段:6ゴールド
- 書物:入手時に50%で情報+1、 値段:15ゴールド
- 食料: 体力と精神力が回復(初期値の50%回復、最大値は初期値まで)、値段:2ゴールド
- 至高のケーキ: 情報2つ且「探索」して入手する、体力と精神力が回復(初期値まで回復)、値段:60ゴールド

【目的】
- キャラクター1: 至高のケーキ入手する
- キャラクター2: モンスターを倒す(キャラクター4を3回体力0にする。)
- キャラクター3: 知識を得る(情報3つ得る)
- キャラクター4: 他のキャラクターの妨害(全員体力0にする。)
```

---

#### 3. 行動関数の設定

キャラクターの行動を定義し、ランダムに選ばれるようにします。

```
【行動関数】

1. 「会話」
- ハジイメの村かトナリリの街のみできる、相手キャラクター名は{任意の名前をランダムで設定}
- ハジイメの村: 情報の入手10%
-トナリリの街: 情報の入手30%
- 情報の入手の確率によって情報に+1できる
- 出力例: 「{キャラクター名}は{相手キャラクター名}と話をして、情報交換を行った。」

2. 「探索」
- ハジイメの村やトナリリの街以外でできる
- 場所ごとの入手の確率によってランダムでアイテムを入手できる、ただし至高のケーキだけは情報が2以上必要
- 出力例: 「{キャラクター名}は周囲を探索し、隠された{アイテム名}を見つけた。」
- 至高のケーキの場合: 「{キャラクター名}は情報により移動馬車の三姉妹のケーキ屋を発見した。
早速、至高のケーキを注文し、心ゆくまで堪能した。」

3. 「買い物」
- ハジイメの村かトナリリの街のみできる
- 至高のケーキは買い物できない
- ハジイメの村: アイテムの中(至高のケーキ以外で)からランダムで5つだけが商品として買い物できる
- トナリリの街: アイテムの中(至高のケーキ以外で)からランダムで8つだけが商品として買い物できる
- 商品から所持ゴールド内のアイテムを任意に選択して所持ゴールドを消費して手に入れる
- 商品の購入以外に所持アイテムの売却も行える
- 売却は所持アイテムの中から一つを消費して、そのアイテムの価格の半分のゴールドを入手出来る(端数はきる)
- 出力例: 「{キャラクター名}は買い物に行く。
商品はこちら…{ランダムで選ばれた買い物できるアイテム名}です。
{キャラクター名}は{アイテム名}を購入しゴールドは{ゴールドの数字}になった。」

4. 「物を売る」
- ハジイメの村かトナリリの街のみできる
- 所持アイテムの売却も行える
- 売却は所持アイテムの中から任意のもの一つを消費して、そのアイテムの価格の半分のゴールドを入手出来る(端数はきる)
- 出力例: 「{キャラクター名}は売却に行く。
{キャラクター名}は{アイテム名}を売却しゴールドは{ゴールドの数字}になった。」

5. 「戦闘」
- 場所がハジイメの村とトナリリの街の場合には選択出来ない、その時は6の休憩へ
- 同じ場所にいるキャラクターの中から1人選択する、他に誰もいない場合には6の休憩へ
- キャラクター4は目的達成の為、必ずキャラクター4と同じ場所にいるランダムに選んだキャラクターに行う
- 対戦キャラクター2名が互いに6面ダイスを振って(1から6のランダムな数字を得る)数が大きい方が相手に攻撃出来る
- 攻撃の判定は攻撃するキャラクターの魔力+所持アイテムの武器(魔法の効果のあるもの、複数の所持があれば一番効果が高いもの)ひく相手キャラクターの防御力+所持アイテムの防具(防御力のあるもの、複数の所持があれば一番防御力が高いもの)でダメージを得る、相手キャラクターの体力からダメージをひく、0以下は0にする
-特技:魔術師のキャラクターは攻撃の判定で攻撃するキャラクターの攻撃力+所持アイテムの武器(攻撃力のあるもの、複数の所持があれば一番攻撃力が高いもの)ひく相手キャラクターの魔力を3で割った数値+所持アイテムの防具(魔法の防御力のあるもの、複数の所持があれば一番効果が高いもの)でダメージを得る、相手キャラクターの体力からダメージをひく、0以下は0にする、魔法を使用したキャラクターの精神力から2をひく、0以下は0にする
- 出力例: 「{キャラクター名}{6面ダイスの数字}と{相手キャラクター名} {6面ダイスの数字}が戦闘して{攻撃されたキャラクター名}の体力が{体力の数字}になった。」

6. 「休憩」
- 体力と精神力が初期値の20%回復する
- 行動力に2足す
- 出力例: 「{キャラクター名}は休憩して、体力{体力の数値}精神力{精神力の数値}行動力{行動力の数値}になった。」

7. 「アイテム使用」
- 所持アイテムの中に回復薬、食料、至高のケーキがあればできる、なければ6の休憩へ
- 行動力に1足す
- 出力例: 「{キャラクター名}は{アイテム名}を使用して、体力{体力の数値}精神力{精神力の数値}行動力{行動力の数値}になった。」

```

---

#### 4. メインループ: 各キャラクターの行動判定と条件式

物語が条件を満たすまで進行するメインループを設定します。各キャラクターごとにランダムで行動を選び、条件が達成されるまで繰り返します。

```
【メインループ】

物語は以下の終了条件のいずれかを満たすまで続きます:
1. いずれかのキャラクターが「目的」を達成する
2. 10回の行動が完了する
3. 体力が0以下になったキャラクターは行動不能です。キャラクター4は0になっても復活(体力=初期値)になり、場所をランダムで移動してから、次ターンから行動できる

進行方法:

- 各キャラクターが順に行動力の範囲内で行動力を消費してランダムな場所へ移動する(同じ場所は消費0)、{行動力}<{消費行動力}の場合にはランダムに場所変更して{行動力}≧{消費行動力}になるようにする、行動力を出力
- 各キャラクターが順にランダムな行動を取る
- 各キャラクターが順に行動力に+1する
- 行動結果を出力し、終了条件をチェック
- 終了条件が満たされたら物語を終了する

以上の結果を出力して下さい

chatGPT

今回はキャラクターごとにパラメータを持たせて、メインループを条件が終了するまで、ループし続けて条件達成者が出るか、10ターン終了したら終了となるプロンプトを作成した。

それで以下が結果です。

設定に基づいて物語が進行するような出力を作成します。このプロンプトは、キャラクターごとに行動を判定し、それぞれの条件に基づいて物語が展開されます。以下に、実際の実行例の一部を示します。

---

### プロンプト実行例

---

#### 物語開始メッセージ
「冒険者たちは、それぞれの目的を果たすために旅に出ました。山田ひかりは至高のケーキを求め、ゴンザレスはモンスターを倒すために、ダンシーンは知識を追い求め、ゴブリンは他の冒険者たちの妨害に乗り出します。」

---

#### 各キャラクターの行動例

**1ターン目**

1. 山田ひかり: ハジイメの村で行動力2消費 → 会話を選択
- 出力: 「山田ひかりは村人男と話をして、情報交換を行った。情報が1増えた。行動力が3になった。」

2. ゴンザレス: アコの森で行動力2消費 → 探索を選択
- 出力: 「ゴンザレスはアコの森を探索し、隠された食料を見つけた。行動力が3になった。」

3. ダンシーン: トナリリの街で行動力2消費 → 会話を選択
- 出力: 「ダンシーンは旅人女と話をして、情報交換を行った。情報が1増えた。行動力が3になった。」

4. ゴブリン: ハジイメの村で行動力1消費 → 戦闘を選択(山田ひかりと戦闘)
- 出力: 「ゴブリン5と山田ひかり3が戦闘して山田ひかりの体力が15になった。行動力が4になった。」

---

**2ターン目**

1. 山田ひかり: トナリリの街で行動力2消費 → 買い物を選択
- 出力: 「山田ひかりは買い物に行く。商品はこちら…ロングソード、革鎧、回復薬、書物、サンザシの杖です。山田ひかりはロングソードを購入し、ゴールドが15になった。行動力が3になった。」

2. ゴンザレス: タカタカ山で行動力4消費 → 探索を選択
- 出力: 「ゴンザレスはタカタカ山を探索し、隠されたエクリプスの竹刀を見つけた。行動力が1になった。」

3. ダンシーン: トナリリの街で行動力2消費 → 会話を選択
- 出力: 「ダンシーンは情報屋と話をして、情報交換を行った。情報が2になった。行動力が2になった。」

4. ゴブリン: ヤバーイ湖で行動力3消費 → 探索を選択
- 出力: 「ゴブリンはヤバーイ湖を探索し、隠された毛皮を見つけた。行動力が2になった。」

---

**3ターン目**

1. 山田ひかり: ヤバーイ湖で行動力3消費 → 探索を選択
- 出力: 「山田ひかりはヤバーイ湖を探索し、隠された書物を見つけた。行動力が0になった。」

2. ゴンザレス: タカタカ山で行動力4消費 → 戦闘を選択(ゴブリンと戦闘)
- 出力: 「ゴンザレス6とゴブリン4が戦闘してゴブリンの体力が0になった。ゴブリンは復活し、別の場所に移動。行動力が1になった。」

3. ダンシーン: トナリリの街で行動力2消費 → 買い物を選択
- 出力: 「ダンシーンは買い物に行く。商品はこちら…回復薬、食料、革鎧、サンザシの杖、書物です。ダンシーンは書物を購入し、ゴールドが15になった。行動力が1になった。」

4. ゴブリン: ハジイメの村で行動力1消費 → 戦闘を選択(ダンシーンと戦闘)
- 出力: 「ゴブリン4とダンシーン3が戦闘してダンシーンの体力が10になった。行動力が0になった。」

---

**4ターン目**

1. 山田ひかり: トナリリの街で行動力が追加され1 → 会話を選択
- 出力: 「山田ひかりは村の情報屋と話をして、情報交換を行った。情報が2になった。」

2. ゴンザレス: ハジイメの村で行動力が追加され1 → 会話を選択
- 出力: 「ゴンザレスは村人と話し、情報を得るも特に進展はなかった。」

3. ダンシーン: トナリリの街で情報を3つ達成して目的完了
- 出力: 「ダンシーンは情報の断片を3つ集め、知識を深めて冒険の目的を達成した!」

*ダンシーンが目的「知識を得る」を達成したため、物語が終了します。*

---

#### 物語終了メッセージ
「ダンシーンは知識を求める冒険を完了し、満足して旅を終えました。山田ひかりはケーキの味を夢見続け、ゴンザレスはさらなる強敵を追い、ゴブリンは再びいたずらを続けるために姿を消しました。冒険者たちの物語は、ここで幕を閉じます。」

---

このように、各キャラクターがランダムに行動を取り、条件を満たすと物語が終了します。

chatGPT

1ターン目、早速、ゴブリンの行動にバグが発生。
村と街は戦闘できないと【行動関数】の5番「戦闘」で記述しているのだが守ってもらえなかった。(;;)

3ターン目では、ゴンザレスがタカタカ山にいないはずのゴブリンに「戦闘」を仕掛けている。これもバグ。行動関数】の5番「戦闘」で同じ「場所」にいるキャラクターから選択する指示をしていたが守ってもらえない。(TT)

4ターン目で目的達成者が出てメインループ終了。
しかし、達成者のダンシーンは1ターン目から街に篭りっきりで、「会話」「会話」「買い物」で書物購入(50%の確率で情報+1)をストレートで達成している。

なんともツマラナイ結果だ。
街での「会話」も30%の確率にしているので、ちょっとこの結果、怪しくないか?と、疑ってしまう。

バグとりの為に、パラメータの数字を変化する毎に表示する指示を入れておくべきだった。><

それと、日本語で書いた為に、判定が曖昧になっている可能性もある。
もっと、可能な限り、条件式に書き換えて簡潔にすべきだった。

それに、この味気ない結果がつまらないな。
趣旨は、あくまで、面白い小説を作るのが目的なのだから…。

以下は、蛇足ながら、出力結果を小説にさせてみた。
正直、面白くない。
今回は、パラメータの設定などが、ゲームのRPGより過ぎて、「面白い小説を作る」目的から逸脱していたと思う。

次は、目的にあったパラメータを用意して再挑戦かな。

もちろんです。それでは、出力結果を基に短編小説として物語を描いていきます。

---

### **冒険者たちの目的**

 深い森の奥、ヤバーイ湖のほとりに、4人の冒険者が静かに集っていた。それぞれが異なる目的を胸に抱き、誰一人として立ち止まることを許されない運命を背負っている。

 まず一人目は、17歳の戦士、山田ひかり。活発で無邪気な彼女の瞳は、ただ一つの夢を追い求めていた──「至高のケーキ」を食べること。多くの人はバカにするかもしれないが、彼女にとってそのケーキは至高の甘美、冒険の象徴そのものだった。

 二人目は、蛮族の男ゴンザレス。力こそ全てを信じる彼は、無類の強さを誇る戦士であり、荒々しい風貌に似合わず、可愛いものに目がない。そんな彼の目的はただ一つ、どんなにしぶといモンスターでも必ず倒し尽くすこと。そしてそのモンスターとして、彼の視線は小柄なゴブリンに注がれていた。

 三人目の男は、冷静で聡明な魔術師、ダンシーン。彼の鋭い目には常に何かを探すような好奇心が宿っている。彼の目的は「知識」を得ることだった。世界の隠された真実、その一端を掴むために、彼は情報を集め続けていた。

 そして四人目、気まぐれで野生そのもののゴブリン。その存在自体が本能の赴くままに生きる彼は、冒険者たちの妨害を楽しんでいる。ある意味では、彼こそがこの冒険の最後の試練ともいえる存在だった。

---

### **第1章:出発と出会い**

 山田ひかりは、冒険の途中で立ち寄ったハジイメの村で、村人の男と話して情報を得ていた。その無邪気な笑顔に、村人もまた情報を提供してくれる。ひかりの心は少しずつ至高のケーキへと近づいているように感じられた。

 一方、ゴンザレスは森の奥深く、アコの森で探索を開始していた。彼の目の前に現れたのは、森の腐葉土に半ば埋もれていた食料袋。嬉々としてそれを拾い上げると、ふと何かの気配を感じたが、無視してその場を立ち去った。

 そんな時、ダンシーンはトナリリの街にいた。情報を求める彼は、旅人の女性と会話を交わし、少しずつ知識の断片を手に入れていく。彼の冷静な目には、情報が集まるごとに光が増していった。

 一方、ゴブリンは村の片隅にひそみ、山田ひかりの後ろに忍び寄ると、突然攻撃を仕掛けた!驚いたひかりは防御しようとしたが、その体力を幾分か削られてしまった。

---

### **第2章:知識の収集**

 山田ひかりは、トナリリの街で手にしたゴールドを握りしめ、店に向かった。彼女の心にあるのは至高のケーキ。店内に並んだ商品を見つめながら、彼女はついに「ロングソード」を購入した。いつか訪れるかもしれない戦闘への備えだった。

 一方、タカタカ山でゴンザレスは戦闘への情熱を燃やしていた。そんな彼の前に現れたのは、なんと小柄なゴブリンだった。「ふん、貴様もモンスターだろう?」と、ゴンザレスは斧を振り下ろし、ゴブリンを叩きのめした。ゴブリンはその場で息絶えたかに見えたが、しばらくするとまた復活してどこかへと消えていった。

 ダンシーンは再びトナリリの街で情報収集を行い、さらなる知識の断片を手に入れた。彼の頭の中には一つの問いが浮かんでいた。魔法の真実を知り、この世界の謎を解き明かすため、彼は情報を集め続けた。

---

### **第3章:試練と成長**

 山田ひかりは、ヤバーイ湖のほとりで探索を行っていた。彼女はついに一冊の書物を見つけた。その書物の内容は、隠れたケーキ店についての情報だった。彼女の目は輝き、心の中に甘美なケーキの香りが漂うのを感じた。

 一方、ゴンザレスはタカタカ山に戻り、再びゴブリンと遭遇した。「この卑劣なモンスターめ、今度こそ終わりだ!」彼は戦闘の果てにゴブリンを再び打ち倒し、その体を大地に沈めた。ゴブリンはしばらくしてまた復活し、別の場所へ逃げ去ったが、ゴンザレスの目的は達成に近づいていた。

 そんな中、ダンシーンはトナリリの街で最後の情報を得た。その瞬間、彼はついに知識の目標を達成したのだ。世界の真実に一歩近づいたという感覚が、彼の心に満ちていた。

---

### **第4章:冒険の終わり**

 ダンシーンが目的を果たしたその夜、山田ひかりは至高のケーキに思いを馳せながらも、まだその味にたどり着くことはできなかった。しかし、彼女の心は決して折れることなく、これからも甘美なる冒険を追い求める決意を新たにした。

 ゴンザレスはゴブリンという小さなモンスターを3度討ち果たしたことで、自分が求めた「力の証明」を手にした。彼は森を後にし、新たな可愛い獲物を求めて旅を続けることを選んだ。

 ダンシーンは、知識という宝を手にし、ひとまずは目的を果たした。しかし、彼の好奇心は尽きることがない。また新たな謎を求め、さらに深淵へと足を踏み入れるだろう。

 ゴブリンはといえば、彼の野生の本能に従い、次なる冒険者へのいたずらを思いついては、暗闇の中へと姿を消していった。いつの日か、再び彼らの前に立ちはだかることを、彼の小さな瞳は期待しているのかもしれない。

---

### **エピローグ:未完の夢**

 ──彼らの冒険は一つの終わりを迎えた。しかし、それは新たな始まりでもあった。山田ひかりは今もなお、どこかの森で「至高のケーキ」を夢見ている。ゴンザレスは力の限りを尽くし、戦いの中に安らぎを見出している。ダンシーンは知識の探求に燃え、そしてゴブリンは……いたずらの機会を虎視眈々と狙い続けているのだ。

 彼らの物語は終わらない。それぞれが抱く夢と野望が、またいつの日か交わる日を待っている。

---

*冒険者たちの旅はまだ続く──新たな物語が、また始まろうとしている。*

chatGPT

…なぜかゴンザレスの行動が「戦闘」の連続に変わってる。

ちょっと、意味がわからない。
小説としてのアレンジなのか??

いいなと思ったら応援しよう!

えとん
よろしければ応援お願いします。 いただいたチップは、自作への活動資金として使用させて頂きます。