Version 2026-03-13
1. 概要
「運命カード」は、Rogue2.Neoのダンジョン侵入前に行われる、世界観に統合された戦略的ミニゲームである。プレイヤーは有限の食料(回復ポイント)を消費してカードを交換(探索)し、ダンジョン挑戦の初期条件を最適化する。
本システムは、原作Rogue2の「26階層往復」という伝統的な超高難度をTop Tier(最高難易度)として位置づけつつ、初心者のアクセシビリティを確保するため、5階層からの漸増的難易度カーブを採用する。
本仕様書は、World Archetype(世界原型)に基づいた世界生成システムと統合し、Region(地域)ごとに定義されたCard Deck(カードデッキ)を使用してゲームを進行する。また、Rogue2ダンジョンエンジン(および将来の代替エンジン)とは疎結合の構造を持ち、別途定義する「エンジン連携インターフェース(コネクター)」を介してパラメータを受け渡す。
1.1 デザインフィロソフィー
- アナロジー: 食料を消費した「探索行為」をカード交換に抽象化
- 不完全情報: カテゴリは可視だが数値は不可視(Rogue的なリスク)
- 機会費用: 食料はダンジョン内の生命線であり、消費するか温存するかの判断が核心
- 世界連携: Region Stateに基づく事後的確率補正により、世界の平和化や混沌がゲームに反映
- Mod拡張性: YAMLベースのデータ構造により、World ArchetypeとRegionの追加が容易
- リセマラ抑制: 全ての効果は直後のダンジョンにのみ適用され、永続的利益を排除
- 継続プレイ誘導: スペシャルカード出現率とダンジョン基本難易度がプレイ履歴に連動
- エンジン独立性: Rogue2(26階層往復)をTop Tierとしつつ、エンジン抽象化レイヤーにより将来の入れ替えを保証
2. 基本ルール
2.1 初期状態
- 所持食料: 3単位(これが回復ポイントを兼ねる)
- 手札: 5枚(裏向きで配布される)
- ゲーム用デッキ: 24枚固定(Regionごとに定義)
- 回復: 8枚
- 装備: 8枚
- 難易度: 8枚
- スペシャルカードプール: 6枚(デッキには含まれない別途のボーナス枠)
2.2 カードの構造
各カードは以下の属性を持つ:
| 属性 | 説明 |
|---|---|
| カテゴリ | 裏面に表示される種別(回復/装備/難易度) |
| 数値 | 開示後に判明する効果値(-3から+2の範囲) |
| タグ | 世界観キーワード(magic, curse, npc_intervention等) |
| フレーバー | AI生成または固定の世界観テキスト(Chronicle生成に使用) |
2.3 アクションフェーズ
プレイヤーは以下のいずれかを選択可能:
- 交換(探索)
- コスト: 回復ポイント(食料)1単位を消費
- 対象: 手札の任意のカード1枚
- 効果: 対象カードをデッキに戻し、シャッフル後に新たに1枚引く(事後的確率補正適用後)
- 制限: 初期回復ポイント3でスタートするので、交換は最大3回まで
- 確定(出発)
- 現在の手札を確定し、全カードを開示
- 残り食料はダンジョンに持ち越される
2.4 効果の適用範囲【重要】
カードゲームの全ての結果(通常カード、スペシャルカードを含む)は、直後のダンジョンにおいてのみ適用される。
- 効果は次回以降のダンジョンへ持ち越されない
- スペシャルカードにより付与されたアイテムや状態は、ダンジョンクリアまたは敗北時に消失
- Region Stateの変化を除き、永続的な利益は存在しない
- 設計意図: リセマラによる永続的利益の獲得を無意味化し、プレイ継続を促進
2.5 開示と効果適用
全カード開示後、全カードのフレーバーをストーリーとして表示し、以下の計算が行われる:
回復カード
- 合計回復値 = 各カードの数値の合計
- 最終所持食料 = 残り食料 + max(0, 合計回復値)
- カード効果は「回復ポイント」として加算される
- マイナス値は0として扱われる(下限保護)
装備カード
- 合計装備ポイント = 各カードの数値の合計
- 正の値: 初期装備の強化(Tier上昇、追加アイテム)
- 負の値: 装備の劣化、耐久度低下、もしくは初期装備なし
難易度カード
- 合計難易度ポイント = 各カードの数値の合計
- 難易度ポイントは基本難易度に対する補正として機能(§2.6参照)
2.6 ダンジョン難易度システム【新規】
本システムは、原作Rogue2の「26階層往復」をTop Tier(最高難易度)として位置づける。プレイヤーの成長に応じて、基本難易度が漸増する。
基本階層の計算
# パラメータ定義(Rogue2エンジンへの出力値)
dungeon_parameters:
clear_count: n # 当該地域におけるクリア回数
# 基本階層数(漸増式)
base_floors: min(26, 5 + (n * 2))
# 初回: 5階層
# クリア1回: 7階層
# ...
# クリア11回以上: 26階層(Top Tier、キャップ)
# ダンジョンモード(片道/往復)
traversal_mode: "round_trip" # または "one_way"
# 往復モードの場合、26階層到達後に帰還ルート(降順)が追加される
カードによる難易度補正
# 最終階層数の計算
final_floors: base_floors + difficulty_card_adjustment
# difficulty_card_adjustment: 難易度カードの合計値(-3〜+2程度)
# 例: 基本7階層に対し、-1補正で6階層、+2補正で9階層
Top Tier(26階層往復)の到達
- 11回以上のクリアで基本階層は26階層に到達
- この時点で「往復フラグ」が有効化されると、実質13階層×2の往復(計26階層移動)となる
- カードによる補正は、基本26階層に対して適用(例: -2で24階層)
3. ゲームループ(Game Loop)
地上ゲームの進行フローは以下の通り。プレイ時間は30〜90秒を想定する。
1. 世界ロード(World Archetype読み込み)
2. 地域デッキ準備(24枚のゲーム用デッキ生成)
3. 初期手札配布(5枚、事後的確率補正により抽選)
4. カード交換フェーズ(最大3回の交換、事後的確率補正により抽選)
5. カード開示(全カードの数値公開)
6. スペシャルカード抽選(出現率は地域クリア回数に依存)
7. ダンジョン初期値への効果適用(ポイント計算 + 基本難易度への補正)
8. エンジン連携パラメータ生成(§9参照)
9. Chronicle記録(履歴作成)
10. ダンジョン開始(コネクター経由でエンジンへパラメータ受け渡し)
4. 事後的確率補正システム(Post-Draw Probability Correction)
4.1 基本構造
デッキは物理的に24枚固定(回復8/装備8/難易度8)であり、各カードの物理的出現確率は1/24である。
しかし、コンピュータゲームである特性を活かし、抽選時に事後的な確率重み付けを適用することで、ゲーム体験を維持しつつ世界状況を反映させる。
4.2 抽選アルゴリズム
1. デッキからカテゴリを決定(事後的確率補正適用)
2. 決定されたカテゴリ内から均等抽選で特定カードを選択
疑似コード:
# ステップ1: カテゴリ決定(事後的確率補正)
category_weights = {
'recovery': 8 * (0.5 + region_state.peace * 0.5),
'equipment': 8 * (0.5 + region_state.prosperity * 0.5),
'difficulty': 8 * (0.5 + region_state.danger * 0.5)
}
selected_category = weighted_random(category_weights)
# ステップ2: カテゴリ内カード選択(均等抽選)
selected_card = random_choice(deck[selected_category])
4.3 補正の例
安全地域(平和度0.8)の場合:
- 回復の重み: 8 × (0.5 + 0.8×0.5) = 7.2 → 実質出現率上昇
- 難易度の重み: 8 × (0.5 + 0.1×0.5) = 4.4 → 実質出現率低下
5. スペシャルカードシステム
5.1 構造
- ゲーム用デッキ: 24枚(回復8/装備8/難易度8)
- スペシャルカードプール: 6枚(デッキとは別枠、ボーナス専用)
スペシャルカードはゲーム用デッキには含まれず、カードゲーム終了後に別途抽選される。
5.2 抽選メカニクス【修正】
出現率の計算
スペシャルカードの出現率は、当該地域におけるクリア回数に応じて漸増する。
def calculate_special_card_rate(clear_count):
"""
初回: 0%
クリア1回: 6%
クリア2回: 12%
クリア3回: 18%
クリア4回: 24%
クリア5回以上: 30%(キャップ)
"""
return min(0.30, clear_count * 0.06)
# 初回プレイ時は確率0%
# プレイを重ねるほど確率が上昇し、最大30%
| クリア回数 | スペシャルカード出現率 |
|---|---|
| 0(初回) | 0% |
| 1 | 6% |
| 2 | 12% |
| 3 | 18% |
| 4 | 24% |
| 5以上 | 30%(キャップ) |
抽選タイミング
- ステップ6(カード開示後、効果適用前)
- 6枚のスペシャルカードプールから均等抽選(1/6)で1枚を選択
- 即時開示: 配布されたスペシャルカードは即座に内容が開示される
5.3 スペシャルカードの定義【修正】
スペシャルカードは、ダンジョン初期値に対する調整効果のみを持つ。効果は直後のダンジョンにのみ適用され、永続しない。効果は原作のRogue2バランスを損なわないよう、マイルドな数値に抑える。
special_card_pool:
pool_id: floating_archive_special
cards:
- card_id: archivist_intervention
name: 大司書の書架
effect_type: initial_item
effect_detail:
item: identified_scroll
quantity: 1 # 元: 3 → 修正: 1
description: 識別済みスクロールを1つ所持して開始
rarity: common
flavor: 大司書の導きにより、知識の守りを得た。
- card_id: hidden_passage
name: 隠し通路の記憶
effect_type: floor_adjustment
effect_detail:
floor_modifier: -1 # 元: -5 → 修正: -1(基本難易度に対する軽微な緩和)
description: 秘密の近道を記憶
rarity: rare
- card_id: ancient_relic
name: 古代の護符
effect_type: initial_equipment
effect_detail:
item: protective_amulet # 元: cursed_sword → マイルドな装備に変更
tier_bonus: +1
description: 初期装備のTierが+1上昇(例: 短剣+0 → 短剣+1)
rarity: very_rare
- card_id: chronicle_insight
name: 歴史の洞察
effect_type: stat_bonus
effect_detail:
knowledge: +2
description: 知識判定に+2ボーナス(当該ダンジョン内のみ)
rarity: rare
- card_id: supply_cache
name: 物資の備蓄
effect_type: resource_bonus
effect_detail:
food: +1 # 元: +2 → 修正: +1
description: 追加の食料を1単位所持して開始
rarity: common
- card_id: danger_sense
name: 危険予知
effect_type: trap_reduction
effect_detail:
trap_density: -0.2 # 元: -0.3 → 修正: -0.2
description: 罠の出現密度が20%低下
rarity: rare
5.4 効果の設計指針
| 制約 | 説明 |
|---|---|
| 初期値調整のみ | ダンジョン進行中のイベントやドロップには影響しない |
| 永続効果なし | 全ての効果はダンジョン終了時に消失 |
| 数値の抑制 | 階層調整は最大±3(基本難易度に対する補正)、リソース追加は最大+1〜2程度 |
| ゲームバランス配慮 | 通常カードの効果範囲(-3〜+2)を大きく超えない |
6. データモデルとYAML構造
本システムは以下の階層構造を持つ:
World Archetype
↓
Content Pool
↓
Regions
↓
Game Deck (24枚: 回復8/装備8/難易度8)
Special Pool (6枚: ボーナス枠)
↓
Engine Connector (JSON出力)
↓
Rogue2 Engine / Other Engines
6.1 Region構造
region:
metadata:
region_id: floating_archive
region_type: archive_tower
difficulty_level: 2
base_floors: 5 # 初期基本階層(Rogue2への提案値)
max_floors: 26 # Top Tier上限
region_lore:
description: 空中に浮かぶ巨大な書庫。本が重力を無視して漂う。
region_state_defaults:
peace: 0.6
danger: 0.3
prosperity: 0.7
# プレイヤー進捗(セーブデータに保存)
player_progress:
clear_count: 0 # 当該地域のクリア回数
# ゲーム用デッキ(24枚)
card_deck:
recovery:
- card_id: healing_scroll
value: 2
tags: [healing, magic]
# ... 合計8枚
equipment:
- card_id: enchanted_quill
value: 2
tags: [artifact, magic]
# ... 合計8枚
difficulty:
- card_id: cursed_scroll
value: -3
tags: [curse]
# ... 合計8枚
# スペシャルカードプール(6枚、別枠)
special_card_pool:
- card_id: archivist_intervention
effect_type: initial_item
# ... 合計6枚
7. 地域別構成例
7.1 上級地域の例(11回以上クリア済み)
Region State: 平和度0.9, 危険度0.2, 繁栄度0.8
プレイヤー進捗: クリア回数15回
ダンジョンパラメータ(Rogue2エンジンへ出力):
{
"base_floors": 26,
"traversal_mode": "round_trip",
"card_modifiers": {
"floor_adjustment": -1,
"initial_equipment_tier": +1
}
}
スペシャルカード出現率: 30%(キャップ到達)
8. リセマラ抑制メカニクスの総括
本仕様書の設計により、以下のメカニズムでリセマラを抑制する:
| 抑制要因 | メカニクム | 効果 |
|---|---|---|
| 永続利益の排除 | 全効果は直後のダンジョンのみ | リセットによる損失感の消失 |
| 初回スペシャル0% | クリア回数0では出現しない | 初回リセットの無意味化 |
| 確率の漸増 | クリア回数で最大30%まで上昇 | 継続プレイの累積的価値 |
| 難易度の漸増 | 5階層→26階層へ段階的に上昇 | カードゲームの相対的重要性上昇と成長実感 |
| 効果の抑制 | 初期値調整のみ、数値は控えめ | 過度な期待によるリセット動機の排除 |
| エンジン独立性 | 抽象化されたパラメータ出力 | 特定エンジンの特性に依存しない公平性 |
9. エンジン連携インターフェース(コネクター仕様)
本地上パートシステムは、Rogue2ダンジョンエンジン(またはその他の探索エンジン)と疎結合な関係を持つ。両者はJSON形式のパラメータを介して通信し、互いの内部実装詳細を隠蔽する。
9.1 出力パラメータ(地上部 → ダンジョン部)
カードゲーム終了時、以下のJSON構造を生成し、エンジンコネクターへ渡す:
{
"session_id": "uuid",
"region_id": "floating_archive",
"player_state": {
"food": 4,
"equipment_tier": 1,
"special_items": ["identified_scroll"]
},
"dungeon_config": {
"base_floors": 7,
"traversal_mode": "one_way",
"difficulty_modifier": -1,
"modifiers": {
"trap_density": -0.2,
"knowledge_bonus": 2
}
},
"metadata": {
"clear_count": 1,
"special_card_drawn": false,
"card_history": ["recovery+2", "equipment+1", "difficulty-1"]
}
}
9.2 Rogue2エンジン固有パラメータ
Rogue2(26階層往復をTop Tierとするエンジン)への入力として、以下を解釈する:
- base_floors: ダンジョン生成時の階層数(5〜26)
- traversal_mode:
"one_way": 指定階層まで到達即クリア"round_trip": 26階層到達後に帰還(Down Stair → Up Stairの往復)
- difficulty_modifier: 階層数への加減算(-3〜+3程度を想定)
9.3 疎結合性の保証
- エンジン非依存: 地上部は、ダンジョンエンジンがRogue2であろうと、独自実装であろうと、同じJSONスキーマを出力する
- 後方互換性: 将来のエンジン置き換え時も、
base_floorsやplayer_stateなどの基本パラメータは維持 - 拡張性:
modifiersオブジェクトは、エンジン固有の拡張パラメータを含む辞書として、柔軟に解釈可能
10. まとめ
本「運命カード」システムは以下の特徴を持つ:
- 物理的デッキの固定: 24枚(回復8/装備8/難易度8)という明確な構造
- 事後的確率補正: Region Stateに応じた重み付け抽選により、世界状況を反映
- スペシャルカードの進行連動: クリア回数に応じた出現率(0%〜30%)
- 効果の一時性: 全ての効果は直後のダンジョンのみに適用
- 段階的Top Tier到達: 5階層から開始し、26階層往復への漸増的成長曲線
- エンジン独立性: Rogue2(26階層往復)を最高到達点としつつ、抽象化されたインターフェースで接続
プレイヤーは「温存するか」「投資するか」というRogue的なジレンマを体験しながら、世界の変化を直接「感じ」、かつ「今のセーブデータを続けること」が常に「リセットしてやり直すこと」よりも価値ある選択として設計されている。
また、将来のRogue2エンジン置き換えや、難易度カスタマイズ(片道モード等)にも対応可能な、柔軟で持続可能なアーキテクチャを持つ。
