幻界軌跡:道徳分岐とカード駆動型テキストRPG設計仕様

プロジェクト概要

本作は、プレイヤーが不可思議な迷宮に閉じ込められた修行者の視点で、選択によって世界観と結末を変化するテキストベースのアドベンチャーゲームである。全十層構成で、各層二十回の分岐を経て心魔との対決を迎える。基本ルールは最小限に抑えつつ、道徳パラメータとカードリソースを連動させることで、複雑な叙事情報を創出する。

進行構造とターンフロー

  • 開始条件:キャラクター作成や難度設定を排除し、第一層第一節から即時プレイを開始する。
  • 層内ループ:各層で二十回の文面表示と四択(A~D)を選択式交互を行う。各選択後、道徳スコアを更新し、対応する属性の基本カードを一枚獲得する。
  • 区切りイベント:二十回の選択終了直後に特殊シーンが発生。最大で一つの変則カードを獲得可能。
  • 境界戦発生:第四層・第七層・第十層の区切りイベント終了後は直ちに心魔との戦闘へ移行。勝利すれば手札を破棄し次層へ進階する。
  • 結末判定:特定閾値を超えた時点でゲーム処理が即時終了する。最終的に二十層突破後は累積比率に応じてバリエーション結末が分岐する。

道徳パラメータ評価アルゴリズム

プレイヤーの意思決定は「善」「悪」「均衡」の三軸で計測される。毎回の選択肢には固定重みと連鎖ボーナスが適用される。

選択肢傾斜方向付与ポイント規則
A善 +10
B均衡均衡 +8、残りの4点を善/悪にそれぞれ確率50%で分配
C悪 +10
D不定善/悪にそれぞれ確率50%で8点を分配

連続同一選択ボーナス:同じキー(厳密にA/B/C/Dを区別)を連打した場合、追加スコアが付与される。回数が進むにつれて上昇し、第五次以降は頭打ち(+8)となる。このボーナスは対象キーの主軸属性(A→善、C→悪など)に直接加算される。

異常結末トリガー:選択回数〇〇以上かつ合計点数八十点超かつ単一軸比率九〇%超を同時に満たした場合、その極端な価値観に対応する専用エンディングへ強制遷移する。

標準結末:全節到達後、最終比率が六〇%を超える軸が存在すれば該当する多岐結末へ、それ以外の場合は中間ステータス結末として処理される。

カード資源管理与LLM連携イベント

カード分類

基本カードは善・悪・均衡の三種。特殊カードはどの属性にも割り当て可能なワイルドカードであり、層クリア時のイベント経由でのみ入手可能である。

収集規則

毎回の選択で必ず一枚確定ドロップする。選択肢に対応した属性カードが生成され、ランダム要素やドロップレート変動は一切存在しない。一つの層内で二十枚を積載する。

ワイルドカード生成ロジック

大型言語モデルを用いて動的コンテンツを生成する。生成プロンプトでは緊迫感のある場面の描写、四つの選択肢(そのうち三つが報酬、一つが罠)、カード名、説明文、失敗時のフィードバック文言を含むJSON形式で出力させる。実装上はtrapフィールドの文字列と一致する入力のみを不正回答として扱い、他を正常報酬へ振り分ける。

リセット仕様

層完了時またはボス戦終了時に全所持カードをメモリ上から消去する。物語的には因果応報による浄化を演出とし、次層から新規コレクションが初期化される。

心魔ボス戦闘システム(ブラフメカニクス)

第四層・第七層・第十層で発生する対戦型ミニゲーム。プレイヤーの手札数とボスの手札数は常に同期されている。

外見変異

現在の道徳比率に基づきボスの造型と台詞が変化し、プレイヤーの選択パターンに対する精神的プレッシャーをかける。

勝敗規則

  1. ボスがまず一枚以上のカードを伏せて出し、属性を宣言する。
  2. プレイヤーは以下のいずれかの行動を選択する:
    - 疑念:宣言が偽であった場合、出賽者はカードを回収されさらに一枚剥奪される。真であった場合は疑念者を同様のペナルティが科される。
    - 応戦:自身も一枚以上出し続けて試合を維持する。
    - 放棄:現在のポットを廃棄リストへ送り、交代権を手放す。
  3. 先に手札を完全消費した側が勝利とする。

ワイルドカードは任意の属性として機能するが、使用されると即座に消費される。第十層での勝利可否が真の脱出フラグと直結する。

CLIコマンド仕様

テキスト端末上で状態監視を行うための組み込みコマンド群である。

コマンド機能定義
list_deck現行層で所持しているカード一覧を取得して表示
inspect_card [ID]指定されたカードの詳細情報と取得履歴を表示
check_ratio道徳パラメータの現状バランスを簡略化されたテキスト(例:善優位、拮抗状態)で出力
show_rules操作指南と勝敗条件をコンソールへ表示

環境変数と設定オブジェクト

開発段階のバランス調整およびテスト実行において変更可能な構成データをTypeScript記法で定義する。

interface IPhaseConfig {
  stageCount: number;
  decisionsPerStage: number;
  bossTriggerStages: number[];
}

interface ICardRules {
  drawAmountPerDecision: number;
  wildCapPerStage: number;
  trapOptionActive: boolean;
}

interface IScoreLogic {
  basePoints: Record<'A'|'B_neu'|'B_shft'|'C'|'D', number>;
  consecutiveBonusCurve: number[];
  extremeTriggerRatio: number;
  minimumTurnsForExtreme: number;
  minimumTotalScoreForExtreme: number;
  standardEndingThreshold: number;
}

interface ICombatSettings {
  mirrorBossHandSize: boolean;
}

const RuntimeConfig = {
  progression: { stageCount: 10, decisionsPerStage: 20, bossTriggerStages: [4, 7, 10] },
  cardMechanics: { drawAmountPerDecision: 1, wildCapPerStage: 1, trapOptionActive: true },
  scoring: {
    basePoints: { 'A': 10, 'B_neu': 8, 'B_shft': 4, 'C': 10, 'D': 8 },
    consecutiveBonusCurve: [0, 3, 5, 7, 8],
    extremeTriggerRatio: 0.9,
    minimumTurnsForExtreme: 10,
    minimumTotalScoreForExtreme: 80,
    standardEndingThreshold: 0.6
  },
  combat: { mirrorBossHandSize: true }
};

次回開発ロードマップ

  • 仲間AIの実装:序盤は進行をサポートする助言役として動作させ、終盤で正体が心魔または操縦者であることを明らかにするツギハギ構造の採用。
  • 達成履歴ダッシュボード:到達した結末タイプを記録するコレクション画面を追加し、再遊興の動機づけを強化。
  • ニューゲーム+補正:全層突破後の新規タイトルで、特定の初期カードや背景オプションが解放される機構。
  • セーブデータ構造:中断からの継続機能をデータベース形式で実装。初期フェーズでは省略可。
  • 動的戦闘セリフ:道徳値とカードの組み合わせに応じてボスがリアルタイムで反応する自然言語生成パイプルの最適化。

タグ: ゲームアーキテクチャ テキストRPG ナラティブエンジン ブラフゲーム LLM統合

5月20日 01:24 投稿