Arena Design

You can easily design your own arenas without any programming by editing the files level1a.txt , ... , level6a.txt. (Of course you had better back them up first.) If you have downloaded the source code you can run it in DEBUG mode, and will get error messages if you make a mistake in your arena file.

The first two parameters are an integer that defines the color scheme used in the arena, and a float that defines the size of the arena. If you enter x as the float, your arena will sit on a square floor that stretches from
(- x * 100, - x * 100) to (+ x * 100, + x * 100) .


The data lines that follow are all explained at the bottom of the levelXa.txt files. The first set of lines must be crystal-lines. Most of the crystals in your arenas should be part of such lines as this speeds up the process of collision detection. You enter the following parameters:
sX, sZ, eX, eZ, slack, minH, maxH, minR, maxR, indestr,

which have the following meaning:
(sX , sZ) Starting point of the line of crystals
(eX , eZ) End point of the line of crystals
slack The larger this parameter, the further apart the crystals are spaced.
minH Minimum height of crystals
maxH Maximum height of crystals
minR Minimum radius of crystals
maxR Maximum radius of crystals
indestr Set this to 1 to make the crystals indestructible, to 0 otherwise.


After all crystal lines have been entered, you can enter a set of lines for single crystals. For these entries the following must hold:
sX = eX; sZ = eZ; slack greater than 0.5; minH = maxH; minR = maxR; indestr smaller than 2

If you change level3a.txt, you must place a large single crystal somewhere - the program will put Selene inside.

After you have placed all your single crystals, you must enter one line to indicate to the program that you are finished with entering crystals. This line (which does not cause a crystal to be displayed) must satisfy the conditions:
sX = eX; sZ = eZ; slack smaller than 0.5; minH = maxH; minR = maxR; indestr greater than 2.

The value of "indestr" that you enter in this line is used as "defaultTimeForThisArena" in the program for scoring: If you beat the arena using less time than this parameter, you get a higher score.

The lines after this place monsters and powerups in the arena. For this the arena is subdivided into 25 squares of equal size. You can tell the program how many monsters and powerups of which type to place in each of these 25 sectors, and they will then be placed randomly somewhere in the sector. The sectors are numbered from 0 through 24, with 0 referring to the sector in the SW corner (bottom-left), 4 referring to the sector in the SE corner (bottom-right), 5 referring to the sector North of sector 0, and so on until 24 is the sector in the NE corner (top-right).

For every map sector you enter 2 lines as follows: The first line contains the parameters
sectorNumber, normal, health-boss, energy-boss, fertility-boss, species, playerHere.
which have the following meanings:
sectorNumber Must run from 0 to 24 in this sequence.
normal Number of normal monsters in this sector
health-boss Number of health-bosses in this sector
energy-boss Number of energy-bosses in this sector
fertility-boss Number of fertility bosses in this sector
species A value from 1 to 3, determines the species of monsters in this sector.
playerHere Set to 1 in the sector where the player starts the arena, 0 otherwise.


The next line contains the parameters
numberPowerups, credits, crystals, invisTime, health, energy,

which are self explanatory. Of the last five parameters in this line four must always be 0, while one is greater than zero. This determines what kind of powerup will be placed - e.g. entering 50 for the "health"-parameter means that the powerup will give you 50 health upon picking it up.

Tip: The normal way to go is to place powerups only in sectors where you also place monsters, so that all powerups are picked up and reside inside monsters when the player encounters them. When you place monsters and powerups in a sector which is divided by a crystal line into two rooms, a bad thing can happen: All the monsters can be placed in one room, while a powerup is inaccessible for them behind a crystal line. In this situation the monsters will assemble at the wall and try to break through, which appears somewhat weird, especially if one cannot see the powerup on the other side.


home