## Giana Map - Readme (V1.1)

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 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 could 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.
block
flag 2048 = can be bashed (if info1 = 30, a rock appeares at Giana Family v1.2)
flag 6144 = diamond store (info1 = amount of diamonds)
flag 10240 = extra store (info1 = id of extra)
info2 = respawn time in seconds, can be 0 to use default
store
info1 = id of extra (10-19 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.
diamond
info2 = respawn time in seconds, can be 0 to use default
fire
Inflicts damage.
water
Does nothing, but animates.
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.
Only supported by Giana Family v1.2
spawnpoint
Position where players enter the game or respawn after dying.
The drawing order determines also the respawn order.

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.

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