Balance principles
Balance is what separates a memorable event from a forgettable one. Get it right and players agonize over choices. Get it wrong and they click the obviously best option without thinking. This chapter covers how vanilla Stellaris balances its events, how Forge World builds on that system, and the concrete numbers you need to make your events feel fair.
How vanilla Stellaris scales rewards
Stellaris uses a tiered multiplier system where rewards scale with empire production. The base values come from scripted variables in the game files, and each tier applies a larger multiplier.
Material rewards (energy, minerals, alloys)
| Tier | Multiplier | Min | Max | Typical usage |
|---|---|---|---|---|
| 1 | 6× | 100 | 500 | Minor discoveries |
| 2 | 12× | 150 | 1,000 | Standard anomalies |
| 3 | 18× | 250 | 1,500 | Notable finds |
| 4 | 24× | 350 | 2,000 | Major discoveries |
| 5 | 48× | 700 | 4,000 | Rare events |
Research rewards
| Tier | Multiplier | Min | Max | Typical usage |
|---|---|---|---|---|
| 1 | 6× | 60 | 150 | Small boost |
| 2 | 12× | 90 | 250 | Standard anomaly |
| 3 | 18× | 120 | 350 | Good discovery |
| 4 | 24× | 150 | 500 | Major breakthrough |
| 5 | 48× | 300 | 1,000 | Exceptional find |
Unity and influence
Unity follows the same scale as materials. Influence is much more constrained — it's the most precious resource in Stellaris, and even tier-5 influence rewards cap at 600.
Concrete vanilla examples
These come from actual vanilla event files:
| Context | Effect | Value |
|---|---|---|
| Hidden event reward | add_minerals | 325 |
| Dialog option reward | add_minerals | 750 |
| Electroshock event | add_energy | 1,000 |
| Accepting exiles | energy cost | -500 |
| Accepting exiles | rare_crystals cost | -50 |
The scaling problem
Flat resource amounts have a fundamental problem: they become trivial as empires
grow. Getting 200 energy in year 10 matters. Getting 200 energy in year 100 is
meaningless. Vanilla Stellaris partially addresses this with add_monthly_resource_mult,
which scales rewards based on monthly production.
Forge World takes this further with scaled resources (resource_gain_scaled).
Instead of flat amounts, you specify a percentage of the empire's current
stockpile:
- category: resource_gain_scaled
resource: energy
percent_of_stockpile: -0.10
A 10% stockpile hit feels meaningful at every game stage. The mod reads the stockpile when the option is picked and takes exactly that share.
Rule of thumb: always use resource_gain_scaled for standard resources
(energy, minerals, alloys, unity, influence, consumer goods). Use flat
resource_gain only for strategic resources (minor artifacts, exotic gases,
volatile motes, rare crystals) where stockpiles are small and fixed amounts
matter.
Value equivalence
To design balanced tradeoffs, you need a common unit of comparison. Forge World uses energy-equivalent values:
| Resource | Value per unit | Notes |
|---|---|---|
| Energy (per 100) | 50 | Baseline |
| Minerals (per 100) | 50 | Same as energy |
| Alloys (per 100) | 100 | 2× more valuable |
| Consumer goods (per 100) | 75 | |
| Unity (per 100) | 75 | |
| Influence (per 10) | 100 | Very precious |
| Minor artifacts (each) | 200 | Rare |
| Exotic resources (each) | 150 | Gases, crystals, motes |
Research progress is especially valuable:
| Type | Value per unit | Notes |
|---|---|---|
| Research progress (per 1%) | 125 | Scales with tech cost |
| Research speed modifier (per 1%/year) | 400 | Compounds over time |
| Resource production modifier (per 1%/year) | 300 | |
| Unity production modifier (per 1%/year) | 200 |
This means 5% research progress (value ~625) should cost roughly 600 energy to feel balanced. If you give research for free, it dominates every other reward type.
Reward ranges
Research progress
| Size | Range | Energy cost to match |
|---|---|---|
| Small | 3–5% | 400–700 |
| Medium | 5–8% | 700–1,100 |
| Large | 8–12% | 1,000–1,600 |
Research percentage is deceptively powerful late-game. 5% of a 50,000-point tech equals 2,500 research points. Keep percentages modest and ensure costs hurt proportionally.
Flat resources
| Size | Amount | Alloy cost equivalent |
|---|---|---|
| Small | 200–400 | 75–150 |
| Medium | 400–700 | 150–300 |
| Large | 700–1,200 | — |
Strategic resources
| Resource | Small event | Medium event | Large event |
|---|---|---|---|
| Minor artifacts | 1–2 | 3–5 | 5–10 |
| Exotic gases | 1–3 | 3–5 | 5–8 |
| Volatile motes | 1–3 | 3–5 | 5–8 |
| Rare crystals | 1–3 | 3–5 | 5–8 |
| Living metal | 0–1 | 1–2 | 2–3 |
| Zro | 0–1 | 1–2 | 2–3 |
| Dark matter | 0–1 | 1–2 | 2–3 |
Scope multipliers
Every event has a reward_scope that scales all values up or down:
| Scope | Multiplier | Variance | When to use |
|---|---|---|---|
| Modest | 0.7× | Tighter | Safe, small nudges |
| Normal | 1.0× | Standard | Most events |
| Extravagant | 1.4× | Slightly wider | Big swings with real tradeoffs |
| Wild | 1.8× | High | Strange, high-variance outcomes |
A "large" research reward (8–12%) at "extravagant" scope becomes 11–17%. At "modest" scope it becomes 5.6–8.4%. This lets you reuse the same reward templates while varying intensity by event weight.
Option set patterns
Forge World uses six standard patterns for option sets. Each pattern ensures meaningful choice without requiring hand-tuned balance for every event.
| Pattern | Description | When to use |
|---|---|---|
different_rewards |
All options good, pick what you need | Discoveries, windfalls |
choose_your_poison |
All options hurt, pick least painful | Crises, consequences |
tradeoff_trio |
Each option gains AND loses something | Standard decisions |
risk_spectrum |
Safe/medium/risky with scaled rewards | Mysteries, exploration |
time_horizon |
Immediate vs. long-term investment | Opportunities |
story_branch |
Different narrative paths | First contact, encounters |
The system rolls balanced numbers from config_balance.yaml while the AI
writes narrative flavor. This separation keeps balance consistent even as
event content varies.
Modifier durations
| Category | Duration | When to use |
|---|---|---|
| Short | 360–720 days (1–2 years) | Most modifiers — narrative flavor |
| Medium | 720–1,080 days (2–3 years) | Major discoveries |
| Long | 1,080–1,800 days (3–5 years) | Use sparingly |
| Permanent | — | Never — wrong for a flavor mod |
This mod is about storytelling, not gameplay overhaul. Keep modifiers short enough that they feel like narrative moments, not permanent build decisions.
Key design principles
-
Every option has a cost. No obviously correct choices. If an option gives something, it must cost something — resources, risk, opportunity, or time.
-
Research costs hurt. Percentage progress is extremely valuable late-game. Always pair research rewards with proportional costs.
-
Costs match gains. Use the energy-equivalent value table to verify that rewards and costs are in the same ballpark.
-
Scaled resources by default. Always use
resource_gain_scaledfor standard resources. Flat amounts are trivial mid-game. -
Max two effects per option. Keeps tooltips readable and prevents reward stacking.
-
One premium reward per option. At most one of: tech unlock, follow-up event, or strong modifier (≥10%). Never stack two premium types.
-
Follow-ups are gambles, not bonuses. A follow-up event might reward or punish. When only one option has a follow-up, it's the risky choice.
-
Modifiers match their names. "Debt" means negative. "Inspiration" means positive. The validator catches mismatches.
Putting it all together
When designing a balanced event:
- Decide the
reward_scope(modest, normal, extravagant, wild) - Pick an option set pattern (tradeoff trio, risk spectrum, etc.)
- For each option, choose rewards from the appropriate size range
- Apply the scope multiplier
- Calculate energy-equivalent value of each option's rewards
- Add costs that roughly match the reward value
- Verify no option dominates — check that each has a genuine downside
- Keep modifier durations short (360–720 days preferred)
The config_balance.yaml file contains all these ranges and multipliers,
making it easy to tune values during playtesting without touching event files.
Next steps
With options, effects, and balance covered, the next chapters explore specialized event types — anomalies, dig sites, situations, and event chains — where these principles come together in more complex structures.