戻る
分解 · コード · デモ
ローグライク戦闘レベル数値成長

Roguelike Level Design: Random Pool Architecture and Build Power Scaling

A deep dive into constructing random pools and managing build power curves in Roguelikes. This guide details room event pool configuration, weight constraints, and budget-based allocation strategies to prevent power creep. It covers techniques for ensuring key node appearances, implementing soft-correction mechanics for player progression, and designing explainable randomness to deliver a rich yet balanced procedural generation system.

1

分解

Building the Random Pool
  • Decompose levels into 'Room Template Pools': Standard, Elite, Shop, Event, Supply, etc.
  • Attach tags and constraints to each template: biome, difficulty tier, prerequisites/mutual exclusivity, cooldowns (to prevent consecutive spawns)
  • Use 'Budgets' instead of pure weights: Define target ratios for events and combat per layer or segment
Controlling Build Power
  • Define target power curves: Expected growth in DPS/survival/mobility per layer
  • Reward distribution driven by tables: Ratios of upgrades/rarity/resources vary by layer
  • Implement 'Soft Correction': Compensate for falling behind, increase risk for leading instead of direct nerfs
Avoiding 'Seemingly Random' Experiences
  • Prevent consecutive same-type rooms: Apply cooldowns to recent N category entries
  • Guarantee appearance at key nodes: e.g., at least one Shop/Supply every 3 layers
  • Make random results explainable: Use UI to inform players if the current layer is 'Combat-heavy' or 'Resource-heavy'

キーコード

Weighted Picking with Cooldowns and Hard Constraints (Simplified)
ts· 38 行
アーキタイプ:この記事は「戦闘」アーキタイプに属しています相手との駆け引きとスキルの応酬が中心。核心は隙、リソース、そして動きの読みにある。
アーキタイプを見る

デモ

専用デモはまだありません。代わりに、そのアーキタイプの最小限のプレイ可能なデモを埋め込んでいます。

Roguelike Level Design: Random Pool Architecture and Build Power Scaling Pattern Demo
ゲームを読み込み中…

記事

Roguelike Level Design: Random Pool Architecture and Build Power Control

The One-Sentence Essence

On the surface, it's procedurally generated levels; in reality, the core mechanism is "controlled combinatorial generation" and "risk pacing regulation." This article focuses on explaining how to control room combinations via tag constraints and how to dynamically balance Build power through budgets and soft corrections.

Why it goes viral: Content is infinitely scalable ("never the same twice"), naturally fitting short-form video/live streaming loops.

1) Random Pools Aren't "Random"—They're "Controlled Combinatorial Generation"

Break levels into multiple composable pools, not a big messy dump:

  • Room Pool: Standard Combat / Elite / Shop / Event / Resupply
  • Reward Pool: Gold / Upgrades / Relics / Temporary Buffs
  • Enemy Pool: Grouped by biome, floor, unit size, and skill tags

Key Point: Every entry must have tags and constraints; otherwise, you're just firefighting with "weight magic."

Common constraint fields (table-driven):

  • minFloor/maxFloor: Appearance interval
  • exclusiveTags: Mutually exclusive (only appears once per floor)
  • cooldown: Won't appear for the last N times (prevents back-to-back shops/events)
  • ensureEvery: Must appear at least once every X floors (avoids "no shop leads to no late-game progression")

2) Build Power Control: Don't Just "Weaken the Player"; Change Risk and Pacing

Player Builds usually break not because "numbers are too high," but because the growth curve goes out of control:

  • Rare upgrades too dense → stacking multipliers too fast
  • Defense growth lags → one-shot kill
  • Key functions (dashes/penetration/lifesteal) appear too late → bad feel, churn

Solution: First, define a target power curve (expected value per floor):

  • Output: Expected DPS growth 10~15%/floor
  • Survival: Effective HP or damage reduction growth 8~12%/floor
  • Control: Key functions must get an "entry version" by floor 2~3

When a player is ahead, don't "cut stats." Better means are:

  • Increase Risk: Stronger enemy combos, less resupply, higher elite density
  • Change Reward Structure: Give "choice space" when ahead, give "direct power" when behind
  • Control Stacking: Change similar bonuses to additive (additive within same group, multiplicative across groups)

3) A Very Useful Generation Strategy: Budget + Soft Correction

Set a budget per floor (example):

  • Combat room ratio 60%
  • Event room ratio 25%
  • Shop/Resupply ratio 15%

Then apply soft correction based on player state:

  • Player behind: Increase weight of resupply/direct numerical rewards
  • Player ahead: Increase weight of "high risk, high reward" (e.g., elites/cursed rewards)

Edge Cases

Issues that need handling:

  • When an entry lacks tags or constraints, don't rely on weight magic; must supplement with exclusive, interval, cooldown, or must-appear constraints.
  • When a player encounters the same room type consecutively (e.g., shop/event), trigger the cooldown mechanism to prevent back-to-back spawns.
  • When a specific room type (e.g., shop) hasn't appeared within X floors, trigger the must-appear mechanism to avoid being unable to progress in the late game.
  • When a player's Build growth curve goes out of control (e.g., stacking too fast or defense lagging), intervene by adjusting enemy combos or reward structure, not by directly weakening stats.
  • When a player is in an ahead or behind state, dynamically adjust resupply weight or risk weight based on the preset target power curve.

Design Trade-offs

  • Gains: Room pool splitting brings infinite content expansion and diversity; budget control ensures level stability; soft correction provides a sense of fairness.
  • Costs: Relying on tags and constraint fields increases design complexity; directly weakening player stats ruins feel and increases churn risk.
  • Alternatives: Use "increase risk" and "change reward structure" instead of "directly weakening stats"; use "additive within same group/cross-group multiplicative" instead of "directly stacking similar bonuses."

One-sentence summary: Pools handle "diversity," budgets handle "stability," and corrections handle "fairness."

あなたにおすすめ

Random Skill Selection: Balancing Weights and New Player Safeguards
Random Skill Selection: Balancing Weights and New Player Safeguards

A deep dive into Roguelike random skill selection mechanics, detailing skill pool structures and weighting algorithms. Learn how synergistic weighting balances diversity while new player safeguards prevent numerical collapse, effectively resolving choice anxiety and optimizing combat generation.

ローグライク戦闘
Match-3: Leveraging Elimination Mechanics to Drive Retention and Pacing
Match-3: Leveraging Elimination Mechanics to Drive Retention and Pacing

A deep dive into Match-3 core mechanics, focusing on the intensity stratification logic for 3/4/5-match eliminations. Through quantitative analysis of satisfying elimination triggers and dynamic checkpoint control strategies, we reveal how to drive user retention via rule design. Content covers constrained random generation algorithms and level pacing, aiming to help developers build high-engagement elimination experiences and improve game balance.

マッチレベル
Roguelike Slaying: Enemy Density Formulas and Screen Readability
Roguelike Slaying: Enemy Density Formulas and Screen Readability

This article dissects the core mechanics of roguelike slaying games, breaking down the construction of enemy density curves to create dynamic combat pacing. It explains how director systems use calculation to control enemy distribution for screen readability, analyzes hard rules limiting special effects to ensure visual clarity, and reveals the satisfaction derived from linear enemy growth paired with exponential player damage. The guide provides actionable advice for developers to balance numerical values with player experience.

ローグライク