With GreenSnake1.2 you can create and play your own levels. You will need the freeware level-editor "Mappy" for this and a text editor (and may-be a paint program to make new graphics).
Download
MappyWin32 V1.3.21
http://www.geocities.com/SiliconValley/Vista/7336/robmpy.htm
Don't make a level, create a whole new zone! A zone contains some levels (may-be 4 or more). Think of a name for the zone and create a new directory in "GreenSnake/Data/Levels".
If the name is longer than 12 chars it will only be displayed in title screen, not in game screen.
>
mkdir GreenSnake/Data/Levels/MyNewZone
Create a file "level.txt" in that new zone directory or copy the example file "GreenSnake/Data/Levels/level.txt" there.
>
copy GreenSnake/Data/Levels/level.txt GreenSnake/Data/Levels/MyNewZone/
Level-files are the ones which have the ending
".fmp". A Mappy-level-file is a tile-map. You define a set of tiles
(blocks) and place the blocks in a map. The map can be any size. The blocks got
the size 20x20 pixels.
It might be easier to load an existing level
and reuse the blocks there. Draw a new map and save this to the new level-file.
Don't forget to place a snake into the map for
a start. Just draw one head and some snake body pieces to follow it. Use the
right head for the right direction.
>
mapwin.exe ...
Look at the
example file and its comments to understand the format of the file. Here you
tell the loading program
·
what
levels are included in this zone
·
the
order of the levels
·
how
fast the snake will go in each level
·
the time-limit
for each level
·
background
color of the whole zone
·
which
bitmap-file to use for the snake-graphics
·
skill
(how hard this zone is to play)
·
author
If there are fatal errors reading in any "level.txt" files or zone directories then look at the log files to get an idea what might be wrong. Log files are: "GreenSnake/log.txt" and "GreenSnake/errorLog.txt".
The game program examines the "levels" directory and reloads all "level.txt" files when it enters the title screen or when you press l (for load) in title screen. So if you make some changes to the levels (create a new zone directory or change a level.txt file) return to title screen once (or press l there) to let the program know (or even restart the whole game). Then you should see all zones and if you play a new game the new parameter values should take effect. There are two cheat keys and the first one allows you to navigate to the level you want to test:
A map consists of many blocks. Each block is 20x20 pixels. You can import new block graphics into Mappy. Just create a Bitmap-File with the graphics in there. GreenSnake will always use the blocks depending on their blockindex.
Index |
Block |
Meaning |
0 |
|
don't use |
1 |
|
empty
space, snake can go here |
2 |
|
Gold |
3 |
|
Wall |
4 |
|
Wall |
5 |
|
snake
body for start position |
6 |
|
snake
head for start position |
7 |
|
snake
head for start position |
8 |
|
snake
head for start position |
9 |
|
snake
head for start position |
10 |
|
Bonus :
half size |
11 |
|
Bonus :
slow down |
12 |
|
Bonus :
extra points |
13 |
|
Bonus :
extra time |
>13 |
|
Walls |
Starting with index 14 you can create as many different wall-blocks as you need. The blocks 5 to 9 are used to mark the start-position of the snake (e.g one of the heads and 3 times the body to follow it). The actual snake-graphics are not taken from the blocks in the level-file. To change the real snake gfx you need to edit another bitmap-file.
Look at the
standard snake graphic file in "GreenSnake/Data/Gfx/items.bmp"
Here you see 5 block-sets, each set consisting of 4 blocks. One set is vertical (the left row) and the other 4 sets are the remaining horizontal lines (sorry for this confusing arrangement).
left
column |
4 blocks
for the slide-in-animation of the snake body |
first row
: block 2,3,4,5 |
normal
snake head with open eyes |
second
row : block 2,3,4,5 |
normal
snake head with closed eyes (snake
closes eyes from time to time) |
third row
: blocks 2,3,4,5 |
blinking
animation for snake body animation
order = 2,3,4,5,4,3,2 |
fourth
row : blocks 2,3,4,5 |
bumping
snake head used when
snake hits a wall |
If you design a zone where the levels don't use
black (0x000000) as the background color, then new snake-graphics might be
needed because the standard graphics have a border to blend into a dark
background. There is another graphics-set
"GreenSnake/Data/Gfx/items_blue.bmp"
for lighter backgrounds. May-be this is
sufficient for most of the lighter background colors.