Skip to main content
← Back to TDGS

Document 16

Area of Effect

Fire doesn't pick favorites

Purpose

This document defines how Area of Effect (AoE) works in TDGS. It establishes:

  • How to measure distance for AoE shapes
  • Standard AoE shapes (circle, cone, line, rectangle)
  • AoE notation
  • How height interacts with AoE
  • What AoE affects
  • Where AoE originates

This document does NOT define which abilities have AoE. That's content's job. This document defines the framework content uses to describe AoE effects.

The Core Principle

AoE affects an area, not specific Entities.

Fire doesn't choose who to burn. A shockwave doesn't skip the friendly knight standing next to the enemy. When an effect covers an area, everything in that area is affected.

This is intentional. It creates tactical positioning pressure. Don't cluster your troops if the enemy has a fireball. Don't stand next to the dragon when your wizard winds up. Friendly fire isn't a bug - it's a feature that rewards careful placement.

"Area. Of. Effect. Three words. The spell hits an AREA. It creates an EFFECT. It does not consult a guest list. It does not check allegiances. It does not ask permission. You're in the square or you're not. Binary. Beautiful. Brutal."

Flippity Cent
Flippity CentD2
Content Exception: Specific abilities can override this. A "smart" fireball that only hits enemies is possible - but it's a trait of that specific ability, not a property of AoE in general. The core assumption is: area affects all.

AoE Notation

TDGS uses standardized notation for AoE effects, similar to dice notation (3d6).

Format

[Shape][Primary][Direction][wWidth][hHeight]
  • Direction is required for Cones and Lines (N, NE, E, SE, S, SW, W, NW)
  • Direction is not used for Circles or Rectangles

Shape Codes

CodeShape
CirCircle
ConCone
LinLine
RecRectangle

Examples

NotationMeaning
Cir3Circle, radius 3
Con4NCone, length 4, pointing North (forward)
Con4NECone, length 4, pointing Northeast
Lin5ELine, length 5, pointing East (right)
Lin5Sw2Line, length 5, width 2, pointing South (behind)
Rec3x4Rectangle, 3 wide × 4 long
Cir3h1Circle, radius 3, height 1 (ground-hugging)
Con6Nh10Cone, length 6, pointing North, height 10 (towering)

Reading Notation

  • First comes the shape (Cir, Con, Lin, Rec)
  • Then the primary dimension (radius for circles, length for cones/lines, W×L for rectangles)
  • For cones and lines: direction suffix (N, NE, E, SE, S, SW, W, NW)
  • Optional: w followed by width (lines only; defaults to 1 if not specified)
  • Optional: h followed by height (overrides default)

Direction Is Relative to Entity

Critical: Directions are relative to the entity, not the map.

  • North (N): Directly in front of the entity
  • South (S): Directly behind the entity
  • East (E): To the entity's right
  • West (W): To the entity's left
  • Diagonals (NE, SE, SW, NW): Between the cardinal directions

This means "Con4N" always means "cone pointing forward from the caster" regardless of which way the map is oriented or which direction the caster is facing on the map.

When an entity casts a cone or line, they choose which of their 8 relative directions to project it. The notation records that choice relative to the caster, not the map.

Measuring Distance

TDGS uses Chebyshev distance (also called King's distance or chessboard distance).

Formula

Distance = max(|dx|, |dy|)

Where dx is horizontal squares and dy is vertical squares.

In plain terms: Distance is how many moves a chess king would take to get from point A to point B. Diagonal movement counts the same as orthogonal movement.

From CenterDistance
Adjacent orthogonal1
Adjacent diagonal1
Two squares away (any direction)2
Three orthogonal + two diagonal3

Why Chebyshev?

We chose this metric for specific reasons:

For Humans:

  • Count squares like a chess king
  • No complicated math
  • No lookup tables required
  • Easy to eyeball on a grid

For Computers:

  • Single formula: max(|dx|, |dy|)
  • O(1) calculation
  • No floating point issues
  • Clean boundary detection

Tradeoff acknowledged: Chebyshev distance produces square-ish shapes, not true circles. A "radius 3 circle" is actually a 7×7 square. We accept this tradeoff for simplicity. The tactical outcomes remain meaningful - being "within 3 squares" has consistent meaning regardless of direction.

"Max of delta-x, delta-y. One formula. No ambiguity. I can calculate exactly who burns before the wizard finishes the incantation. Clean mathematics. Clean outcomes."

Decimancer
DecimancerD10

Boundaries Are Inclusive

General principle: All boundaries are inclusive.

"Within radius 3" means distance <= 3. If you're exactly at the edge, you're in the area. If any part of an Entity's space is within the boundary, that Entity is affected.

No arguments about "is distance 3 inside or outside radius 3?" It's inside. Always.

Standard Shapes

TDGS defines four standard AoE shapes. Content uses these to describe effects.

ShapeParametersTotal Squares
CircleRadius(2R+1)^2
Cone (Cardinal)LengthL^2
Cone (Diagonal)LengthL(L+1)/2
LineLength, WidthL × W
RectangleWidth, LengthW × L

Circle

A circle affects all squares within the specified radius of the center point.

Notation: Cir[radius]

Parameters:

  • Radius: Distance from center (using Chebyshev distance)
  • Center: The origin point of the effect

Origin affected? Yes. The center square is part of the circle.

Total squares: (2R+1)^2

RadiusDimensionsTotal Squares
13×39
25×525
37×749
49×981
511×11121

Radius 2 Circle (Cir2)

X X X X X X X X X X X X O X X X X X X X X X X X X

O = center (origin). All X squares affected. Total: 25 squares.

Radius 3 Circle (Cir3)

X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X

Total: 49 squares.

Cone

A cone originates from a point and expands outward in a direction. Think dragon breath: starts at the mouth, spreads wider as it goes.

Notation: Con[length][direction]

Parameters:

  • Origin: The starting square (typically the caster)
  • Direction: One of 8 relative directions (N, NE, E, SE, S, SW, W, NW)
  • Length: How far the cone extends

Origin affected? No. The origin is the source point. The effect starts in the squares beyond the origin.

Cardinal Cones (N, E, S, W)

Cardinal cones expand evenly on both sides of the center axis.

Width at distance N: 2N - 1 (odd numbers: 1, 3, 5, 7, 9...)

Total squares: L^2 (Length squared)

DistanceWidthRunning Total
111
234
359
4716
5925
61136

Memory trick: Total squares = Length^2. A length-4 cone hits 16 squares. A length-5 cone hits 25 squares.

"ONE. THREE. FIVE. SEVEN. THE PATTERN HAS BEEN DECLARED. IT DOES NOT NEGOTIATE."

Hundröd the Uncountable
Hundröd the UncountableD100

Length 3 Cone pointing NORTH (Con3N)

X X X X X ← distance 3 (5 wide) X X X ← distance 2 (3 wide) X ← distance 1 (1 wide) O ← origin (caster here, NOT affected)

Total: 9 squares (3^2 = 9)

Length 3 Cone pointing EAST (Con3E)

X X X O X X X ← O is origin (NOT affected) X X X

Read left to right: distance 1 is 1 wide, distance 2 is 3 wide, distance 3 is 5 wide. Total: 9 squares.

Length 4 Cone pointing NORTH (Con4N)

X X X X X X X ← distance 4 (7 wide) X X X X X ← distance 3 (5 wide) X X X ← distance 2 (3 wide) X ← distance 1 (1 wide) O ← origin (NOT affected)

Total: 16 squares (4^2 = 16)

Diagonal Cones (NE, SE, SW, NW)

Diagonal cones point toward corners and use a simpler expansion pattern.

Width at distance N: N

Total squares: L(L+1)/2

DistanceWidthRunning Total
111
223
336
4410
5515
6621

Length 3 Diagonal Cone pointing NE (Con3NE)

X X X ← distance 3 (width 3) X X ← distance 2 (width 2) X ← distance 1 (width 1) O ← origin (NOT affected)

Total: 1+2+3 = 6 squares

Length 4 Diagonal Cone pointing NE (Con4NE)

X X X X ← distance 4 (width 4) X X X ← distance 3 (width 3) X X ← distance 2 (width 2) X ← distance 1 (width 1) O ← origin (NOT affected)

Total: 1+2+3+4 = 10 squares

Cardinal vs Diagonal: The Tradeoff

Cone TypeWidth FormulaTotal SquaresDirections
Cardinal2N - 1L^24 (N, E, S, W)
DiagonalNL(L+1)/24 (NE, SE, SW, NW)

Diagonal cones cover less area (~60% of cardinal) but provide 8 total directions instead of 4.

This is intentional. Diagonal cones trade raw power for positioning flexibility. A dragon breathing diagonally hits fewer squares but can target corners that cardinal directions can't reach.

"Do you want to hit MORE squares or hit the RIGHT squares? The cardinal cone is a sledgehammer. The diagonal cone is a scalpel. Both break things. Choose your tool."

Nyxara Tidelight
Nyxara TidelightD12

Quick Reference: Cone Sizes

LengthCardinal TotalDiagonal Total
243
396
41610
52515
63621

Line

A line is a straight path from the origin in a specified direction.

Notation: Lin[length][direction] or Lin[length][direction]w[width]

Parameters:

  • Origin: The starting square
  • Direction: One of 8 relative directions
  • Length: How many squares long
  • Width: Number of parallel lines (default 1)

Origin affected? No. The origin is the source point. The line starts in the square beyond the origin.

Total squares: Length × Width

Wide lines: For lines with width greater than 1, the origin expands to match the line's width, centered on the caster's position.

Length 5 Line pointing EAST (Lin5E)

O X X X X X

O = origin (NOT affected). X = affected squares. Total: 5 squares.

Length 4 Line pointing NORTH, Width 2 (Lin4Nw2)

X X ← distance 4 X X ← distance 3 X X ← distance 2 X X ← distance 1 O O ← origin (NOT affected)

Total: 8 squares (4 × 2)

Length 5 Line pointing NE (Lin5NE)

X ← distance 5 X ← distance 4 X ← distance 3 X ← distance 2 X ← distance 1 O ← origin (NOT affected)

Total: 5 squares (same as cardinal)

Rule: Line length = squares affected, regardless of direction.

Rectangle

A rectangle is an axis-aligned grid of squares.

Notation: Rec[width]x[length]

Parameters:

  • Width: Horizontal extent in squares (east-west on the grid)
  • Length: Vertical extent in squares (north-south on the grid)
  • Origin: A corner of the rectangle, placed within range

Origin affected? Yes. The origin corner is part of the rectangle.

Total squares: Width × Length

Placement: Unlike cones and lines (which project from the caster), rectangles are placed at range like circles. The caster chooses a point within range as one corner of the rectangle. The rectangle then extends from that corner in the positive width and length directions.

Rec3x4 placed at range

X X X ← far edge X X X X X X O X X ← origin corner (placed by caster)

O = origin corner chosen by caster. Total: 12 squares.

Content can specify orientation or alternate placement rules if needed (e.g., "centered on point" or "caster chooses orientation").

Height

TDGS shapes are defined in 2D with an implicit height component.

Rule: An AoE shape's height equals its primary dimension.

ShapePrimary DimensionDefault Height
CircleRadiusRadius
ConeLengthLength
LineLengthLength
RectangleLarger dimensionLarger dimension

Example: Cir3 (radius 3 circle) is a cylinder 3 squares tall, centered vertically on the origin point's elevation.

Example: Con4 (length 4 cone) is a 3D cone shape, 4 squares tall.

Why This Approach?

For Tabletop: Ignore height entirely. Play on a 2D grid. The default height is generous enough that "if they're in the circle, they're hit" works fine.

For Digital: Height is defined. Code can check if targets are within both the 2D shape AND the height bounds.

For Content: Override when needed. A "ground-only" fog might specify Cir3h1 (height 1). A pillar of flame might specify Cir2h10.

"Height is the dimension people forget until the dragon flies up and laughs at your fireball. The cylinder reaches. The cone rises. Plan accordingly."

Tetrahex the Obscure
Tetrahex the ObscureD4

Where AoE Starts

Every AoE has an origin point - where the effect begins or centers.

Default Rule: The caster chooses the origin point within the effect's range.

Origin by Shape

ShapeOrigin RoleOrigin Affected?
CircleCenter of the areaYes
ConeSource point (caster)No
LineSource point (caster)No
RectangleCorner placed within rangeYes

Why the difference?

Circles and rectangles define areas placed at range. The caster chooses where the area goes, and the origin is part of that area.

Cones and lines define projections from a source. The source emits the effect but isn't inside it. The dragon's mouth isn't inside its own breath weapon.

Range to Origin

Content defines how far the caster can place the origin point.

Example ability text:

  • "Fireball: Range 20, Cir3" - caster can place the center anywhere within 20 squares
  • "Flame Breath: Con4, originates from caster" - cone starts at caster's square
  • "Lightning Bolt: Range 15, Lin6" - line starts anywhere within 15 squares

If content doesn't specify range, assume the effect originates from the caster.

Applying AoE Effects

Timing: AoE resolves immediately when triggered. Entities in the area cannot move or take actions in response before resolution occurs.

When an AoE effect occurs:

  1. Determine the origin point (per ability definition or caster choice)
  2. Map the shape (circle, cone, line, or rectangle with specified dimensions)
  3. Identify all Entities in the area (every Entity with any part of its space within the footprint)
  4. Determine cover (from origin to each Entity, per Document 14)
  5. Apply the effect to each Entity (damage, conditions, forced movement, etc.)

Each Entity in the area is affected once, regardless of how much of their space overlaps with the AoE.

Resolution Rolls

If the AoE effect requires a roll (attack vs defense), roll once per affected Entity. Each Entity resolves independently.

AoE resolution rolls are standard d20 rolls. Luck applies per Document 4.

Cover

Cover is determined from the AoE's origin point to each Entity. Apply Document 14's cover rules:

Cover TypeBonusEffect on AoE
Partial+2 REFHarder to hit
Half+4 REFMuch harder to hit
FullUntargetableNot affected

Example: A fireball (Cir3) explodes. One goblin is in the open, one is behind a low wall (partial cover), one is completely behind a pillar (full cover). The open goblin has no bonus. The wall goblin gets +2 REF. The pillar goblin isn't affected at all.

"Hide behind the pillar. The fireball doesn't care about your feelings, but it does care about solid stone. Full cover means fully not dead. Partial cover means partially not dead. No cover means... well. I have bandages. Somewhere."

Nyxara Tidelight
Nyxara TidelightD12

Multi-Square Entities

For Entities occupying multiple squares (large creatures, units):

Rule: If ANY square of the Entity's space is within the AoE footprint, the Entity is affected.

The Entity is affected once, not once per overlapping square.

Stacking AoE

If multiple AoE effects overlap:

Rule: Each effect applies independently. An Entity in the overlap is affected by all applicable effects.

Standing in the intersection of a fireball and a lightning bolt? Take damage from both.

Content Guidance

When content creates an ability with AoE, specify:

PropertyRequired?Example
ShapeYesCir3, Con4N, Lin5Ew2, Rec4x3
RangeYes20 squares, Self, Touch
HeightIf non-defaulth1, h10
EffectYes3d6 fire damage, Difficult terrain
ResolutionYesINT vs REF, WIS vs CON
Smart TargetingIf applicable"Allies excluded"

Example Ability Definitions

Fireball Range: 20 squares Shape: Cir3 Effect: Fire damage Resolution: Caster INT vs Target REF Damage: 5d6 (half on successful defense)
Dragon Breath Range: Self (cone originates from dragon) Shape: Con5N (direction chosen at use) Effect: Fire damage Resolution: Dragon CON vs Target REF Damage: 8d6
Lightning Bolt Range: Self Shape: Lin8E (direction chosen at use) Effect: Lightning damage Resolution: Caster INT vs Target REF Damage: 6d6

Smart Targeting

Core AoE affects all Entities in the area. If content wants an ability that only affects enemies, that's a trait of that ability.

TraitEffect
Allies ExcludedDoes not affect entities on caster's side
Enemies OnlyOnly affects hostile entities
SelectiveCaster chooses which entities in area are affected

These are content additions, not core mechanics. They should be rare - indiscriminate AoE creates better tactical play.

"Smart fire? SELECTIVE fire? Where's the fun in that?! The best part is watching your barbarian's face when he realizes he was standing too close. Fire doesn't play favorites and neither should you! Burn them ALL!"

Flamey Eight-ball
Flamey Eight-ballD8

Summary

Notation Quick Reference

NotationMeaning
Cir3Circle, radius 3
Con4NCone, length 4, forward
Con4NECone, length 4, forward-right
Lin5ELine, length 5, right
Lin5Sw2Line, length 5, width 2, behind
Rec3x4Rectangle, 3×4
+h[N]Height override

Directions: N (forward), S (behind), E (right), W (left), NE/SE/SW/NW (diagonals) - relative to entity, not map.

Shape Quick Reference

ShapeOrigin AffectedTotal Squares
CircleYes(2R+1)^2
Cone (Cardinal)NoL^2
Cone (Diagonal)NoL(L+1)/2
LineNoL × W
RectangleYesW × L

Cone Width Reference

DistanceCardinal WidthDiagonal Width
111
232
353
474
595

Full Summary Table

ConceptRule
Core PrincipleAoE affects area, not entities; all entities in area affected
Distance MetricChebyshev (king's moves): max(|dx|, |dy|)
BoundariesAlways inclusive (<= not <)
CircleAll squares within radius of center; origin IS affected
Cone (Cardinal)Width = 2N-1; Total = L^2; origin NOT affected
Cone (Diagonal)Width = N; Total = L(L+1)/2; origin NOT affected
LineOne square per length; origin NOT affected
RectangleW × L grid; origin IS affected; placed at range like circles
Default HeightEquals primary dimension (radius, length, etc.)
OriginCaster chooses within range (default)
CoverApplies from origin per Document 14
ResolutionPer Entity, standard d20 rolls, Luck applies
Multi-Square EntitiesAny overlap = affected (once)
StackingEach effect applies independently
Smart TargetingContent adds as ability trait; not default

Design Notes

Why Chebyshev distance?
Simple for humans (count like a chess king), simple for computers (one formula), no lookup tables. Square-ish shapes are an acceptable tradeoff.

Why 2D with height cap?
Serves both tabletop (ignore height) and digital (height defined). Default height catches most cases; content overrides for exceptions.

Why different cone formulas?
Cardinal cones expand perpendicular to axis (easy on grid). Diagonal cones use simpler expansion to avoid awkward geometry. The tradeoff (less area, more directions) is documented and intentional.

Why area-only targeting?
Creates tactical meaning. Positioning matters when AoE doesn't discriminate. Smart targeting is a power upgrade, not the baseline.

Document Status

Status: Canonical

This document defines AoE mechanics for TDGS. Content references this document when creating AoE abilities.

Related documents: