Ces règles ne sont actuellement disponibles qu'en anglais.

Arena Game Type

Reference for the arena game type — designer configuration and player rules.

For platform-level configuration shared across all game types, see Shared Game Configuration.

Arena is a team combat game. Designers author classes, fighters, actions, and statuses; players draft a team of three fighters and issue per-fighter orders across three combat phases each turn, fighting AI-controlled opponent teams.

> v1 engine scope: the studio lets designers author more than the current combat engine consumes. Where a feature is authorable but not yet used in combat resolution, it is flagged (not yet wired) below. This keeps the reference honest about what actually affects play today.


Game Parameter

ParameterDefaultDescription
Max turns10Maximum turns before the match ends on remaining-health percentage; 0 means no limit. Active — overridable per run
Actions per turn3Action slots each fighter has per turn (one per phase). Fixed at 3 by the three-phase structure
Base pool16Intended stat-point budget for level 1 fighters. Advisory — describes the stat economy but is not enforced by the engine
Points per level4Intended additional stat points per fighter level. Advisory — not enforced by the engine

Designer Configuration

How the Game Fits Together

Game
  ├── Class (base stats: health / speed / power / defense, each > 0)
  │     └── Class Resource ──> Resource (min / max / start / regen per turn)
  ├── Tag (category label)
  ├── Chain Rule (required tags, min chain length, bonus effects)   [not yet wired]
  ├── Status (duration type, max stacks, is debuff, is removable)
  │     └── Status Effect (trigger × effect × target, value formula) ──> applies a Status
  ├── Action (target rule, priority, phase restrictions, costs, conditions)
  │     ├── Action Effect (effect × target, value formula, scaling stat) ──> applies a Status
  │     ├── Action Tag ──> Tag
  │     └── Fallback Action ──> Action
  ├── Fighter (a Class + stat modifiers summing to 0, a passive Status)
  │     ├── Fighter Action ──> Action (may be a signature)
  │     └── Fighter Variant (gender, stat deltas, passive override)
  ├── Opponent Team (difficulty rating)
  │     └── Opponent Team Slot ──> Fighter
  └── Phase Config (exactly 3; slot 1, 2, or 3)

Class

The stat archetype fighters are built on.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
Health baseyesBase health; must be greater than 0
Speed baseyesBase speed; must be greater than 0
Power baseyesBase power (offensive scaling); must be greater than 0
Defense baseyesBase defense (damage reduction); must be greater than 0

Requirement: at least one class must exist before a run can be created.


Resource

A designer-defined pool a class can hold (e.g. energy), spent by action costs.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
Min valuenoLower bound of the pool
Max valuenoUpper bound of the pool
Start valuenoValue at the start of a match
Regen per turnnoAmount restored each turn

Class Resource grants a resource to a class (a class-to-resource link). Resources and action costs are authorable but not yet wired into combat resolution in v1.


Status

A buff or debuff a fighter can carry.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
Duration typenoHow the status expires — see values below
Max stacksnoHow many times it can stack; 0 means uncapped
Is debuffnoWhether it is harmful (affects presentation and cleanse logic)
Is removablenoWhether it can be cleansed

Duration type values: turns, until_cleansed, until_triggered, permanent.

Status Effect — ordered effect rows attached to a status, each fired on a trigger window:

FieldRequiredDescription
Trigger typeyesWhen the effect fires (see trigger types below)
Effect typeyesWhat it does (see effect types below)
TargetyesWho it affects (see effect targets below)
Value formulanoMagnitude — see Value Formula below
Apply statusnoThe status applied when the effect type is apply_status
ConditionnoOptional JSON condition

Action

A move a fighter can perform in a phase.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
ClassnoRestricts the action to a class; blank means any
Target ruleyesDefault targeting (see target rules below); defaults to enemy
PrioritynoResolution order within the same speed tier — lower resolves earlier
Phase restrictionsnoWhich phases the action may be used in
CostsnoResource costs (authorable; not yet wired)
ConditionsnoOptional JSON conditions (authorable; not yet wired)
Fallback actionnoAn action used when this one cannot resolve

Action Effect — ordered effect rows attached to an action:

FieldRequiredDescription
Effect typeyesWhat it does (see effect types below)
TargetyesWho it affects (see effect targets below)
Value formulanoMagnitude — see Value Formula below
Scaling statnoStat the effect scales with (see scaling stats below)
DurationnoFor status-applying effects, how long the status lasts
Apply statusnoThe status applied when the effect type is apply_status
Sort ordernoOrder effects resolve within the action

Action Tag attaches a tag to an action (used by chain rules).


Tag

A label applied to actions, used to group them for chain rules.

FieldRequiredDescription
NameyesDisplay name
CategorynoFree-text grouping (conventionally damage_type, theme, combo_label, or class_tag)

Tag categories are conventions only — they are not a validated enum.


Chain Rule

A combo rule that rewards chaining actions sharing required tags. Authorable but not yet wired into combat resolution in v1.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
Required tagsnoTags an action sequence must share to trigger the chain
Min chain lengthnoMinimum actions in the chain; floored to 2
Bonus effectsnoEffects granted when the chain triggers

Fighter

A concrete, playable character built on a class.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
ClassyesThe class this fighter is built on
Health modifieryesAdjustment to class Health base
Speed modifieryesAdjustment to class Speed base
Power modifieryesAdjustment to class Power base
Defense modifieryesAdjustment to class Defense base
Passive statusnoAn always-on status the fighter carries

Balance rule: the four stat modifiers must sum to exactly 0 — a fighter redistributes its class budget rather than adding to it.

Fighter Action grants an action to a fighter (optionally marked as a signature action). Fighter Variant is an alternate version of a fighter:

FieldRequiredDescription
NameyesVariant display name
Genderyesmale or female
Health / Speed / Power / Defense modifier deltanoStat deltas stacked on top of the fighter (no sum-zero constraint)
Passive statusnoOverrides the fighter's passive when set

Each fighter variant can carry a portrait image (see Turn Sheet Background Images for the platform image rules).

Requirement: at least three fighters must exist before a run can be created; each fighter should have at least one action.


Opponent Team

A pre-built enemy team players fight.

FieldRequiredDescription
NameyesDisplay name
DescriptionnoNarrative description
Difficulty ratingnoRelative difficulty indicator

Opponent Team Slot places a fighter into a team roster position. A team should have at least three slots.

Requirement: at least one opponent team must exist before a run can be created.


Phase Config

Names the three combat phases (for example Opening, Clash, Finale).

FieldRequiredDescription
Slot numberyesMust be 1, 2, or 3
NameyesDisplay name for the phase

Requirement: a game must have exactly three phase configs before a run can be created.


Value Formula

Effect magnitudes (on both action effects and status effects) use a small formula grammar:

FormMeaning
(empty)No value
NA plain integer, e.g. 12
power / defense / health / speedThe named stat's value
stat N or stat N.NThe named stat scaled, e.g. power * 1.5

Any other expression is rejected at save time.


Enum Reference

The values below are the closed sets used by the fields above. In the studio each shows a localized label and hint. Values marked (v1) are those the current combat engine actually applies; the others are authorable but inert until later engine work.

Effect types — what an effect does:

damage (v1), heal (v1), apply_status (v1), block_damage (v1), repeat_action (v1), remove_status, modify_resource, modify_priority, redirect_target, cancel_action, trigger_assist, modify_cooldown, cleanse, transform_status, consume_status, generate_barrier.

Effect targets — who an effect affects: self, target, ally, all_allies, all_enemies, all.

Trigger types — when a status effect fires:

on_turn_start (v1), before_damage (v1), after_damage (v1), on_turn_end, on_phase_start, on_phase_end, before_action, after_action, on_hit, on_miss, on_blocked, on_status_applied, on_status_removed, on_ally_action, on_enemy_action, on_chain_started, on_chain_continued, on_chain_broken, on_fighter_defeated, on_resource_gained.

Action target rules — default targeting for an action: enemy, ally, self, lowest_health_enemy, lowest_health_ally, marked, random_enemy, random_ally, all_enemies, all_allies.

Scaling stats — the stat an effect scales with: power, defense, health, speed, none.


Turn Sheets

SheetPresentation orderPurpose
Join gameSent when a player joins; used to draft the team
Turn recap1stRead-only narrative and tactical summary of the previous turn
Orders2ndIssue each fighter's action for every phase

Turn Sheet Background Images

When uploading a background image for an arena game, select the sheet type it applies to.

SheetDescription
arena_game_join_gameJoin game / draft sheet — required; sent when a player first joins
arena_game_ordersPer-turn orders sheet
arena_game_turn_recapRead-only turn summary sheet

Player Rules

Drafting a Team

On the join game sheet you draft exactly three fighters to form your team. For each slot you choose a fighter and, optionally, a variant, and may set a display name. Your drafted fighters become the fighter instances that fight for you all match.

Issuing Orders

Each turn you fill in the orders sheet. For every one of your fighters you assign one action per phase across the three phases (rounds). For each order you pick the action and, optionally, a target — leaving the target blank lets the action pick automatically according to its target rule. Manual targeting is honoured only when it matches the action's rule (opposing fighters for enemy/marked, a same-team ally for ally); otherwise the engine resolves the target for you.

How a Turn Resolves

  1. Turn starton_turn_start status effects fire for every active fighter.
  2. Phases 1 → 2 → 3, in order. Within each phase:
  • Every fighter with an order for that phase acts.
  • Fighters act in Speed order, highest first. Ties are broken by the action's Priority, lowest first.
  • Fighters with equal speed act as a simultaneous batch — they all read the battlefield as it was at the start of the batch, so a fighter defeated earlier in the batch still gets to act.
  • The engine checks for a winner after each phase.
  1. Turn end — active statuses tick down; those reaching zero duration expire. Permanent statuses never tick down.

Effects in Combat

The engine applies these effect types in v1:

  • Damage — the formula value, reduced by any block_damage in effect, floored at 0. Damage triggers fire on both attacker and defender afterwards.
  • Heal — restores health, capped at the fighter's maximum.
  • Apply status — attaches a status for its duration, respecting its max-stacks cap (0 = uncapped).
  • Block damage — reduces incoming damage this turn.
  • Repeat action — re-runs the action; repeats are capped at a depth of 10 to prevent runaway loops.

A fighter's stats are its class base plus its fighter modifier plus any variant delta. Its passive is the variant's passive if the variant sets one, otherwise the fighter's.

Winning and Losing

  • If all of the opponent's fighters are defeated, you win.
  • If all of your fighters are defeated, you lose.
  • If both teams are wiped out together, the match is a draw.
  • If the match reaches Max turns without a wipeout, the team with the higher aggregate remaining-health percentage wins; an exact tie is a draw.

A fighter is defeated when its current health reaches 0.


Game Validation

Before a run can be created, an arena game must pass a readiness check. The game designers shows any issues.

Errors (must be resolved):

  • At least one class exists
  • At least three fighters exist
  • Exactly three phase configs exist
  • At least one opponent team exists

Warnings (advisory):

  • Each fighter has at least one action
  • Each opponent team has at least three slots