fRaBs  level editing
Main - Updates - Single Player - Deathmatch - Level Editing - FAQ - Credits - Links

  Written by Duong Dai Nguyen, level designer for Abuse
  Edited by Mitch Burton and Justin Cassidy.

  PLEASE NOTE THAT SOME OF THESE FUNCTIONS ARE NOT INCLUDED IN ABUSE 2.0,
  THE VERSION OF ABUSE THAT fRaBs USES. ALSO, NOTE THAT IF YOU ARE USING
  A REGULAR VERSION OF ABUSE THAT MANY OF THESE OBJECTS ARE ONLY IN THE
  fRaBs DISTRIBUTION.

                          ABUSE LEVEL EDITING
 

        Here at Crack dot Com we strive to create fun games.  Many elements
  go into making a fun game, one of which is level design. Supplied with
  your official Abuse package is a level editor. This editor allows
  you to produce your own Abuse levels, using prefabricated pieces which
  we call OBJECTS. The interface is a little daunting at first, but with some
  persistence you can be blasting your way down long, dark alleys pursuing (or
  being pursued by!) aliens, robots, and flyers of your own creation. Let's
  begin!
 

                        Table of contents

        (Do a key-word search for the number/letter combination
            to jump to the section you want to read)
 

      [1] Key Listings and Extended Options
    [1.a] Key Listings
    [1.b] Extended Options
    [1.c] X11 (X windows for UNIX) Options
   ---------------------------------------
      [2] Object Listings and Descriptions
    [2.a] Links
    [2.b] AI
    [2.c] Range
    [2.d] Object List
   --------------------------------------
      [3] Preliminary Level Designing, Editors Windows and Menus
    [3.a] Preliminary Level Designing
    [3.b] Windows and Menus
   -------------------------------------------------------------
      [4] Level Designing Hints and Practicalities
    [4.a] Level Designing Hints and Practicalities
   -----------------------------------------------
    [5-7] Advanced Level Editing Topics
   ------------------------------------
   [8-10] Making Special Types of Levels
 

[1]

Key Listings and Extended Options

------------------------------------------------------------------------
[1.a] Key Listings
------------------------------------------------------------------------

a     : Toggle toolbar window.
A     : Disable auto lighting (when computer is too slow, lighting shuts off)
b     : Toggle background tile picker window.
B     : Make background window wider.
c     : Center on player.
C     : Clone object under cursor.
d     : Delete object under cursor.
D     : Toggle delays.
E     : Toggle enlarged render.
f     : Toggle foreground tile picker window.
F     : Make foreground tile picker window wider.
g     :
h     : Help!
i     : Invert color black (for foreground tile window, for discerning
           transparent and non-transparent tiles)
j     : Jump player to mouse position.
k     : Kill first link of object under cursor.
K     : Kill last link of object under cursor.
l     : Toggle light picker window.
L     : Toggle layer show window.
m     : Toggle map.
n     : Next player focus (not working/useful).
o     : Toggle object picker window.
p     : Toggle palette picker window.
P     : Toggle profiler window.
Q     : Quit (does not ask permission).
r     : Raise/lower tile under cursor.
s     : Search for object. Not working yet.
S     : Save level.
t     : Flood fill the current tile. If "grabbing" a palette window, flood
           fills with the palette pattern.
U     : Ultra smooth drawing. Not working yet.
v     : Volume.
w     : Where. Tells the x & y position of the mouse in the game.
x     : Flip object under cursor on the X axis.
z     : Clear weapons.
Z     : Toggle god mode. Cursor must be inside of view to toggle god-mode.
space : Pick up object, so that you can move it around (click to drop).
ctrl  : When moving an object : Hold down to align on a tile grid.
        When not moving an objects : Hold down on one object and let go on
                                     top of another to make a link.
alt   : Hold down while moving to align to center of tile grid.
`     : "Pick up" the foreground tile the mouse is current on.
F1    : Help!
F2    : Save a single screen shot to scrnshot.pcx.
F3    : Save a single screen shot, but name shot0001.pcx, shot0002.pcx...
F5    : Save a series of screen shots, one every 5 frames.
F10   : Reduce screen to what it would for 320x200. Useful for hi-res editing.
+     : Increase view size.
SHIFT+: Increase view size a lot.
+     : Decrease view size.
SHIFT-: Decrease view size a lot.
arrows: Scroll view.
TAB   : Toggle edit/play mode.
/     : Toggle console window.

------------------------------------------------------------------------
[1.b] Extended Options
------------------------------------------------------------------------

-nosound
-sfx_volume [0..127]
-vmode [G640x480x256 |     // SVGA for linux
        G800x600x768 |
        G1024x768x256]
-size xres yres            // for X11 and DOS, for DOS -size ? will give you
                           // a list of available modes
-2                         // doubles each pixel during rendering
-demo                      // quits game after an idle timeout and goes to
                           // demo
-lisp                      // starts up with an interactive lisp command line
-lock_size                 // X11, does not allow window to be resized
-disp/-display             // specify an alternative X server than $DISPLAY
-no_delay                  // starts with no delays, plays as fast as computer
                           // goes
-cprint                    // print all output to stderr instead of console
-nojoy                     // disables joystick use (there isn't any, anyway!)
-lsf [filename]            // use a different lisp startup file than abuse.lsp
-edit                      // Initially start in EDIT_MODE, loads "edit.lsp"
                           // as well
-t [filename]              // auto-number and load tiles from SPE file
-f [filename]              // load filenames as "level1.spe"
                           // don't shoot yourself in the foot!

------------------------------------------------------------------------
[1.c] X11 (X windows for UNIX) options :
------------------------------------------------------------------------

-noshm                     // don't use Shared memory for X11
-grab_pointer              // causes abuse to keep pointer inside of window
 

While playing, press <TAB> to go into development mode, if you ran abuse with
the -edit parameter. Type '/' to bring up the console window, into which you
can type LISP commands.
 

[2]

Object Listings and Descriptions

------------------------------------------------------------------------
[2.a] Links
------------------------------------------------------------------------

        Before you can learn about the objects you need to learn about
LINKING. Links are the grey lines drawn from one object to another. They
act as visual cues, indicating that those objects are referencing each
other for particular purposes that will be discussed later on in this
document. The exact function of a link depends upon the objects being
linked and the order in which the links are created. Creating a link is
actually quite simple.

        First, position your mouse cursor over the object you wish to
start the link from. A grey bounding box will surround the object.  Now,
you have two options. The first, and slightly faster, way is to hold down
the <CTRL> key, move the cursor to the object you want to create the link
to, and let go. The second way is to click on the first object. An extended
options window will open. Now, click on the second object, and you've
made your link. Note that the extended options window now belongs to the
second object, not the first. The advantage of this method is that it can
be used to link objects to lights, whereas the first method cannot.

        Some objects can have multiple links.  To make multiple links,
simply repeat either method.  However, if you are using the second
method, you must close the extended options window before you can make
another link from the first object. It is also important to note that links
are sensitive to which object they originate from.  When you create a link
from Object A to Object B, Object B is modified only in that its range is
extended when the player is within range of Object A.

        There are two ways to kill a link. The first is the most
flexible and efficient, and involves only the shortcut keys. First, move
the cursor over the object that owns the link. Since objects can have
multiple links, you can now either break the links first to last, by
pressing <k>, or last to first, by pressing <SHIFT>-<k>. To see whether an
object is making a link or being linked, move the cursor over an object with
a link line originating from it. If the line turns yellow, then that object
owns the link.

        The second method uses the extended options window. First, open
said window by clicking on the object. There will be two buttons
with a red X on them. The button on the left will break links with
objects from first to last. The button on the right will break links
with objects from last to first. Note that links to lights must be
broken using this method. It is suggested that you close the extended
options window when you are finished, to prevent any accidental linking
or delinking. Simply click on the check mark to close the window.

        Most links that objects make act as triggers. That is, an
object usually makes a link to another object, such as a sensor or
switch, which can only have two states (on or off). When this sensor
or switch changes its state, the object is triggered and then proceeds
to do whatever it does best.

------------------------------------------------------------------------
[2.b] AI
------------------------------------------------------------------------

        There are two ways to access an object's AI. The first
method is to click on the object, thus bringing up the extended
options window. Then, click on the AI button, which will bring
up the AI window. The second method is to simply position the
cursor over the object, and then press <SHIFT>-<a>.

        The AI window will have a bunch of labeled fields, which are
different for each object. For the most part, these should be
self-explanatory. To modify them, move your mouse cursor over the box
for the parameter you wish to modify, use the <BACKSPACE> key to delete
the current value, and, finally, type in the desired value. Click on
the check to close the AI window and make the changes complete.

------------------------------------------------------------------------
[2.c] Range
------------------------------------------------------------------------

        Another important facet of objects is the range concept. Levels
can be quite large, and have hundreds of objects. Obviously, if all of
them were given processing time, the game would run very slowly. Thus,
only objects within a certain distance of the player are processed.
However, not all objects have the same range. For example, distant
aliens can walk through closed doors, because the aliens have a longer
range. There are two ways to fix this. The first is to search through
the LISP code, find the portion that defines the AI of the objects,
and change the range there. The second way is to link another object,
usually a sensor, to the short-ranged object. When the closer
or longer ranged object is active, it will extend the range of
the linked object, allowing it to perform its special functions.

------------------------------------------------------------------------
[2.d] Object List
------------------------------------------------------------------------

The fRaBs object set is huge, so it has been moved to a separate file.

[3]

Preliminary Level Designing, Windows and Menus

------------------------------------------------------------------------
[3.a] Preliminary Level Designing
------------------------------------------------------------------------

        When creating a new level, it is generally a good idea to think
about a general theme. Will it be all action? Will there be puzzles, and
if so, have difficult will they be? What is the mood of the level? What
is the skill level of the target player? Keep these questions in mind. You
may also find it helpful to sketch out the general design of a level on
paper before you begin. Levels can be more or less as large as you want them
to be, but the default size of 100 by 100 tiles should be large enough for
most levels.

        However, before you can begin putting down tiles and objects, you
must first learn to tame the windows and menus that populate the world
we call ABUSE.
 

------------------------------------------------------------------------
[3.b] Windows and Menus
------------------------------------------------------------------------

        First, you will need to start the game in edit mode. This will
allow you to access the built-in editor. To do this, go to the current
ABUSE directory and type in this line :

        abuse -edit

        The "-edit" is an Extended Option. See section 1.b for a complete
listing of these.

        The game will now start. It will load level 00, the training level
by default. This will suit our goal of learning the windows and menus just
fine. Notice that the game is not running yet. If you have already played
the game, you will notice there now is a menu bar at the bottom of the
screen that is not present when you normally play, and that your cursor is
now an arrow instead of the usual target. Let's examine the menus and their
functions.

        Under the farthest left hand menu called FILE, we find a listing
of file utility commands and some advanced options.

Under FILE-->
             Load Level
             Save Level (S)
             Save level as
             Save game
             New level
             Resize map
             Suspend non-players
             Play mode toggle (TAB)
             Save Palettes
             Start cache profile
             End cache profile

The first 5 options from the top are basic file utility commands found
in almost all programs.

        Load level
                This command loads in levels. There are two methods you
                can use to do this. The first is the command line -- simply
                point the cursor at the text box at the top of the window,
                use the <BACKSPACE> key to delete the current contents, and
                type in the path and name of the level you wish to load.
                The second is the file selection system that uses the mouse.
                Under the text box, you will notice a list of files in the
                current directory. By double clicking on a directory, you
                can move around your directory structure. Double clicking on
                a file will have the editor try to load it as a level.
                                -------NOTE----------
                The file selection system does not work for loading up files
                outside the directory from which ABUSE was ran. Use the
                command line to load up levels from other directories outside
                the current one.

        Save level (S)
                This command saves levels. A shortcut key is <SHIFT>-<s>.
                This command will save the level with the name and path of the
                currently loaded level.

        Save level as
                This command saves a level using a different name from the
                currently loaded level. Its methods are the same as the Load
                Level command, and it has the same limitaions.

        Save game
                The save game command saves the level with your current
                position and weapon status. When the level is loaded up,
                the player will begin at the position from which the game
                was saved. This differs from the other save level commands
                in those do not save your current position, and weapon status.

        New level
                This command creates a new level.

        Resize map
                This command resizes the map (level). The default size is
                100 x 100 tiles. A tile is 30 x 15 pixels, so this
                translates into a 3000 x 1500 pixel world, or roughly
                9.5 x 7.5 screens at the default resolution of 320x200.
                To change the size of the world type in the new parameters
                and press <OK>.

        Suspend non-players
                This command stops all objects from being processed, aside
                from the main character. You will notice that when you
                execute this command, the main characters upper body is
                frozen. This is because the main character is composed of two
                objects, and only the lower half is processed. This mode
                is useful in level designing when you don't want to
                disturb the world as you roam about.

        Play mode toggle (TAB)
                This command starts the game from edit mode, allowing you to
                play the game as you normally would. Once you select this
                command you can only use the short-cut key (TAB) to return to
                edit mode. It is suggested you use this key and forgo the menu
                command, as the shortcut is much faster and not as tedious,
                and you will find yourself using it often.

        Save palettes
                This command saves palettes to a file called edit.lsp, which
                can be edited using a conventional text editor. Palettes will
                be discussed in detail later in this document.

        Start cache profile
                This is a level optimization feature. It lets the engine know
                in advance which graphics and sounds will be used in a level,
                so that it can store them in an efficient manner, resulting
                in reduced disk access when playing the level.
                -----------------------NOTE--------------------------
                This command should only be used for COMPLETED levels.
                To use this command properly these steps must be followed :

                   1) Start a new level from the proper position and state.
                   2) Select this command from the menu system.
                   3) Enter play mode.
                   4) Play through the level as you normally would. Using
                      save positions is ok. Each time graphics, sound,
                      etc. is used, the game makes note of it.
                   5) Continue until you reach the end of the level. Do NOT
                      go to the next level.
                   6) Press tab to return to edit mode.
                   7) Use the load command to reload the level.
                   8) Save the level from the menu, or by using <SHIFT>-<s>
                   9) Choose End Cache Profile from the file menu.

        End/save cache profile
                This command will save and end the cache optimization
                procedure. It saves the data to a file under the name
                and directory of the original level with an extensiton of
                .cpf.

        From the FILE menu you will use the Load Level command most often.
The rest are occasionally used, and the Save Level command has a keyboard
short-cut so it will not be necessary to use the menu for that command. Now
let's take a look at the EDIT menus.

Under EDIT ---->
                Toggle light
                Set scroll rate
                Center on player
                Add palette
                Toggle Delays

                God mode
                Clear weapons (z)
                Mouse scroll
                Lock palette windows
                Raise all foreground
                Toggle object names

                Toggle map        (m)
                Shrink to 320x200 (F10)
                Disable view shifts
                Ultra Smooth draw (U)
                Disable Autolight (A)
                Show FPS/Obj count

                Record demo
                Play demo
 

        Toggle light
                This command turns on and off the lighting. Lighting is a
                unique feature of the Abuse engine, allowing the level
                designer to create new and interesting scenes simply
                by moving around the light sources. However, it can be
                distracting while editing a level, so this command is
                provided.

        Set scroll rate
                This command modifies the rate at which the foreground
                layer and background layer scroll relative to each other.
                The Abuse engine has the capability for 2 layers of
                parallaxing. The top layer is called the foreground layer
                and the bottom is called the background layer. The parameters
                for the scroll rate are:

                        rate for background scroll in x axis:
                        rate for foreground scroll in x axis:

                        rate for background scroll in y axis:
                        rate for foreground scroll in y axis:

                For example if the parameters were:

                               X mul         1
                               X div         2

                               Y mul         1
                               Y div         2

                Then background would scroll twice as fast as the
                foreground in the x and y axes.

        Center on player
                This command will center the screen on the main character.
                It's very useful since the Abuse engine allows the level
                designer to move the center of the screen away from the
                character. The short-cut key is <c>.

        Add palette
                This command allows the level designer to make custom
                palettes. When you choose this command, a dialog box will
                open with several fields. Type in an appropriate name, as well
                as width and height values. Since the palette can be resized
                with the arrow keys, you do not need to worry about getting
                the size perfect. You will now have a blank palette window.
                You can add foreground tiles to this window by selecting a
                tile from the foreground tile window (see below), and then
                clicking in the palette window with the RIGHT mouse button.
                Palettes are discussed in detail in the section on the
                Palettes menu option, below.

        Toggle Delays
                This command will allow the game to run at the fastest speed
                your machine is capable of. There should be a message telling
                you whether delays are being turned on or off after you choose
                this command. The keyboard short-cut is <SHIFT>-<d>.

        God mode
                In this mode you have all the weapons, unlimited ammo, and
                cannot be killed. The SHAREWARE version has only four
                weapons as opposed to the COMMERCIAL versions full eight
                weapon types. The keyboard short-cut is <SHIFT>-<z>.

        Clear weapons (z)
                This command resets your weapon status, leaving you
                with only the laser rifle. All ammo will be set to 0.
                This is useful when designing and debugging levels,
                since the Abuse engine does not clear your weapons
                status when you reset the level. The keyboard shortcut
                is <z>.

        Mouse scroll
                An optional feature is the ability to use the mouse as a
                scrolling device. If this command is active (as indicated
                by an asterisk), you can move around the level by pushing
                the cursor against the boundaries of the screen. You can
                also use the arrow keys to scroll around, however, you must
                take care that you do not accidentally resize palette windows
                when using them.

        Lock palette windows
                This command prevents any accidential alteration to
                palettes. When this command is active (as indicated by an
                asterisk) none of the palette windows can be resized nor
                can the tiles in them be changed. To deactivate this command,
                simply select it again.

        Raise all foreground
                This command will, when active as indicated by the asterisk,
                make all the foreground tiles laid down in the level be
                raised. Raised foreground tiles are drawn in front of the
                character. When in edit mode all raised foregrounds will have
                an 'X' drawn over them. You can deactivate this command by
                selecting it from he menu again. To raise and lower individual
                tiles, position the cursor over the tile you wish to raise or
                lower and press the <r> key.

        Toggle object names
                When this command is active, each object will have its name
                displayed below it in green.

        Toggle map        (m)
               This command will display a map of the level. The map is a
                global representation of the level, with area boxes shown.
                An area box is an area of the level that has its own
                ambient light and screen displacement values. The map can
                be scrolled around with the arrow keys, or with the mouse
                if mouse scroll is activated.
                        Ambient light is the global level of lighting. A
                player can only have one ambient light value at a time.
                However with the help of area boxes, you can have multiple
                ambient light values. Once a player leaves an area box, the
                screen displacement and ambient light do not return to their
                original values. The values of the screen displacement and
                ambient light change only when the player enters another area
                box. Screen displacement shifts the center of the screen
                away from the player. You can access these parameters and
                others via the toolbar window, which can be opened from the
                WINDOWS menu. See the section on the toolbar window, below,
                for a description of the tools and what they do.
                        The keyboard shortcut for map mode is <m>. To get
                out of map mode, simply press <m> again.

        Shrink to 320x200 (F10)
                This command shrinks the view window to 320x200 resolution.
                When working in hi-res mode, this can give you an idea of
                what the player will see in low-res mode.

        Disable view shifts
                If this command is activated (it will have an asterisk next
                to it in the menu selection) view shifts will not take place
                when the player enters a new area box. When developing a
                level, this command can prevent accidental and annoying
                view shifts. To enable view shifts, simply reselect this
                command.

        Ultra Smooth draw (U)
                This command will draw the characters as smoothly as possible.
                This command currently is under development and should
                not be used.

        Disable Autolight (A)
                This command disables the autolight feature. The autolight
                feature will turn off the lighting if the frame rate drops
                below 9 frames per second. Disable this if you're working on
                a slow machine and want to see the lighting no matter what
                the speed. To enable autolighting again, reselect this from
                the menu. The keyboard short cut is <SHIFT>-<a>.

        Show FPS/Obj count
                This command prints the number of frames per second and the
                number of objects currently being processed in the upper
                left hand corner of the screen.

        Record demo
                This command will begin recording a demo of the game. These
                demos can be viewed with the play demo command.

        Play demo
                this will play the demo which you have recorded.

        The EDIT menu is very important to designing levels. Most of the
important functions have keyboard shortcuts and can greatly speed up
level designing. Now let's take a look at the WINDOWS menu.

WINDOWS->
        Foreground  (f)
        Background  (b)
        Draw layers (L)
        Lighting    (l)
        Palettes    (p)
        Objects     (o)
        Console     (/)
        Tool Bar    (a)
        Search     (s)
        Profile     (P)
        Save positions

        Foreground  (f)
                This command will bring up the foreground tile window.
                From this window you can select foreground tiles to place
                in the game world.
                To expand the foreground window, place your mouse cursor
                inside the foreground window and press <SHIFT>-<f>.
                Multiple presses will expand the window even further,
                though it will eventually return to a single tile window
                window. If the foreground tiles seem small, place the
                cursor in the window and press the <+> key to make them
                full size. Similarly, if they are taking up too much space,
                press the <-> key to shrink them. Note that the 0 color black
                is drawn as beige in the foreground tiles, for identification
                purposes. To select a tile from this window, simply click on
                it. You can then place the tile by moving to where you want to
                put it and left clicking. The keyboard shortcut is the <f> key.

        Background  (b)
                This selection will bring up the background tile window.
                These tiles are drawn behind the foreground tiles, and will
                show through only where there are no foreground tiles, or
                where the color black (0 color) is present in foreground
                tiles. You can select tiles from this window using the same
                method as for the foreground window. However, to place tiles,
                you must right click, as a left click will place a foreground
                tile. The keyboard shortcut is <b>.

        Draw layers (L)
                This selection opens the layers window. The buttons in this
                window toggle the display of various layers. That is, you can
                toggle the drawing of, among other things, lighting effects
                and foreground tiles. The latter would be useful when laying
                down background tiles.

                   FORE  : Toggles the foreground layer.
                   BACK  : Toggles the background layer.
                   BOUND : Toggles the bounding boxes on foreground tiles.
                           Bounding boxes block the player, so that one can
                           walk on floors and be stopped by walls.
                   LIGHT : Toggles the lighting.
                   LINKS : Toggles the display of links between objects.
                           In areas with lots of links, they can sometimes
                           obscure the foreground. Note that when off, the
                           light icons will not be drawn.

                The keyboard shortcut is <SHIFT>-<l>.

        Lighting    (l)
                This will bring up the lighting window. This window has
                buttons for a variety of light source shapes, as well as an
                ambient button. Lights are respresented by a white, circular
                or semi-circular icon, depending upon its shape. You select
                and place a light in the same way you do a foreground tile.

                Sometimes you will want to modify the size or shape of the
                light. There are several ways to do this. The first method
                uses the keyboard almost entirely :

                   1) Position the cursor over the light whose shape
                      you wish to change. Or, you can skip to step 3,
                      if you have selected a light but have not dropped it.
                   2) Press the <SPACEBAR> to pick it up.
                   3) Use the arrow keys to reshape the light, or + and - to
                      resize it.

                The second method involves the use of the extended options
                window :

                   1) Click on the light.
                   2) Modify the W and H fields for the light. These will
                      change the width and height, respectively. Note
                      that these fields expect small numbers. The L2 field
                      will change the size of the light. This field can
                      accept very large numbers.

                The keyboard shortcut is <l>. Lighting is an excellent
                tool for creating mood in the levels. Learn how to use the
                lighting well.

         Palettes    (p)
                This command will open a window containing a list of palettes.
                Choose one and double click on it to open a palette window.
                Sometimes the palette windows will be shrunken so as to take
                up less space. Palette windows can be shrunk and expanded,
                just as the foreground and background windows can. While in
                this window, hold shift and type a letter to jump to the
                palettes starting with that letter.

                Palettes have a variety of uses. Not only can they be used as
                custom tile libraries, they can be used to fill areas, or to
                stamp down one set of tiles at a time. They are quite useful
                for creating complex patterns of tiles with great speed. To
                stamp down the palette, click on the palette's window bar with
                the left mouse button. While keeping the mouse button held
                down, drag the upper left corner of the window to the position
                where you wish to stamp, then press the <SPACEBAR> key. If you
                wish to fill, press the <t> key instead. The result of a
                palette stamp is perhaps best shown rather than described.
                Assume that the palette is being stamped at the upper left
                corner of the grid. A-d are foreground tiles.

                 Palette       Grid before stamp       Grid after stamp
                  +-+-+             +-+-+                +-+-+
                  |a|b|             | | |                |a|b|
                  +-+-+             +-+-+                +-+-+
                  |c|d|             | | |                |c|d|
                  +-+-+             +-+-+                +-+-+

                        Palettes can also be used to fill or stamp one tile
                at a time. Simply left click on a tile in the palette window,
                then place it as you normally would. Do NOT right click, as
                you might accidentally alter your palette. To help prevent
                accidental alterations to the palette, read about the Lock
                Palette Windows command, above.

                        To expand or shrink a palette, simply position the
                cursor in the palette window and use the arrow keys to resize
                it. BE CAREFUL with this -- if you shrink a palette, any tiles
                that were in area you just shrunk will no longer be there,
                even if you expand the palette back to where it was. This is
                annoying, at best.

                        Also, make sure to use the Save Palettes command in
                the FILE menu to save your palettes so that you may use them
                in the future. Saving the level does NOT save the palettes.
                Palettes are very powerful tools to a level designer. They
                will allow you to do complex fills and create repetitive
                structures easily, as well as being custom libraries for
                tiles. Palettes are your friends.

        Objects     (o)
                Objects are the core of the game. They are all the characters
                which you interact with. Each one has its own, unique AI
                settings. This window gives you a listing of all the objects
                in the game. While in this window, hold down shift and type a
                letter to jump to the objects beginning with that letter. See
                Object Listings and Descriptions for a complete overview of
                all the objects in the game. Some basic object utility
                commands are as follows :

                   <SPACEBAR>   Picks up object under cursor.
                   <x>          Flips object under cursor in x axis.
                   <d>          Deletes object under cursor.
                   <SHIFT>-<c>  Clone object under cursor.
                   <CTRL>       Position object to a grid.
                                (object must be picked up)
                   <ALT>        Position object in the middle of a grid.
                                (object must be picked up)
                   <SHIFT>-<k>  Kills last link of object under cursor.
                   <k>          Kills first link of object under cursor.

                The keyboard shortcut key for this window is <o>

        Console     (/)
                This will bring up the console window. The console window
                can accept command line inputs. It can also be used to
                modify the game and receive information about the game's
                state.
                The keyboard shortcut is </>.

        Tool Bar    (a)
                This will bring up the toolbar window. It is used in
                conjunction with the map view to add and modify area boxes
                and place tiles in the map view.

                The toolbar menu has 3 icons : a pencil, an arrow, and a box
                made of broken lines. The pencil lets you lay down tiles
                that you have chosen from either the foreground window,
                palette window, or the current level itself. To lay down a
                tile in the game, simply press the right mouse button over
                an area in the map. The pencil mode is also useful for using
                the fill option. To fill an area in the map with one
                foreground tile, follow these steps :

                   1) Select a tile from any of the three sources.
                   2) Make sure the area you wish to fill is completely
                      surrounded by tiles. If not, then lay down some tiles
                      to fill the gaps.
                   3) Move the mouse pointer into the area.
                   4) Press the <t> key.

                        To select a tile which has already been laid down,
                position your mouse cursor over the tile and press
                the <`> key. If your foreground window is open at the
                same time, it will jump to the tile you just selected.
                This selection mechanism will work in map mode as well.

                        The box tool allows you to create a new area
                box. To do this, follow these simple steps :

                   1) Select the box tool.
                   2) Enter map mode, if you haven't already.
                   3) Hold down the left mouse button, then drag to
                      create the box.
                   4) Release the mouse button.

                        The arrow icon lets you modify the settings of an
                area box. To do this, follow this procedure :

                   1) Select the arrow tool.
                   2) Go to one of the yellow endpoints of the area box.
                      Each area box has two endpoints; one at the upper left
                      corner, and another at the lower right corner.
                   3) Double click on the endpoint. You will know when you
                      have selected an area box, as it will have turned into
                      a yellow box. This will bring up a window with several
                      parameters :
                         Ambient
                           The global lighting level. It ranges from 0 to 63.
                           A value of -1 means no change.
                         Ambient Speed
                           This is the increment at which the ambient light
                           level changes when the player enters the area box.
                           Obviously if the ambient light level is the same,
                           there will be no change.
                         View x off
                           This is the number of pixels the player should be
                           offset from the center of the screen, in the X axis.
                           A negative value will shift the screen left, and a
                           positive value will shift the screen right.
                         View y off
                           This is the number of pixels the player should be
                           offset from the center of the screen, in the Y axis.
                           If the value is negative, it will shift the screen
                           upwards. A positive value will shift the screen
                           downwards.
                         View x speed
                           The rate the view shifts, in pixels.
                         View y speed
                           The rate the view shifts, in pixels.

                        Click on the <OK> (check) button to close the area
                box's extended option window to save the changes, or the
                <DELETE> (big red X) button to delete the area box.

        Search      (s)
                This is currently under development, it will search for
                objects within a level. Do not use.

        Profile     (P)
                The profile window will display the current objects and
                rank their CPU time. The higher up on the list, the more
                CPU time taken up by that object or group of objects.

        Save positions
                This command will save the positions of all opened windows.
                Thus, when reopened, they will appear where you left them.
 

[4]
Level Designing Hints and Practicalities

------------------------------------------------------------------------
[4.a] Level Designing Hints and Practicalities
------------------------------------------------------------------------

        If anyone has read this far, they either have to be crazy, or
very determined. You make the call.

        If you don't want to draw your own tiles, you need to familiarize
yourself with the tile set. A good way to do this is to take a look at the
current levels, like LEVEL00.SPE, the training level. Using the <`> key,
with the foreground window open, select the tiles which you have an interest
in. Learn what they look like, and what they do. Also look at how the various
tiles fit together. Use the layers window to turn on the bounding layer and
see the bounding boxes for the various tiles. Use palettes so that you don't
have to search through the foreground window for your favorite tiles. Play
with the objects, see how they work with the player and with each other. And
save your level often. Since you often mess up your level while testing it
and killing monsters and so on, make use of the restore key (<SHIFT>-<r>),
which will reload your level. Note that if you saved the game at a
RESTART_POSITION, your savegame and not the original level will be reloaded.
Make sure not to save a level after you've gone through and killed everything.

        Making a level is an incremental process, building block by block as
you go. Keep in mind your global goals for the level. Keep the action steady,
but gradually build up to the "big finish". But, more than anything, make
levels and get more experience. This is the best way to learn to make great
levels.

        With all that said, level designing is a rewarding process filled
with little twists and turns that will keep you enthralled and entertained
for hours on end.

Advanced Level Editing Topics -->

Justin Cassidy
messiah15@dog.com