Level Design of Legend of Tux: Difference between revisions

From LD Smith Games Workshop
Jump to navigation Jump to search
No edit summary
No edit summary
Line 25: Line 25:
[[Image:Mappy002.jpg|200px]]
[[Image:Mappy002.jpg|200px]]


Select the second block (1/64), and use it to draw the collision blocks.  Make sure the whole room is enclose, and leave an empty space to join to the next room.  If the is not the first room, make sure to leave  an empty space aligned with the door from the previous room.
Select the second block (1/64), and use it to draw the collision blocks.  Make sure the whole room is enclosed, and leave an empty space to join to the next room.  If the is not the first room, make sure to leave  an empty space aligned with the door from the previous room.


Use the "f" key to flood fill tiles;  "z" key to undo mistakes
Use the "f" key to flood fill tiles;  "z" key to undo mistakes

Revision as of 05:46, 5 November 2009

Download Mappy: http://www.tilemap.co.uk/mappy.php

Extract the zip file to a directory

Start Mappy

Select File => New Map

Use the following settings

Mappy001.jpg

Press "OK"

Press "OK" to the warning

Select File => Import

Navigate to the project directory, and select the "tiles.bmp" file in the images directory

(Use Gimp to modify the tiles.bmp file to add new tiles, if needed)

Ensure that Layer 0 is selected. Layer 0 will hold the collision block data

Mappy002.jpg

Select the second block (1/64), and use it to draw the collision blocks. Make sure the whole room is enclosed, and leave an empty space to join to the next room. If the is not the first room, make sure to leave an empty space aligned with the door from the previous room.

Use the "f" key to flood fill tiles; "z" key to undo mistakes

Mappy003.jpg

Use the third block to draw the door, which will be removed once all enemies are defeated. So far, I have been using blocks locations 31,9 through 31,13 for the door. Make sure blocks 0,9 through 0,13 are empty in the next room, otherwise the player may get stuck in the wall when zoning into the next room.

Mappy004.jpg

Select Layer => New Layer

Ensure that the New Layer is selected

Select Onion Skin

Mappy005.jpg

Check "Enable Onion Skin" and ensure that Background Layer is set to 0

Mappy006.jpg


Use block 1/64 to set the starting enemy location. Currently, the game only has one type of enemy. However, in the future we may use other tiles for different enemies. You may also want to use a different sprite sheet for enemies.


Mappy008.jpg


File => Save As

Navigate to the "maps" directory. Save the map as "levelX_Y.FMP" where X is the level number and Y is the room number.

Mappy009.jpg


File => Export as text

Use the following settings. Ensure that "Prefix with" is set to "int"

(Colour Map can be unchecked, but it won't hurt anything to leave it checked)

Mappy010.jpg

In cygwin, navigate to the project directory.

Go to the "maps" directory, add "cat levelX_Y.TXT >> maps.h" to the file, run makeheader, and copy the maps.h up to the project directory

 # cd maps
 # vi makeheader
 # ./makeheader
 # cp maps.h ..

Press "OK"

Edit the file_read.c file and add mappings for the new level. Hopefully, I will have time in the future to figure how to simplify this process so the three huge switch statements aren't needed.