概要
Slay the Spire 2 のシングルプレイでは、複数の RNG(乱数生成器) が想定外に相関している。 この相関により、NeowのBonesなどのリリックや初戦のドロップ確率などに 大きな偏り が生じる。 C#のSystem.Random の特性が主な原因で、同じシードから異なるRNGが「似た」出力を生成。 プレイヤーが意図せず 将来のランダムイベントを予測できる 現象が発生。 この問題は Slay the Spire 1 でも既知であり、2でも形を変えて再現している。
Slay the Spire 2におけるRNGの相関現象
- 複数の独立したRNG を用いることでイベント間の影響を避ける設計
- 例:戦闘中のランダム性がカード報酬に影響しないようにする意図
- 各RNGは seed + hash(識別子) で初期化
- 例:Rng UpFront = new Rng(seed + hash("up_front"))
- しかし C#のSystem.Random のアルゴリズムが「ほぼ線形」なため
- シード差が既知の場合、出力の差も予測しやすい
- これにより 異なるRNG同士で出力が“似る”
- 1つのRNGの出力結果から他のRNGの出力範囲を狭められる
Neow's Bonesの呪い偏り
- UnderdocksでNeow's Bonesを選ぶと 約54%の確率でDebt の呪いが出現
- ClumsyやGuiltyなどの軽い呪いはほぼ出ない
- Overgrowthでは Writheが約74%、Shameが約19%と極端な偏り
- New LeafやKaleidoscope が同時出現すると相関が壊れるが、通常は強いバイアスが残る
- プレイヤーの体感「Debtばかり出る」は 実際に統計的裏付けがある
他のNeowリリックにも影響
- Large Capsule:Underdocksでは出現自体が1.65%と低確率、出た場合は レアリックの出現率が高い
- Small Capsule:呪いリリックの有無やActで 出現リックのレアリティ分布が大きく変動
- Leafy Poultice、Hefty Tablet:変化カードや選択カードも 偏ったプールから選ばれる
- 例:Hefty TabletはUnderdocksでJuggernautが7割超
初戦のポーション・カード・ターゲットにも相関
- Underdocks初戦の ポーションドロップ率76%、Overgrowthでは 4%
- Lightning Orbのターゲットも 左側が75% など、呪いリリックによって更に細かく予測可能
- イベントや戦闘でのランダム挙動が 事前に予測しやすくなる
問題の本質と今後の影響
- System.Randomの線形性 が主な原因
- シード差が既知であれば、どのRNGも「似た」乱数列を生成
- プレイヤーは 過去のランダム結果から将来の結果を推測可能
- Slay the Spire 1 でも同様の問題があり、2でも根本的な解消には至っていない
- 影響範囲は広く、 カジュアルプレイヤーにも実害 が及ぶ
- 今後のパッチや設計見直しで より独立性の高いRNG実装 が求められる
まとめ
- CRNG(Correlated RNG)問題 はSlay the Spire 2のリプレイ性やゲームバランスに影響
- 現在のバージョン(v0.107.0)では 一部リリックやイベントの出現率が極端に偏る
- コミュニティでも体感的な「偏り」が議論されていたが、 実際に技術的裏付けが判明
- 今後のアップデートで RNGの独立性強化 が期待される