関係を変化させたいとき · 変数

変数は、会話しながら積み上がる値です。好感度が上がると敬語がタメ口になり、疑惑度が上がるとキャラクターが口を閉ざす、というように値に応じてキャラクターの態度が変わるようにします。

こんなときに

  • 最初は冷たかったキャラクターが、話すほど少しずつ心を開いてほしい。
  • 親しくなるのが早すぎたり、告白が早く出すぎたりして没入が切れる。
  • 推理ものでユーザーが怪しい動きをしたら、キャラクターに警戒してほしい。

好感度ゲージを思い浮かべると簡単です

恋愛シミュレーションの好感度ゲージと同じです。ユーザーの言葉と行動に応じてAIがゲージを少しずつ上げ下げし、ゲージがどの区間にあるかでキャラクターの振る舞いが変わります。

変数は二種類です。

  • ゲージ: 数字で上下する値です。好感度、信頼度、疑惑度、所持金のように。
  • テキスト: 一行の文で変わる値です。「今している行動」「現在の目標」のように。ステータスに出したり、流れを覚えておくメモとして使います。

良い例と惜しい例

値がいつ変わるかを具体的に書いて初めて、AIはきちんと動かします。

惜しい例

「会話に応じて適切に変わる。」AIが基準を知らないので、毎回少しずつ上がるだけか、まったく動きません。

良い例

「キャラクターの趣味を覚えていたり、危険から助けたりすると上がる。約束を破ったり、ほかの人の肩を持ったりすると下がる。普通の雑談では変わらない。」 変わらない場合まで書くと、値がじわじわ漏れません。

区間ごとの行動は「するな」より「いつする」と書きます。

惜しい例

「告白しない。」禁止だけ書くと、AIはかえってその言葉に引っ張られやすくなります。

良い例

「告白は好感度90以上で初めて出る。」いつするのかを伝えると、それまでは自然にとっておきます。

試してみる · 変数

ユーザーの行動を押してみてください。殺意の値が上下し、区間が変わるとキャラクターの口調も変わります。

殺意60 / 100
  • 0から: ナイフを置いて、そばを守る
  • 30から: ためらって任務を先延ばしにする
  • 60から: 優しいふりをして機会をうかがう
  • 85から: 任務を実行しようとする

キャラクター:「寒いだろう、もっと近くに。…そう、それでいい。」

同じ言葉をかけても、好感度によってこう変わります。

好感度20のとき

今日、一緒に夕食どう?

キャラクター

…予定がありまして。また今度に。

好感度70のとき

今日、一緒に夕食どう?

キャラクター

ほんと? ちょうどお腹すいてた。どこ行く?

やり方

  1. 三つ目のステップロアブックで変数を追加 — ゲージを押します。
  2. 変数名を書きます。例: 好感度。あとでステータスを自分で飾るつもりなら、スペースを入れずにつけておいてください。
  3. 値の範囲を決めます。例: 0から100。初期値を空にすると一番低い値から始まります。残り日数のように減っていく値なら、初期値を必ず書いておいてください。
  4. 値が変わる条件に、いつ上がり、いつ下がるかを書きます。
  5. 区間ごとの行動に、値がどの線を越えたらキャラクターがどう変わるかを書きます。
ヒント

好感度だけではありません。殺意のように物語に合った名前をつけると、ぐっと生きてきます。条件はこんな具合です。「ふたりだけの思い出ができると少しずつ下がり、ユーザーが彼を疑うと上がる。普通の会話では変わらない」

区間はこう取れば大丈夫です。今の値が越えた線のうち一番高い線の行動一つだけが適用されます。好感度が65なら、60の区間の行動だけが出ます。

この値からキャラクターは
0敬語を使い、聞かれたことにだけ短く答える
30自分から近況を尋ね、たまに冗談を言う
60名前で呼び、タメ口になる。自分の悩みを打ち明ける
90告白はこの区間で初めて出る

すぐ使えるセット

恋愛もの

名前種類範囲いつ変わるか
好感度ゲージ0〜100気遣い・記憶・助けで上がり、無視・嘘で下がる。雑談ではそのまま
緊張度ゲージ0〜100ふたりきりの場面・近づく瞬間に上がり、ほかの人が入ると下がる
今の行動テキスト30文字キャラクターが今している行動を一行で

推理・スリラー

名前種類範囲いつ変わるか
疑惑度ゲージ0〜100ユーザーの話のつじつまが合わなかったり何か隠したりすると上がり、証拠を見せると下がる
手がかりテキスト60文字ここまでにユーザーが集めた手がかりを一行で

知っておくと便利

  • 値はゆっくり動きます。 どんなに劇的な場面でも一度に大きくは跳ばないので、0から90まで行くには会話がかなり続く必要があります。区間を決めるときは「何回くらい話せばここに届くか」を思い浮かべてみてください。
  • 変数の欄では{{user}}は使えません。入力すると消えます。代わりに「ユーザー」「キャラクター」と書いてください。
  • ユーザー側の数値も作れます。 変数は誰の値かが決まっていません。名前を「汚染度」にして、条件に「ユーザーが呪われた物に触れると上がる」のように誰の値なのかを文で書けば大丈夫です。
  • AIは区間だけでなく今の数字も一緒に見ています。 同じ60の区間でも、61と89では雰囲気を変えて演じられます。ただし行動の指示が切り替わるのは区間が変わるときです。
  • 開始場面が複数あっても変数の初期値はすべて同じです。場面ごとに違う状態で始めたいなら、その場面の状況説明に「すでに長く付き合っている間柄で、好感度が高い状態から始まる」のように書いてください。
  • 変数の値を画面に見せるにはステータスを作ります。
  • いくつまで作れるかは上限にあります。

こんなときは

値が動きません

  • いつ変わるかを「適切に」ではなく具体的な行動で書いたか見てください。
  • その行動が会話の中で実際に起きたか見てください。

上がるのが早すぎます

  • 「雑談では変わらない」のように、変わらない場合を書いてください。
  • ブレーキになる文も有効です。例:「一つの場面で何度褒められても、上がるのは一度だけ。」
  • 範囲を広く取ると(例: 0〜200)、同じ速さでも区間に届くまで時間がかかります。