The editor allows you
to modify each room in Knight Lore or Alien 8. You can edit or delete
blocks or add/edit new blocks. You can also work on multiple maps
for each game. What you cannot do as yet is:
- modify room type (i.e. the room size or location of doors)
- create new room numbers
- modify the special items (special items are the those that finish
the game, e.g. cauldron items in Knight Lore)
- Draw your map in 3D! It is a table based editor and you will
probably need to design your room in your head or on paper just
like you used to :)
From the toolbar select the drop down menu Map Editor and
choose the game. A dialog box appears showing you the existing maps
for the game.
To create a new game type in a name in to the text box and select
the Add New Map button. This will add a new entry
to the custom map file and will initially contain a copy of the
original game.
To edit an existing game, select the previously created game from
the list box and select edit map.
To delete a custom map you need to edit the text file and delete
the line containing the map. There is one line per map. The map
files are stored in the maps directory and are called a8_map_user.txt
and kl_map_user.txt
Once created/selected it will be loaded into the viewer and all
viewer functionality is still available. What is different is below
the main display the editor buttons and status information are shown:
- Status Information: this shows the current map being edited
and the size of the map. The size of the map cannot be larger
than the original map (it can be smaller though). The editor allows
you to make it bigger, but creating a game from it would overwrite
game code and the game will not run or will crash randomly. Be
warned :)
- Refresh/Save: Save the current map.
- Delete Row: Delete the currently highlighted row.
- Insert row: Add a new block to the room.
- Edit row: Edit the currently highlighted block.
- Create game: Write a new game using the current map data. The
file will be stored in the outputs directory
and will be called ??_xxxx.sna where ?? is the prefix of the game
(kl or a8) and xxxx is the name you have given the map.
Whenever a change is made the size in bytes taken up is removed
from view because recalculating the size may take a second or two.
Click save/refresh to update the display.
Note: there is no undo function so make your changes wisely
and save often :)
Selecting add or edit brings up the block editor dialog box:
- When inserting, select the block from the list - you cannot
change an existing block type
- Select the x/y/z location
For Knight Lore the z axis will either show 0-3 or 4-7. This is
down to the structure of the map format not the editor. To place
an item in the lower or upper half select the correct block, e.g.
block will select a block for locations 0-3 and
high block will select a block for locations 4-7.
If you cannot find an item to place high/low then it has not been
defined and therefore cannot be created.
For Alien 8 the map format changed and so every block can be at
any location.
The picture in the screen gives an indication of the locations
and how they relate to the screen.
Top Tip!
- To speed up the process use the ALT+keys for the buttons, e.g.
ALT-D to delete a row
- To jump to a specific room in an emulator for testing or to
visit each of the four start locations you need to poke the correct
address with the room number. filmation
example section has all the values and addresses you need
(it is in the right hand pane below the screenshot).
|
When you first
create a map the existing data game data is stored for the game,
so if you immediately click 'save/refresh' the byte count different
should stay 0 even though the data has been completely recalculated.
In Knight Lore the data should also exactly match
after a save/refresh - and it does because I've checked it using
a differencing tools :)
However, in Alien 8 the data changes slightly
after a save (thought uses up the same number of bytes). This is
because in the original game data for the rooms using the extra
blocks (e.g. the remote control blocks, mines, etc) the original
game always writes the remote controlled robot as the last normal
block.
In the editor it is a bit more methodical in
that it writes data in three phases:
1. All normal blocks with z value < 4
2. All normal blocks with a z value > 3
3. All block extension blocks (those after block
31)
This is also how the filmation games store the
data, except in the case of the robot for some reason. Probably
to put the robot next to the remote control blocks. ahh weren't
they nice !
So try it and do a compare, you'll find that
in room 68 the high block and the robot data is swapped :) |