Skip to main content

Config attributes

Tags

Level info

Level info represents a single level in the game.

Attributes:

id: unique id for the level.
type: This shows the level progression.We get to know it from the Type enum in LevelInfo, with options PHASES and AI_ENDLESS.

PhaseExample

<level id="0" type="PHASES">
  <!-- phase config goes here -->
</level>

Phase

phase:phase Definesdefines a phase in the level where certain conditions are there asteroids aspawning is set like from where enemy should come , at what speed , quantity etc.

Example

<level id="0" type="PHASES">
  <!-- phase config goes here -->
</level>

Phase

Attributes:

name:Name for our phase, for eg. "warmup" or "barrage".

  1. spawn: Specifies the spawning of our asteroid..

Attributes:

lengthRange: size range for asteroid, e.g., "2-3"
delay: Delay before the spawn .
quantity: Number of asteroids to spawn. (optional) if not defined, infinite astroids spawns ttr: Time to reach, representing how long the spawn should stay active.
startAt: value (0 to 1) determining when the spawn should start.
stopAt: value (0 to 1) determining when the spawn should stop.
boss: Specifies if the spawn is a boss enemy (true for boss, false if no boss).

  1. endCondition: Determines when a phase ends based on specific conditions.

Attributes:

type:The condition type for ending the phase. it includes:
BOSS_KILLED: Ends when the boss is defeated.
ALL_KILLED: Ends when all enemies are defeated.
TIME: Ends after a set time.

delay: time delay before the phase ends after the end condition is met.

Type Enum (Enum in LevelInfo):

Defines types of levels:
AI_ENDLESS: A mode where gameplay continues indefinitely.
PHASES: A mode divided into phases, each with specific spawn events and end conditions.

Example configurations:

<phase name="barrage">
    <spawn lengthRange="2-3" delay="1" quantity="5" ttr="5" stopAt="0.5"/>
    <spawn lengthRange="4-6" delay="2" quantity="2" />
    <endCondition type="ALL_KILLED">
</phase>

<phase name="survive">
    <spawn lengthRange="2-9" delay="2" />
    <endCondition type="TIME" delay="20">
</phase>

<phase name="boss">
    <spawn lengthRange="10-15" delay="0" boss="true" quantity="1"/>
    <spawn lengthRange="2-3" delay="3" />
    <endCondition type="BOSS_KILLED">
</phase>