Giana Map - Readme (V1.2)
How to build a new level
How to modify an existing level
How to create a new object
How to modify an existing object
List of special objects
The objects' drawing order
Modifying the game graphics
Tips for the level design
How to build a new level
Start GianaMap.exe and insert the right values into the
level properties box.
- Level Name : This name appears in the level selection.
- Graphics Set : Name a .bmp file which contains the graphics of all level objects.
- Music : Name a *.wav file. It'll be played during the game.
- Size : Total level size in pixels. Objects, which are partially out of this area, won't be drawn by the game engine.
- Color : Defines the pal-index of the level background (0 = black, 4 = blue).
Begin with the editing and don't forget to save your level. (No auto save when quitting!)
Don't forget to have at least one spawning point, or the game engine will crash.
How to modify an existing level
Simply open a level file, drag and drop it onto GianaMap.exe or choose open from the GianaMap menu.
The level properties and graphics set can be modified by choosing the appropriate entry in the file menu.
Begin with the editing and don't forget to save your level. (No auto save when quitting!)
How to create a new object
At first you have to select the default object by clicking on one of the object symbols in the tool bar,
entering the values manually (choose user defined from the objects menu), or by copying an existing one
(select an existing object with the left mouse button and choose copy from the objects menu).
You can modify the first frame's graphic by clicking on the last icon in the tool bar.
All object's values can be modified by choosing user defined from the objects menu.
- Type : An ID of the object's prototype.
- Flags : Modifies objects behavior, like Info1 and Info2.
- Graphic : Determines the graphic-coordinates of the first frame.
You now can place objects with this values by double-clicking or pressing insert.
How to modify an existing object
You can move objects by holding down the left mouse button. To modify the object's properties,
select the object (left button) and choose properties from the objects menu.
Alternatively there is a context menu available. Just press the right button while the mouse cursor is
above an existing object.
List of special objects
solid
Simple solid object.
flag 1024 = if set the animation will be played forward<->backward
flag 2048 = kills players if touched
block
flag 2048 = can be bashed (if info1 = 30, a rock appeares)
flag 4096 = diamond store (info1 = amount of diamonds)
flag 10240 = extra store (info1 = id of extra)
flag 65536 = crumbles if touched from above or below (if info1 = 30, a rock appeares)
info2 = respawn time in seconds, can be 0 to use default
store
info1 = id of extra (10-23 or 111 for a diamond)
info2 = respawn time in seconds, can be 0 to use default
flag 512 = extra moves always to the left at first
flag 1024 = extra moves always to the right at first
bridge
Bridge crumbles after being used.
The default value for sx is for the left part, the right one has sx+24.
Use info2 to define the respawn time or use the defaults.
background
Object without collision.
flag 512 = has info1 animation frames with info2 ms/frame
flag 1024 = if set, the animation will be played forward/backward
flag 2048 = kills players if touched
flag 4096 = object will only be loaded if scenarios are enabled
diamond
info2 = respawn time in seconds, can be 0 to use default
fire
Inflicts damage.
water
Does nothing, but animates.
flag 4096 = inflicts damage like a fire
ball & fish
Both move a bit above the y-coordinate, given at info1.
Lowest point of the ball is defined by a solid object,
the fish ignores solid objects and moves until reaching the map's bottom.
flag 512 = begins with moving up
flag 1024 = begins with moving down
warp
Not visible and touchable until activated like a store.
Teleports Giana on activation to the x/y position, given at info1 / info2.
spawnpoint
Position where players enter the game or respawn after dying.
The drawing order determines also the respawn order.
info1 = (0: look left, 1: look right)
info2 = Only players of the matching team will spawn here. (Make sure you alternate the spawnpoints of different teams
in the drawing order!)
flood
This is a level global. The flood moves with speed info2.
flag 8192 = water level moves between info1 (low position) and y
flag 2048 = water level moves up to y when trigger info1 is activated (not yet coded)
no flags of above = water level moves up to y after info1 seconds
flag 4096 = water inflicts damage
darkness
This is a level global.
info1 = daytime in seconds (if 0 level will start with darkness)
info2 = nighttime in seconds (if 0 darkness will never end once started)
level info
This is a level global.
flag 1 = the level has icy ground (players are sliding and are not able to jump while running too fast)
flag 2 = enables the snow visual effect for this level
exit
Once a player touches it, the next level will be loaded.
flag 1024 = single player mode: the next level will be started at the spawn point with matching info1.
flag 2048 = single player mode: there will be no next map, the campaign will end.
flag
The flag object defines the availability of the CTF or Domination game mode.
info1 = (0: domination, 1-2: teamflag for CTF)
droppoint
The droppoint object defines the availability of the "Diamond-Fever" and "Team Diamond-Fever" game mode.
Here you have to deposit your diamonds to score.
The objects' drawing order
The objects will be drawn in the same order as there are placed into the map.
You can modify this order by choosing the priority options from the objects menu.
The priority also determines the chain of the spawn points. (Beginning with the first drawn)
Modifying the game graphics
You can change the playerX.bmp and sprites.bmp and you can derive new level graphics
by copying and renaming the world.bmp.
All bmp-files must have the same palette (the last color is transparent) and the size of 320x240x8.
The position of all special frames must be the same.
The players.nam contains the names of the 6 player images. The font color in the game-score
is determined by the color of the pixel in the right/bottom corner.
Tips for level design
- Don't use too many objects. Substitute many small objects with few larger ones, if possible.
- Look at the status bar while the mouse cursor is above a default icon in the tool bar to get informations about
this prototype's values.
- Use the grid options for easy object placing/moving (default and recommended grid size is 4) and use the arrow-keys for single pixel moves.
- When placing nearly identical objects, copy one and change only the appropriate values.
- If you want to mix the graphics of one and the values of another object, you simply could
select the graphic-source object then press CTRL-S to copy the coordinates into the graphics-window.
Now you could select a second object, click on the title bar of the graphics-window to get the selected graphic and place a
mixed object.
- To set the spawning order, you could select the spawn-points in the right order and press END after each selection.
Just have fun with writing great levels for this tiny game.
Andreas Kahn