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
.
Example
<level id="0" type="PHASES">
<!-- phase config goes here -->
</level>
Phase
phase defines 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.
Attributes:
name:Name for our phase, for eg. "warmup" or "barrage".
- 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).
- 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>