Level Info
<level>
Level info represents a single level in the game.
Example configurations:
<level id="0" type="PHASES">
<phase type="ALL_KILLED">
<moon lengthRange="2-3" startAt="0.2" delay="0" quantity="2"/>
<asteroid lengthRange="2-3" startAt="0.5" delay="3" quantity="3" ttr="5"/>
</phase>
<phase type="ALL_KILLED">
<moon lengthRange="2-3" startAt="0.2" delay="0" quantity="3"/>
<moon lengthRange="2-3" startAt="0.5" delay="3" quantity="3"/>
</phase>
</level>
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
.
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
<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:
-
type
: defines how the phase should end
possible values:
BOSS_KILLED
: Ends when the boss is defeated.
ALL_KILLED
: Ends when all enemies are defeated.
TIME
: Ends after a set time.
-
duration
: forTIME
type, defines how long the phase should run
<moon>
Specifies the spawning of moon..
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
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).
<asteroid>
same attributes as moon with addition of following:
ttr
: Time to reach, representing how long the spawn should stay active.