FORGE WORLD TERMINAL v1.0 [ONLINE]
1. Introduction to Stellaris event modding

Introduction to Stellaris event modding

Stellaris events are the building blocks of narrative content in the game. They're how the game presents choices to the player, delivers story beats, and creates the memorable moments that define a playthrough.

This guide teaches you how to build balanced, well-structured events — from the basic anatomy of an event file to advanced techniques like chained event sequences and balanced option design.

What you'll learn

  • Chapter 1 (this chapter): The basics — what events are, how they're structured, and how Stellaris loads them
  • Chapter 2: Interaction design — writing options that create meaningful choices
  • Chapter 3: Effects and balance — resource costs, modifiers, and making tradeoffs feel fair
  • Chapter 4: Event chains — triggers, follow-ups, and multi-part narratives

More chapters covering anomalies, dig sites, situations, testing, and advanced patterns are planned for a future release.

What is a Stellaris event?

At its core, a Stellaris event is a popup window with a title, description, a portrait or background image, and one or more options the player can click. Each option can trigger effects — resource changes, modifier applications, follow-up events, or any of the hundreds of commands in the Clausewitz scripting language.

Events are defined in plain text files using Paradox's Clausewitz syntax. They live in the events/ folder of a mod and are referenced by a namespace and numeric ID.

The YAML layer

Forge World uses YAML as an authoring format, sitting above Clausewitz. You write your events in YAML — a cleaner, more structured format — and Forge World validates and renders them into the Clausewitz .txt files that Stellaris actually loads.

This separation gives you:

  • Validation before rendering — catch errors in your YAML before they become cryptic Clausewitz bugs
  • Structured data — YAML's explicit fields prevent the common mistake of forgetting a closing brace three hundred lines later
  • Portability — the same YAML can target different Stellaris versions as the renderer adapts

Event anatomy

Every event in Forge World's YAML format has these required fields:

slug: mysterious_signal        # unique identifier
kind: standalone               # standalone, anomaly, site, or situation
name: A mysterious signal      # human-readable name
interaction_events:            # the actual content
  - role: main
    title: The signal
    description: Your science ship has detected an unusual signal...
    options:
      - opt_key: investigate
        text: Investigate the source
      - opt_key: ignore
        text: Ignore it and move on

The kind field determines how Stellaris triggers the event:

Kind Trigger Use when
standalone MTTH (mean time to happen) via gatekeeper Generic empire events
anomaly Anomaly discovery during exploration Early-game discovery
site Archaeological dig site chapters Multi-stage investigation
situation Situation creation and progress Persistent pressure/opportunity

Next steps

In the next chapter, we'll dive into interaction design — how to write options that create meaningful, balanced choices for the player.