Skip to content

仕組み

Yuminaでのやり取りはすべて同じサイクルに従います。このサイクルを理解すれば、あなたが書いたり設定したりするものをエンジンがいつ使うのか、正確に把握できます。

サイクル

       プレイヤー入力
  (メッセージまたはUI操作)


  ┌──────────────────────┐
  │ ① エンジンがプロンプト │
  │    を組み立てる        │
  │    エントリ + 変数 +   │
  │    履歴                │
  └──────────────────────┘


  ┌──────────────────────┐
  │ ② AIが応答を生成       │
  │    ナラティブ +        │
  │    [状態ディレクティブ]│
  └──────────────────────┘


  ┌──────────────────────┐
  │ ③ エンジンがパース     │
  │    ディレクティブを抽出│
  │    → 状態を更新        │
  │    ルールを評価        │
  │    オーディオを発火    │
  └──────────────────────┘


      プレイヤーが見るもの
  ストーリー + 更新されたUI + オーディオ

            └─── 次のターンへ

クリエイターとしてのあなたの仕事は、このループに何を入れるかを決めることです。AIが何を読むか、何を追跡するか、何が自動的に起きるか、そしてどう提示されるか。

1ターンを具体的に

サバイバルホラーのワールドで、プレイヤーが "ポーションを飲む" と入力します。このターンで何が起きるかを見てみましょう。

① エンジンが組み立てるプロンプト

エンジンはあなたのエントリ、変数、会話履歴を1つのプロンプトに縫い合わせ、AIに送信します。

text
// —— あなたのワールド設定 ——
[system]
You're the narrator of this survival horror game. Cold,
restrained tone. Heavy on sensory detail. Never decide for the player.

[system]
The abandoned Matsuzaki Sanatorium, sealed off in the winter of 1987.
The player is a college student searching for a missing friend.

// —— あなたの変数(エンジンがAIの理解できる形式に自動変換) ——
[system]
<behavior-rules>
[health] decrease 10-30 when injured
[sanity] decrease 5-15 on horrific sights
</behavior-rules>

// —— 会話履歴 ——
[user]
I push the door open

[assistant]
A hand grabs your wrist — the skin unnaturally cold...

[user]
I drink the potion

// —— 現在の状態(毎ターン更新) ——
[system]
<game-state>
health: 45
sanity: 30
day: 3
</game-state>

② AIの生の出力

text
The potion burns down your throat, but you feel better.

[health: +20]

③ プレイヤーが実際に見るもの

ポーションが喉を焼くように下りていくが、気分は良くなる。

❤️  health  45 → 65

エンジンはAIの出力の末尾から [health: +20] を取り出し、状態に適用し、health を監視しているルール(満タン時に発火するものはないか?)をチェックし、テキストからディレクティブを取り除き、きれいな散文だけをプレイヤーに表示します。

AIは決してデータを直接編集しません。AIはテキストを書き、エンジンが実行します。

ビルディングブロック

1. エントリ — AIが読むもの

エントリは、AIが応答を生成するときに見るテキストの断片です。キャラクター説明、ワールドのルール、文体ガイド。すべてエントリです。

一部のエントリは常に含まれます(ワールドの背景設定など)。それ以外は関連するときだけ現れます。会話中のキーワードでトリガーされます。プレイヤーが「酒場」と言及すれば、酒場のロアエントリが自動的に取り込まれます。

エントリを贅肉なく保つほど、AIはよく従います。 AIは毎ターンすべてのエントリを読みます。1つの不要なエントリが、重要なエントリを見落としやすくします。

エントリについて詳しく学ぶ

2. 変数 — AIが追跡するもの

変数はゲーム状態です。体力、ゴールド、場所、好感度、インベントリ。AIは毎ターン現在の値を読み、シンプルなディレクティブを応答に書いて更新します。

盗賊の刃があなたの腕をかすめる。
[health: -15]
[location: set "dark forest"]

プレイヤーはナラティブを見ます。エンジンはそれらの角括弧ディレクティブを静かに抽出し、ゲーム状態を更新します。ワールドに変数がある限り、エンジンは自動的にAIにディレクティブの書式を教えるので、フォーマットの指示を自分で書く必要はありません。

各変数をいつどのように更新するかをAIに教えるには、ビヘイビアルールを書きます。「物理ダメージで体力を10〜30減らす、1ターンで30を超えないこと」のような平易な日本語のガイドです。これらは下にある自動化トリガーとは別物です。

変数が少ないほど、ゲームは良くなります。 どの変数も毎ターンプロンプトに1行を占めます。実際に使わない変数を追加するのは、AIの注意の無駄遣いです。

変数について詳しく学ぶ

3. ルールとビヘイビア — ターン間に起きること

ルールは、AIが忘れたり一貫性を欠いたりするようなことを処理します。AIの関与なしに自動的に発火するイベント駆動型のトリガーです。

  • When 体力が10を下回る → 「あなたは死にかけている!」という警告を表示
  • When 好感度が75を超える → AIの指示にロマンスディレクティブを注入
  • Every 5ターン → 環境音の雷鳴SFXを再生

エディタではこれらをビヘイビアと呼びますが、動作は同じです。すべてのルールはWHENトリガー、任意のIF条件、そしてTHENアクションを持ちます。

ルールは任意です。多くの優れたワールドはルールをゼロで使用しています。AIはよく書かれたエントリとビヘイビアルールですべてを処理します。しかし、精密なしきい値を持つゲームライクなメカニクスでは、ルールは物事を引き締まった一貫性のあるものにする要素です。

AIが処理できるなら、ルールを使わないでください。 ルールが多すぎるとゲームが機械的に感じられます。絶対に見逃せないしきい値とイベントのためにルールを取っておきましょう。

ルールとビヘイビアについて詳しく学ぶ

4. ビジュアルとオーディオ — プレゼンテーション層(任意)

デフォルトでは、プレイヤーはクリーンなチャットインターフェースを見ます。ほとんどのワールドにはこれで十分です。

しかしもっと欲しいなら、カスタムUIオーディオを追加して、ワールドの見た目と音をかたちづくれます。カスタムUIなら、スタイル付きのメッセージバブルから体力バーやマップ、インベントリ付きの完全なゲームインターフェースまで何でも構築できます。オーディオはBGM、効果音、環境レイヤーを追加し、AIがナラティブの中で自然にトリガーします。

コードを知らなくても大丈夫です。 Studio AIは説明からカスタムインターフェースを生成します。やりたいことを説明するだけで、構築してくれます。オーディオも同じです。AIはストーリーと並んでオーディオディレクティブを書き、エンジンが正しい音を再生します。

両方とも純粋に提示用です。ゲーム状態を読みますが、変更することはありません。すべての状態変更は依然としてAIのディレクティブを通して流れます。

ビジュアルとオーディオについて詳しく学ぶ

AIが実際に見るもの

ターンごとにAIのプロンプトに組み立てられる内容の正確な順序がこちらです。AIは先頭と末尾のコンテンツに最も注意を払います。中央のコンテンツは注目度が下がります。これを理解すると、最もインパクトのある場所にコンテンツを配置できます。

順序どこで設定するか
1常時オンのエントリ(キャラクター、ワールド、ナレーター指示)エントリ → System Presetsセクション
2プレイヤーのアクティブなペルソナ(名前、外見、背景)プレイヤーの設定。あなたの設定ではありません
3変数のビヘイビアルール + 現在値変数タブ
4サンプルダイアログ"example"ロールのエントリ
5会話履歴自動
6キーワードトリガーのエントリ(関連メッセージの近くに注入)エントリ → Keyword-Triggeredセクション
7ポスト指示(最終強調、スタイル徹底)エントリ → Post Instructionsセクション

会話履歴の上下にあるものはすべて、ターンをまたいで堅牢に保たれます。会話履歴自体は時間とともに増え、コンテキスト上限に近づくとメモリーシステムによって自動的に要約されるので、あなたのフレームワークが押し出されることはありません。

2つの構築方法

Studio AIを使う(推奨)

Studioエディタを開き、やりたいことを説明すると、組み込みのAIアシスタントがエントリ、変数、自動化を作成してくれます。プラットフォームの隅々まで知っています。有効な構文、実証済みのパターン、参照整合性。

「体力、正気度、空腹度を持つサバイバルホラーのワールドを作って。プレイヤーは廃病院に閉じ込められている。動揺するものを見ると正気度が下がる。正気度ゼロでAIは幻覚を描写する」

Studio AIはエントリ、ビヘイビアルール付きの変数、正気度ゼロで発火するルールを生成し、すべて正しく結線します。

Studio AIについて詳しく学ぶ

自分のAI + World Specを使う

Claude Code、Cursor、ChatGPTで作業する方が好みなら、World Specをダウンロードしてください。AIツールに与えるために設計された完全な技術リファレンスです。あなたのAIがspecを読み、あなたがやりたいことを説明し、AIがインポート可能な有効なワールドスキーマを生成します。

World Specをダウンロード


始める準備はできましたか?

エディタを開いて新しいワールドを作るか、各ビルディングブロックの詳細を学ぶために読み進めてください。