What a spell or hazard leaves behind
Fire, oil and ice on the ground, fog, walls and auras above it, each defined once: how long it lasts, what it does to whoever stands in it, and what it becomes when fire, water or another area reaches it. Triggers place areas, formulas ask about them, and Truespeak Studio checks every definition against the rest.
Windows desktop app
Oil · Surface
- Lifetime
- Until Removed
- Damage Type: Fire
- Result: Fire
Fire · Surface
- Lifetime
- Fixed Duration,
3turns - Area Arrives: Water
- Result: Steam
Steam · Volume
- Lifetime
- Fixed Duration,
2turns - End-of-Life Result
- Water
Surfaces and volumes
An area is a lasting region of the world, placed by a spell, a trap or a hazard, that acts on whoever stands in it. A surface lies on the ground, such as oil, water, ice or caltrops. A volume fills the space above it, such as fog, a wall of fire or an aura that moves with a character.
- Lifetimes until something removes it, for a set number of turns, as long as the effect that placed it lasts, or for good, as with lava
- Something left behind when it ends, such as water where steam was, or ash after a fire
- Fog that hides whoever is inside, smoke that blocks a line of sight, ground that costs more to cross, and walls nobody walks through
- One area to a cell, or several sharing one, such as a web under grease, with each area deciding what happens when another arrives
Fog · Volume
- Lifetime
- Fixed Duration,
10turns - Blocks Sight Through
- On
- Obscures Inside
- On
Caltrops · Surface
- Lifetime
- Until Removed
- Cost Multiplier
2
Area effects
Actions, reactions and timed triggers place areas with a Create Area effect, in the footprint of their own area targeting. Remove Area, Move Area and Transform Area clear them, move them or change what they are.
- Fixed where it lands, or moving with whoever placed it or with another creature, such as an aura
- Areas aimed at empty ground too, so grease still lands in an empty doorway and fire still lights oil nobody stands in
- Traps and thrown flasks that place an area from an item
- Removal by area or by tag, inside the effect's own area, wherever its user placed them, or everywhere
Action
Smoke Screen
Targeting
- Area
- Circle
- Radius
10- Max Range
30
Effects
- Create Area
- Smoke, Anchor Fixed Point
- Lifetime Override
LEVEL
Interactions
Each area has an interaction table. A row names a stimulus, such as a damage type, another area arriving, sharing the cell or lying beside it, or a tag a spell applies, and what the area becomes, or that it is gone. Water and fire make steam both ways, fire damage on water or water poured on fire, and rows may loop: water freezes to ice, and ice thaws back to water.
- The whole set drawn under the table as a graph, your element wheel, so you see where a loop closes and which area leads nowhere
- A burst at the moment of change, such as a poison cloud that explodes when fire reaches it and hurts everyone inside
- A row for one area beats a row for its tag, so a general rule can have exceptions
Water · Surface
- Damage Type: Fire
- Result: Steam
- Damage Type: Cold
- Result: Ice
- Damage Type: Lightning
- Result: Electrified Water
Fire · Surface
- Area Arrives: Water
- Result: Steam
- Transform Tag: Bless
- Result: Blessed Fire
- Transform Tag: Quench
- No result: it goes out
Spread
Spread is written on the fuel, never on the fire: an oil slick's interaction rows say what happens when fire reaches it. Each row also says how far the change goes at once, through every connected cell of the slick or one ring of cells at a time.
- Fire that runs through a whole slick, even one that two characters poured
- A fire that goes out behind its front, each ring of it burning on its own clock
- Fire that crosses only the areas that say they catch, never bare ground
- A fire lit on someone else's oil is yours, and so is the damage it deals
Surface
Oil
Lifetime and End
- Lifetime
- Until Removed
Cadence and Decay
- Cadence
- Interval,
1
Interactions
- Damage Type: Fire
- Result: Fire, Connected: the whole slick at once
- Adjacent: Fire
- Result: Fire, Cell: one ring at a time
Cadence, decay and drift
Each area runs on a clock of its own, its cadence: at the start of its owner's turn, or every few turns. On that clock it can lose strength, and a cloud can drift with the wind or on a bearing you set, such as away from whoever placed it, and break up once the wind is strong enough.
- Values of its own, set when it is placed, such as a fog's strength rolled with dice or taken from whoever placed it
- Decay that drains one of those values each cadence, so a cloud thins out and its formulas see how strong it still is
- A rolled decay, for a fire with a chance each turn to burn out
- Wind your engine reports, so a cloud goes where the weather takes it
Volume
Poison Fog
Instance Currencies
- Intensity
- Default seed formula
1d4 + 2
Cadence and Decay
- Cadence
- Interval,
1 - Decay Currency
- Intensity
- Decay Rate
1
Drift / Dispersal
- Drift
- Wind
- Wind speed at least
20, Ends after (turns)1
Occupancy and area events
Each area acts on the creatures inside it through passives that hold while they stay and reactions to what happens there. The area hosts both, so a cloud's poison and how strong it still is live on the cloud, not on every creature that might walk in.
- Passives such as slower movement in oil, which end the moment a creature steps out
- Reactions when a creature enters, leaves, crosses a cell, starts or ends its turn inside, when the area ticks, or when it turns into another
- Occupants you choose among the owner, allies, enemies and neutrals, minus creatures with a tag such as Flying
- Statuses that stay with the creature, such as Burning that lasts its full time after the fire goes out
Poison Fog · Volume
- Reactions
- Choking
Choking · Reaction
- Listen Events
- The area's tick, an event the engine sends
- Targeting
- Event Subject: the creature inside
Effects
- Modify Currency
- HP:
TARGET_HP - INTENSITY, damage type Poison
INTENSITY is the fog's own, and TARGET_HP is the HP of the creature inside.Area queries
Formulas and conditions can ask about areas the way they ask about tags: in an action's availability, a passive's condition, an effect's value or a quest objective. Each question names an area or an area tag, and renaming an area updates every formula that asks about it.
- Whether a creature stands in an area, or in it or next to it
- The same questions about a target, such as a bonus only for allies standing in a cloud
- How many areas of a kind are left anywhere in the world, so a quest step can wait until every fire is out
Light an Arrow · Action
- Available
NEAR_AREA(FIRE) == 1- Modify Item
- Flaming, on the arrow
Smoke Cover · Passive
- Condition
IN_AREA(SMOKE) == 1- Overlay Taxonomy Tag
- Hidden
Put Out the Fires · Objective
- Completion Condition
AREA_COUNT(FIRE) == 0
FIRE and SMOKE are area tags. NEAR_AREA is 1 when the character stands in or right beside an area with the tag, so an archer standing beside a fire can light an arrow in it. IN_AREA is 1 only inside: in smoke, the character is Hidden. AREA_COUNT counts those areas anywhere in the world, so the objective completes once no fire is left, however it went out.Not in areas yet
The checks read your areas as you wrote them, and your engine plays them out: the cells, the wind and who stands where are its part. The quest preview doesn't model space, so area queries read 0 there. Playing out a fight, or a scenario from start to finish, before any engine exists is planned work, and so is export to your engine.
Combat, economy and probability analysis
PlannedEstimates of encounter difficulty, of the currency players can have at each stage of the game, and of the odds of passing the checks the main story depends on.
Scenario playthrough simulation
PlannedYour whole game played through without graphics, automatically or step by step by you, to find what no run reaches and where a run gets stuck. Today, previews step through one conversation, quest or story at a time.
Engine export adapters
PlannedBuilt-in exporters for Unity, Unreal Engine, Godot and RPG Maker, plus generic JSON, XML and custom formats. Today, you load the project's files into your engine with code of your own.
Build your own element wheel
Windows desktop app