冒険 - kjirou/hello-adventurers-core GitHub Wiki

🗺️ 冒険の概要

  • RPGの中で、いわゆるダンジョン探索部分を表現したもの
  • ダンジョンをカードデッキで表現して、カード1枚が1つの戦闘・罠・宝箱などのイベントを表現する
  • エリート戦闘などの大きな危険を回避したり有利な条件で解決したりしつつ、宝箱などの利益を拾っていくのがこの部分のゲーム性

🤔 冒険の存在意義

  • この部分にゲーム性を設定しないかほぼ設定しなくても、全体としてゲームは成立しうる
    • 例えば、ちょこっとダンジョンみたいに次のイベントが固定になっててもいいし、StSのようにいくつかの経路から1つを選ぶ感じでも良い
      • 他に亜種はあるが、実際は上記と大差ないか、複雑した割に結局ランダムという改悪のいずれかである
        • なお、デザインに力をかけることを前提にすれば演出面の意味はある。TRPG風・伝統的なローグライクRPG風・JRPGのフィールド風などの各需要は多くの作品から見て取れる。
  • 総じて、楽しくするのが難しく、さほど重要ではない部分だと考えている
  • しかし、この部分を完全に捨てるのは惜しくもある
    • 盗賊やレンジャーなどの特色が出しやすいので、データの色付けパターンとして強力なものではある
    • 稀には戦闘をほぼなしで勝ちが拾える冒険があっても良い
  • ゲームの基本方針に反しない限りで頑張る
    • 反しそうな要注意点
      • 戦闘力の価値を下げ過ぎる
        • 戦闘があまりに回避できてしまうと、パーティの戦闘力の価値が下がってしまう
        • 基本的には戦闘力をどう高めるかがパーティ構築の主眼なので、戦闘力の価値は常に高くないといけない
      • 予測可能性への悪影響
        • 冒険っぽい感じを出すのに乱数を使ったりプレイヤーへの情報の隠蔽をしたくなるが、無闇にやると予測可能性が減る
        • 乱数は基本的に使わないこと
          • D&D の Ability Check 的なのは最も悪い例。DMにより利益と損害の調整ができる前提の仕組みを、その調整がない世界で使ってはいけない。
        • 情報の隠蔽は計画的に
          • ダンジョン詳細からのUI導線上自然かや演出上自然かなどの納得力で不快感が変わると思う

💻 画面のイメージ

  • 左フィールド(4x4のマス目のこと)はプレイヤーのパーティを配置する場所
    • 常にこの表示で、戦闘以外のイベントでもこのまま
    • 冒険中に使うスキルも、基本的にはここからメンバーを選んで下ナビから実行してもらう
  • 右フィールドは、現在のイベントによって変わる
    • 戦闘ならマス目になり敵パーティが配置される
    • 他イベントもマス目のままにできるなら、雰囲気的にそっちの方が良さそう
      • でも、それぞれで必要な情報が異なるので、こだわるのは良くない
  • 上部がダンジョンを意味するカード群
    • 画面だと5枚あったり、冒険者アイコンみたいのがあるけど、その辺は違うかも

👶 PoC 実装

🎴 ダンジョンカード・山札

  • デフォルト30枚のダンジョンをモデル化したカードの束で山札になっている
    • 30枚である理由
      • 方針としては、1)プレイヤーが工夫できる余地が作れること、2)その上でプレイ時間が減るから少ないほど良い、3)地形が5種類なので、5の倍数だと気持ちいい
      • とはいえ具体的にわからんので、考えやすい「10回引くと山札がシャッフル」から逆算した
  • ダンジョンカードインスタンスのプロパティ
    • Happening(出来事)
    • Terrain(地形)
    • Progression Level(進行度)
      • 1から5までの数値
      • この数値を一定量貯めると冒険がクリア
    • Alert Level(警戒度)
      • 出来事が敵の時のみ設定されている
    • 不可視フラグ
    • 報酬取得可能フラグ

🎥 Happening(出来事)

  • ダンジョンカードの主な内容
名前 解決までの手順 詳細・備考
Battle(戦闘) 敵フィールドへ敵パーティが出現し戦闘開始、敵を全滅したら解決、冒険者側が全滅したら全滅の結果で冒険失敗
Camp(キャンプ) 敵フィールドへキャンプが出現しその時点で解決 プレイヤーの任意でキャンプを選択するとキャンプ効果発動、FP+1,MHP10%回復
Chest(宝箱) 敵フィールドへ宝箱オブジェクトが出現しその時点で解決 プレイヤーの任意で冒険者を操作して宝箱を解錠できる
Trap(罠) 敵フィールドへ罠が出現、罠を選択すると冒険者パーティが被害を受け解決 罠の影響は罠による
Unique Event(固有イベント)
(役立つ物を発見) 敵フィールドへオブジェクトが出現しその時点で解決 プレイヤーの任意でオブジェクトを選択すると、TP+1
(冒険者の遺体) 敵フィールドへオブジェクトが出現しその時点で解決 プレイヤーの任意でオブジェクトを選択すると、報酬増加
(瀕死の逃亡者) 敵フィールドへオブジェクトが出現しその時点で解決 プレイヤーの任意でオブジェクトを選択すると、救出。救出すると、冒険者1人へAP/2切り上げのデバフ,報酬増加,次の場札を全て可視状態にする
(気配を察知) 敵フィールドへオブジェクトが出現しその時点で解決 プレイヤーの任意でオブジェクトを選択すると、山札の上6枚へTactical Margin Modification(-1,1回)付与
(秘密の抜け道) 敵フィールドへオブジェクトが出現しその時点で解決 プレイヤーの任意でオブジェクトを選択すると、山札の上3枚へProgression Level Modification(元の進行度と同じ値)付与
(暗い路) 敵フィールドへオブジェクトが出現し、それを選択すると解決 オブジェクトを選択すると、山札の上3枚を不可視へ変化
(道に迷う) 敵フィールドへオブジェクトが出現し、それを選択すると解決 オブジェクトを選択すると、シャッフル,Disoriented Path(2AT)付与
(監視の目) 敵フィールドへオブジェクトが出現し、それを選択すると解決 オブジェクトを選択すると、山札の上3枚へAlert Level Modification(+1)付与

⛰️ Terrain(地形)

  • 飛行力の制限、基本的にプレイヤー有利の意図の設定
    • 屋内は、大広間以外は1
    • 屋外は、洞は1
裏面種別 屋内 裏面種別 屋外 出来事 固有イベント ギミック 備考
Corridor(通路) Trail(道) 戦闘,罠 気配を察知,冒険者の遺体,瀕死の逃亡者,暗い路
Crossroad(十字路) Crosspath(交差路) 戦闘,罠 冒険者の遺体,瀕死の逃亡者,暗い路,秘密の抜け道 パーティへDraw Capacity Modification(2AT,+1)を付与
Maze(迷路) Math Path(迷い道) 戦闘,罠 冒険者の遺体,瀕死の逃亡者,暗い路,道に迷う 進行度が見えない
Hall(広間) Glade(広場) 戦闘,宝箱 役立つ物を発見,監視の目
Small Room(小部屋) Hollow(洞) 戦闘,罠,宝箱 キャンプ,役立つ物を発見
Exit(出口) Exit(出口) 戦闘,空 - 倒すと設定に応じた報酬増
Entrance(入口) Entrance(入口) - 基本的には何もない

📚 場札・捨札・解決札

  • 1冒険ターンにつき、山札から3枚を引き、場札へ並べる
  • その内1枚を選択してその結果を受けるが、選択した札は解決札へ、残りの札は捨札へ移動する
  • シャッフル時に捨札は山札になる

⚠️ Alert Level(警戒度)

  • 戦闘イベントは、最大 -5 から最小 5 の警戒度が設定できる
  • 山札がシャッフルする時に、全ての戦闘へ+1する
  • 戦術差という概念を経由して、APへマイナス補正を受ける

🔦 カードの可視・不可視状態

  • 場札は基本的に内容がわかるが、不可視状態になると一部の情報がわからない
  • 隠されるのは、内容と警戒度。進行度と地形は見える。
  • 不可視状態のカードを選択して戦闘が発生すると、奇襲を受ける
  • 可視状態は場札から無くなっても維持する

🏃 冒険の撤退

  • 場札の選択時に、基本的にはプレイヤーの任意で、冒険の撤退を選択できる
  • 撤退した場合、報酬は減るがゼロにはならない
    • 半分で良さそう
    • ゼロにしてしまうと、「次回に向けて進歩がない」という気持ちになり、プレイのやる気を著しく失いそう
  • 撤退できない状況もある
    • 場札3枚が全て警戒度1以上の戦闘のとき
      • 囲まれているという演出で撤退できない
    • 特定のパーティデバフを受けている時
      • 主に罠によるものを想定

💥 冒険1ターンの処理の流れ

  • 冒険ターン開始
  • 出来事の取得
    • 0ターン目は空、以降は直近で選んだ場札の内容
  • 冒険ターン数を1加算
    • 冒険ターン数は0開始
  • 出来事の開始と終了
    • 戦闘
      • 右フィールドへ敵パーティを展開し、そのまま戦闘へ突入
      • 戦闘が勝利か敗北いずれかで終了したら、出来事も終了
    • 罠・プレイヤーに不利な固定イベント
      • 右フィールドへ出来事発動用のオブジェクトを配置
      • 出来事を発動したら終了
        • 事前に対処が可能だが、出来事の発動は必須
    • 宝箱・キャンプ・プレイヤーに有利な固定イベント
      • 右フィールドへ出来事発動用のオブジェクトを配置
      • この時点で出来事は終了
        • 出来事の発動は任意
  • 山札からn枚引いて場札にする
    • 通常は3枚
    • 山札が足りない場合は、捨札をシャッフルして再生成
  • 必要進行度を満たしている場合は、出口カードを場札へ追加
  • (プレイヤーの場札選択待ち、他行動も可能)
  • プレイヤーが場札を選択する
  • 冒険ターン終了
  • 状態修正の効果時間を減少する

👁️‍🗨️ 不可視カードの内容候補表示

!!!廃止の冒険仕様のままの記述、不可視がベースじゃなくなったのでいらないかも!!!

  • 不可視状態のカードに対して、裏面種別とダンジョン詳細時に表示している内容から導出されるカードの候補が何であるかをUI上に表示する
    • 例えば、「敵1,敵2,敵3,罠1,罠2,宝箱x2のうちのどれか」のような情報
  • 一度開いたカードでより詳細がわかったなら、候補の情報も更新されていく
    • 例えば敵の警戒度など
  • 裏面種別と残り枚数からある程度の推測はできるが、残りカードの内容からいちいち計算してもらうのは煩雑であるため
  • 内容候補表示するのは以下の場所に対して
    • それぞれの場札
    • 山札の先頭カード
    • 山札の先頭を除く出口カードより前
    • 山札の出口カードより後

♻️ 冒険の再挑戦

  • 冒険者パーティは戦闘中以外は任意で冒険から撤退可能。その場合、クエストとそれに内包される冒険先はクリアにならない。
  • 再挑戦の場合は、冒険先を以下の手順で更新する
    • 解決済みの宝箱カードの報酬可能フラグをOff
    • 不可視カードの数を 不可視カード数 - 不可視を解除したカード数/2(切り上げ) へ変更して、再度ランダムに配布
  • 趣旨としては、以下
    • スカムの防止
      • スカム自体があまり機能しないゲームの仕組み(パーティに使用回数がある・ギルドの収入は半分)だが、勘でやっといてもいいかもくらいの理由
        • 特に宝箱は、演出上しっくりくるのもある
    • 次回の冒険を若干有利にする
      • 宝箱を開ける必要がないならそれに回す配慮がなくなるし、不可視カードも減らせる
      • それにより、弱いパーティを先行隊として使うこともできるようにする
      • あまりメリットを大きくすると、高難易度が複数冒険前提になるので、ほどほどにした方が良さそう

🔢 プレイの勘所

  • 山札をシャッフルすると警戒度が高まり戦闘の難易度が上がるので、ある程度戦闘を先に片付けておく動機が働く
    • また、戦闘の密度が高くなると、冒険から任意撤退できない状況も出てくる
    • 進行度が4 or 5で敵の相性が良ければ倒しとこうかな...くらいに思ってもらえるととても良い
  • 警戒度の仕様上、1は大したことないが、2や3になるにつれて加速的に厳しくなるから、1まで下げられる手段を用意させる
  • 不可視状態のカードは、地形からある程度推測できる
    • 基本的には部屋系の方が通路系より安全
    • 慣れた人向け