mcpField
I
interactive-fiction

interactive-fiction

github.com/jwyniaクリエイティブ・メディア179562 回インストール35 週間前に更新
リポジトリ

interactive-fiction について

プレイヤーの選択と物語の一貫性の両立を支援する、インタラクティブフィクション作家向けの診断スキルです。選択、分岐、状態管理、エンディングの問題を分析し、構成や設計の方法を提案します。

主な機能

  1. 01影響の乏しい選択を診断
  2. 02分岐の規模と合流方法を管理
  3. 03制約のあるプレイヤーの自由度を設計
  4. 04状態変数と結果を点検
  5. 05選択のペースと結末を調整

活用シーン

  1. 01選択が見せかけに感じられる問題を減らす
  2. 02分岐型ストーリーの制作規模を抑える
  3. 03過剰または矛盾する状態変数を整理
  4. 04異なるルートの結末をそれぞれ成立させる

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jwynia/agent-skills --skill interactive-fiction

インストール後、Claude Code で/interactive-fictionを入力して読み込まれたか確認します。

詳細

インタラクティブフィクション:診断スキル

分岐する物語や、プレイヤーが主導するストーリーの問題を診断します。意味のあるプレイヤーの選択と、一貫性のある物語のバランスを取れるよう、ライターを支援します。

基本原則

プレイヤーの主体性と作者の意図は共存します。

プレイヤーの自由と物語の一貫性の間にある緊張関係は、誤った二者択一です。優れたインタラクティブフィクションは、意味のある選択、作者が意図した感情的な満足感、そして設計された可能性の範囲内での制約された主体性を提供します。


インタラクティブフィクションの種類

種類インタラクション強み弱み
パーサーベース自然言語のコマンド高い自由度、パズル重視「動詞当て」の煩わしさ
選択肢ベース選択肢から選ぶ制約されており、制作しやすい選択が見せかけになるリスク
ハイブリッド(VN、RPG)複数の形式豊かな表現、状態の持続性制作負荷が高い
テーブルトップシナリオGMが解釈ダイナミックで即興的進行役が必要

インタラクティブフィクションの状態

状態 IF1:意味のない選択

症状: 選択が意味を持ちません。すべての経路がすぐに合流します。プレイヤーは決断を気にしなくなります。「何を選んでも変わらない」と感じます。

意味のある選択のテスト:

  1. 選択肢の明確な違い — 各選択肢が異なるアプローチや価値観を表している
  2. 結果を認識できる — (遅れて現れる場合も含め)プレイヤーが結果を目にできる
  3. 取り消せない — すぐに取り消して別の選択を試すことができない
  4. キャラクターの表現 — 選択によって主人公の何かが明らかになる

重要な質問:

  • それぞれの選択は異なる内容につながりますか?
  • プレイヤーはこのセッション中に結果を認識できますか?
  • 選択は価値観やアプローチに関するものですか、それとも単なる移動手段ですか?
  • 選択はキャラクターを表現しますか、それとも結果を最適化するだけですか?

対処法:

  • 遅れて現れる結果を加える(選択によってフラグを設定し、後のシーンに影響させる)
  • 正解・不正解ではなく、価値観を問う選択肢にする
  • (小さなものでも)結果を目に見える形で示す
  • 行き先だけでなく展開の手触りを変えるフォールドバック構造を使う

状態 IF2:管理しきれない分岐

症状: コンテンツ量が指数関数的に増大します。書くべき経路が多すぎます。分岐全体の品質を維持できません。分岐の重みに耐えきれず、物語構造が崩れています。

計算上の問題:

  • 2択の選択肢が3回あると、経路は8通り
  • 2択の選択肢が5回あると、経路は32通り
  • 2択の選択肢が10回あると、経路は1,024通り

重要な質問:

  • 現在、真の分岐はいくつありますか?
  • 不自然さを感じさせずに再合流できる分岐はどれですか?
  • 状態を追跡していますか、それとも並行世界を書いていますか?
  • 不可欠な変化と、あれば望ましい変化は何ですか?

分岐の解決策:

手法説明トレードオフ
フォールドバック重要な展開で分岐を再合流させる明白だとレールに乗せられているように感じる可能性がある
遅れて現れる結果フラグによって経路ではなく後の内容を変える構造は同じで、展開の手触りが変わる
状態ベース蓄積された状態によってストーリーレットを解放する劇的な展開を確実に保つのが難しい
ボトルネック固定された物語上の節目を通る複数の経路作者が意図したクライマックスを維持できる

対処法:

  • 自然に再合流できるポイントを特定する
  • 本当の分岐を状態フラグに置き換える
  • 選択ツリーではなく、可能性の範囲を設計する
  • すべてを変化させることはできないと受け入れる

State IF3: 誤った選択肢に気づく

症状: プレイヤーは選択肢が意味を持たないと気づきます。信頼が損なわれます。うたわれていた主体性が実現されていません。「両方の選択肢を試したけれど、同じ結果になった」。

主な質問:

  • 選択によって実際に展開が変わるのは、どのくらいの頻度ですか?
  • プレイヤーは、一本道に誘導されていると気づきますか?
  • 主体性を約束したのに、実現できていませんか?
  • その錯覚は機能していますか、それとも破綻していますか?

誤った選択肢が許容される場合:

  • プレイヤーが誤りだと気づかない
  • 結果は変わらなくても、選択によってキャラクターを表現できる
  • リソース上の制約から必要だった(意図的に行う)

誤った選択肢が問題となる場合:

  • プレイヤーが気づき、だまされたと感じる
  • 同じパターンの繰り返しによって信頼が損なわれる
  • うたわれている機能が実際には存在しない

介入策:

  • 選択肢に意味を持たせられないなら、提示しない
  • 表現のための選択肢を使う(結果は同じでも、異なるキャラクターの一面を見せる)
  • 主体性の範囲を正直に伝える
  • 多数の誤った選択肢より、少数の本当の選択肢を優先する

State IF4: 主体性と作者が込めた意味

症状: プレイヤーに完全な自由を与えると、物語の一貫性が失われます。あるいは、物語が固定されているため、「インタラクティブ」である意味が感じられません。作家は自由度と作品としての完成度を両立できません。

対立点:

  • 完全な主体性: プレイヤーがすべてをコントロールする → 物語の一貫性が失われる可能性がある
  • 完全な作者性: 物語が固定されている → なぜインタラクティブなのか?

主な質問:

  • 可能性の範囲はどこまでですか?(無限ではなく、設計されたものです)
  • 主人公は明確に定義されていますか、それとも白紙の状態ですか?
  • 物語世界には、どのような自然な制約がありますか?
  • 体験を届けるために、作家がコントロールすべきものは何ですか?

解決策:制約のある主体性 作家が可能性の範囲を設計し、プレイヤーはその中を進みます。

制約を設ける手法:

  • 主人公の性格を固定する(キャラクターらしさを保った選択肢)
  • 環境による制約(島から出られない)
  • 時間的なプレッシャー(決断を迫られ、最適化できない)
  • 不完全な情報(最善の道筋を計算できない)

介入策:

  • 可能性の範囲を明確に定義する
  • 恣意的な制限ではなく、物語世界を通じて制約を設ける
  • 「どのように」進むかはプレイヤーに委ね、「何が重要か」は作家が決める
  • 唯一の「真の」エンディングではなく、複数の妥当なエンディングを用意する

State IF5: 物語がフローチャートのように感じられる

症状: 読書体験が機械的です。選択肢が物語から生まれるのではなく、物語を中断します。決断のポイントによってペースが損なわれます。物語よりメニューが中心になっています。

主な質問:

  • 選択肢の間にも、物語が途切れずに進んでいますか?
  • 選択肢は物語から生まれていますか、それとも物語を中断していますか?
  • ペースは物語に沿っていますか、それとも選択肢の頻度に左右されていますか?
  • シーンに余韻がありますか、それとも決断のポイントが続くだけですか?

診断チェックリスト:

  • 選択肢の間も物語が流れる
  • 選択肢がドラマチックな場面から生まれる
  • 分岐があっても、各シーンに目標・対立・破局がある
  • ペースに変化がある(決断の頻度が一定ではない)

介入策:

  • 決断と決断の間に、物語に余裕を持たせる
  • シーンとシーンの間ではなく、シーンに選択肢を組み込む
  • 選択肢の数より質を重視する
  • 選択肢の少ない展開も、選択肢の多い展開も用意する

State IF6:複数のエンディングがあるのに、満足感がない

症状: どのエンディングも空虚に感じます。「バッドエンド」は満足感を与えるどころか、プレイヤーを罰します。唯一の「トゥルーエンド」が、ほかのエンディングの価値を損ないます。エンディングにたどり着いた実感がありません。

主な問い:

  • 各エンディングは、そのルートにふさわしい結末を与えていますか?
  • エンディングは順位付けされていますか(トゥルーエンド対バッドエンド)、それともそれぞれ異なる価値を持つ並列のものですか?
  • プレイヤーの選んだ道筋は、エンディングへと論理的につながっていますか?
  • エンディングは体験する価値がありますか、それとも単なる失敗状態ですか?

エンディングの種類:

種類説明リスク
分岐エンディング選んだ道筋によって結末が異なります到達に必要な労力に差が生じます
品質エンディング結末は同じですが、品質が変わりますハイスコアのように感じられる場合があります
隠しエンディング秘密の結末ですコンプリートを目指すプレイヤーに不満が生じます

「トゥルーエンド」の問題: 一つのエンディングが正史とされると、ほかのエンディングの価値が損なわれたように感じられます。プレイヤーはロールプレイよりも最適化を優先します。

改善策:

  • どのエンディングも、異なる価値観から生まれる妥当な結末にします
  • それぞれのエンディングが、そこに至る道筋にふさわしいものになるようにします
  • 「バッドエンド」でプレイヤーを罰するのではなく、どのエンディングも興味深いものにします
  • 順位付けをしなくても、エンディングごとに違いを持たせられます

State IF7:状態管理の混乱

症状: プレイヤーが何をしたか追跡できません。矛盾が生じます。変数が増え続けます。シーンのロジックを保守できなくなります。

主な問い:

  • 本当に重要な状態は何ですか?
  • 状態を追跡しすぎていませんか?
  • 状態を、意味のあるより少数の変数にまとめられますか?
  • 状態は目に見える結果を生み出していますか?

状態がもたらすべきもの:

  • ゲート条件 — 状態に基づくコンテンツへのアクセス
  • 変化 — 同じシーンでも、状態によって内容が変わります
  • 結果 — 蓄積された状態によって結果が変わります

状態の種類:

種類目的例
プロットフラグ何が起きたかメンターに会ったか?
関係値キャラクター間の関係信頼度
リソース経済・サバイバルお金、体力
能力値キャラクターの成長勇気のステータス
インベントリオブジェクト・能力重要アイテム

改善策:

  • 必要不可欠な状態だけに絞ります
  • 関連するフラグを、より少数の変数にまとめます
  • 状態が目に見える結果を生み出すようにします
  • プレイヤーがすべてを覚えているとは限らないことを受け入れ、必要な情報を再提示します

分岐構造のパターン

窓のある一本道

ほとんどは一本道で、ときどき選択の場面があります。選択はシーンに影響しますが、物語の大筋は変わりません。

─────[choice]───────[choice]───────[choice]─────
        │               │               │
    variation       variation       variation

最適な用途: 結果よりもキャラクター重視の物語や、自己表現を重視する場合。

ボトルネック構造

複数の道筋がありますが、重要な展開は固定されています。

    ┌─A─┐       ┌─D─┐
Start───┼─────Midpoint───┼─────Climax─────End
    └─B─┘       └─E─┘

最適な用途: プレイヤーの自由度と、作者が描くクライマックスの両立。

分岐とボトルネック

序盤の分岐で体験が変わり、エンディングに向けて合流します。

         ┌──────Route A──────┐
Start ───┤                   ├─── Endings (3-4)
         └──────Route B──────┘

最適な用途: 規模を管理しやすくしながら、リプレイ性を高める場合。

タイムループ

出来事は同じように起こりますが、プレイヤーの知識は引き継がれ、試行を重ねることで選択に情報が加わります。

最適な用途: パズル型の物語や、結末は決まっているものの、理解が深まっていく悲劇。


選択設計のクイックリファレンス

選択の種類
種類説明評価
二択の道徳判断正しいか、間違っているか単純すぎるため、避けます
ジレンマ二つの善が対立します最適です。明確な答えがありません
自己表現結果は同じで、キャラクターの表現が異なります本物らしさがあれば有効です
戦略的選択リスクと報酬を比較しますゲーム性の高い IF に適しています
探索どの道筋を進むか選びますペース配分の手段として許容できます
ベストプラクティス

明確な正解・不正解を避けます。合理的な人同士でも意見が分かれるジレンマを作ります。プレイヤーには、最適化ではなく価値観を選ばせます。


アンチパターン

迷路

選択肢が、正解・不正解のある道順を探すパズルになっています。 改善策: すべての道筋を有効な体験にします。「間違った」答えをなくします。

幻想

選択肢が多いように見えても、実際の結果には影響しません。 改善策: 選択を意味あるものにできないなら、できるふりをしません。

最適化ゲーム

明らかに最良のエンディングがあり、プレイヤーはロールプレイを無視して最良の結果を目指します。 改善策: エンディングを順位付けせず、それぞれ異なる満足感を与えるものにします。

コンプリーショニストの罠

特定のルートの先にコンテンツを置くと、何度もプレイするのが苦痛になります。 解決策: どのプレイでも満足できるようにします。アンロック要素は体験を豊かにするものであり、完成させるためのものではありません。

情報ダンプの選択肢

「X/Y/Zについて教えて」と尋ねるメニューが、物語ではなくシステムになっています。 解決策: 情報を、動機づけのあるシーンに自然に組み込みます。

パーサーの悪夢

プレイヤーは何をすればよいかわかっているのに、それを入力で伝えられません。 解決策: 同義語を幅広く受け入れ、明確なフィードバックと穏やかなガイダンスを用意します。


診断プロセス

ライターがIFの問題を提示した場合:

1. 問題の種類を特定する
  • 選択肢に手応えがない? → IF1(意味のない選択肢)
  • コンテンツが多すぎる? → IF2(管理不能な分岐)
  • プレイヤーがだまされたと感じる? → IF3(偽の選択肢が露呈)
  • 自由度と物語を両立できない? → IF4(主体性と作者性)
  • 機械的に感じる? → IF5(フローチャート感)
  • エンディングに満足できない? → IF6(エンディングの問題)
  • 状態を追跡できない? → IF7(状態の混乱)
2. IFの種類を特定する

パーサー型、選択肢型、ハイブリッド型、テーブルトーク型のどれでしょうか。それぞれ解決策が異なります。

3. 意味のある選択肢のテストを行う

重要な選択肢について:

  • 選択肢ごとに違いがあるか?
  • 結果の違いを認識できるか?
  • 選択を取り消せないか?
  • キャラクターを表現しているか?
4. 対応策を提案する

特定した状態に基づいて、構造のパターンや選択肢設計の原則を示します。


story-senseとの連携

story-senseの状態IFの状態との対応
状態4.5:ペース配分のないプロットIF5(フローチャート感)
状態5.75:エンディングが響かないIF6(エンディングの問題)
引き継ぎのタイミング
  • scene-sequencingへ: 分岐内のシーンにも、依然として構成が必要な場合
  • character-arcへ: プレイヤーの選択を通じたキャラクターの変化
  • endingsへ: 複数のエンディングの設計
  • dialogueへ: サブテキストを含むプレイヤーの会話の選択肢

やり取りの例

例1:選択肢に意味がないと感じる

ライター:「プレイヤーから、選択肢が結果に影響しないとよく言われます。」

対応方針:

  1. 状態を特定する:IF1またはIF3
  2. 質問する:「重要な選択肢を1つ選んでください。選択肢は2つありますか。それぞれで何が変わりますか?」
  3. 意味のある選択肢のテストを適用する
  4. ルートが合流する場合:遅れて生じる結果や、表現の変化を提案する
  5. プレイヤーに仕掛けを見抜かれている場合:選択肢を減らし、残す選択肢を本当に意味のあるものにする
例2:分岐の爆発

ライター:「エンディングが50種類もあり、すべてを書ききれません。」

対応方針:

  1. 状態を特定する:IF2
  2. 質問する:「必ず起こす必要がある、物語の重要な展開は何ですか?」
  3. その展開を中心に、ボトルネック構造を提案する
  4. 可能であれば、真の分岐を状態フラグに置き換える
  5. テーマや結果の種類ごとにまとめ、エンディングの数を減らす
例3:トゥルーエンドの問題

ライター:「『グッド』エンディングが1つと、『バッド』エンディングがいくつかあります。」

対応方針:

  1. 状態を特定する:IF6
  2. その構成が生む最適化の問題を説明する
  3. 質問する:「それぞれのルートは、どのような価値観を表していますか?」
  4. 見方を変えることを提案する:各エンディングは、そのルートにとって正当な結末である
  5. 優劣をつけるのをやめ、エンディングごとに異なる満足感を生み出す

出力の永続化

このスキルでは、作業内容をセッションをまたいで保持できるよう、主要な出力をファイルに書き込みます。

出力先の確認

ほかの作業に着手する前に、必ず次を行ってください:

  1. プロジェクト内にcontext/output-config.mdがあるか確認する
  2. 見つかった場合は、このスキルの項目を探す
  3. 見つからない場合、またはこのスキルの項目がない場合は、まずユーザーに尋ねる:
    • 「このインタラクティブフィクションのセッションからの出力は、どこに保存すればよいですか?」
    • explorations/interactive/または、このプロジェクトに適した場所を提案する
  4. ユーザーの希望を保存する:
    • コンテキストネットワークが存在する場合は、context/output-config.mdに保存する
    • それ以外の場合は、プロジェクトのルートにある.interactive-fiction-output.mdに保存する
主要な出力

このスキルでは、次の内容を保存します:

  • IF状態の診断 - 該当する分岐や選択肢の問題
  • 構造分析 - 分岐点、合流、複雑さ
  • 選択肢の質の評価 - 意味のある選択肢か、見せかけの選択肢か
  • プレイヤーの主体性に関するメモ - 選択肢がキャラクターや価値観をどう表現するか
会話とファイル
ファイルに記載する内容会話に留める内容
IFの状態診断確認の質問
分岐構造に関するメモ具体的な選択肢についての議論
選択肢の質の評価作者による設計上の判断
複雑さに関する提案リアルタイムのフィードバック
ファイル名

形式:{project}-if-{date}.md 例:adventure-game-if-2025-01-15.md

行わないこと

  • 作者に代わって分岐構造全体を設計しません
  • 選択肢のテキストや結果を書きません
  • IFに唯一の正しいアプローチを押し付けません
  • どのようなIFも劣ったものとして退けません
  • 分岐の問題に簡単な解決策があるかのように装いません

あなたの役割は診断です。問題を特定し、なぜ問題なのかを説明し、解決策へと導きます。体験を設計するのは作者です。


重要な洞察

インタラクティブフィクションは、「選択肢を加えた物語」ではありません。作者とプレイヤーが協力して物語を生み出す、設計された可能性の空間です。作者はその空間を制御し、プレイヤーはその中を進みます。

IFで最もよくある失敗は、選択肢を物語の表現ではなく、物語を中断するものとして扱うことです。解決策は、選択肢を物語に溶け込ませることです。選択肢は劇的な瞬間を中断するのではなく、そこから生まれるべきです。どの道筋も体験する価値があり、避けるべき間違った道であってはなりません。

IFがうまく機能すると、プレイヤーは自分の選択が意味を持ったと感じると同時に、緻密に作られた物語を体験したと感じます。これは矛盾ではありません。これこそが芸術形式なのです。

コメント