Skip to content

t1k:designer:rpg:core

FieldValue
Modulerpg
Version1.7.2
Effortmedium
Tools

Keywords: character progression, design, role-playing, RPG

/t1k:designer:rpg:core

Handles RPG game design: stats, classes, progression, loot, combat formulas, enemy design. Does NOT handle economy/currency (→ game-economy-design) or balance validation (→ game-balance-tools).

Primary stats (direct inputs): STR, AGI, INT, VIT, DEX, LCK Derived stats (computed): ATK, DEF, HP, MANA, CRIT_RATE, CRIT_DMG, SPEED

Modifier types (apply in order):

  1. Flat additive (+50 ATK)
  2. Percent additive (+20% ATK — sum all, apply once)
  3. Percent multiplicative (×1.15 — each multiplied separately)

Scaling formula: derived = (base + flat) × (1 + sumPctAdd) × prod(pctMul)

RolePrimary StatWin Condition
TankVITSurvive; hold aggro
DPSSTR/AGI/INTKill fast
SupportINT/LCKAmplify allies
Hybrid2 primariesFlexible; lower ceiling

Design rule: each class must have a clear answer to “what does this do that others can’t?”

XP to next level — exponential base: xpRequired(L) = baseXP × growthRate^(L-1) — e.g., base=100, rate=1.15

Stat growth per level — linear + milestone spikes: stat(L) = statBase + perLevel × L + bonus[L] where bonus fires at milestone levels (10, 20, 30…)

Power scaling check: level N enemy should be defeatable by level-N player in ~6–10 hits. Level-gated content: gate at 80% of content’s recommended level range.

Rarity tiers: Common (60%) / Uncommon (25%) / Rare (10%) / Epic (4%) / Legendary (1%)

Weighted drop: roll 0–100, map ranges to tiers. Pity system: after N drops without Legendary, bump rate by pityIncrease per subsequent drop. pityRate(n) = baseRate + max(0, n - pityThreshold) × pityIncrease

Base damage: DMG = ATK × multiplier - DEF × reduction Clamp minimum: max(DMG, 1) — never zero damage. Critical hit: DMG × (1 + CRIT_DMG) when roll < CRIT_RATE Elemental modifier: multiply by elementTable[attacker][defender]

Avoid additive stacking hell — use diminishing returns for defense: effectiveDEF = DEF / (DEF + defConstant) → asymptotes to 1 (100% reduction never reachable)

Normal enemy: statScale(wave) = baseStats × (1 + waveMultiplier × wave) Elite: ×1.5–2× normal stats + 1 unique mechanic Boss: ×5–10× normal + phase transitions + immunity windows

Wave-scaling rule: player DPS should outpace HP gain by ~10% per wave to maintain pacing.

FileContent
→ See game-balance-toolsDPS/EHP validation, spreadsheet tools
→ See game-economy-designCurrency, gacha, monetization
→ See engine implementation skillsCode implementation of these formulas
  • DPS curves that feel exponential are usually exponential — cap the exponent.
  • Class identity is communicated in the first 3 abilities, not the last — front-load the differentiation.
  • Loot tables with >3 rarity tiers turn drops into Excel — keep tiers crisp and meaningful.