WELLCOMMMEEEE .... TUTORIAL NUMBER 1 (how to make levels the crack-dot-com way!) Here at crack-dot-com we strive to create fun games. Many elements goes into makeing a fun game, and but one is level design. Suppiled with your offical crack-dot-com package is a level editor. This editor allows you to produce your own ABUSE levels, using prefabracatied peices which we call OBJECTS. The interface is a little daunting at first but with some persistance you can be blasting your way down long dark allies pursuing or being pursued by aliens, robots and/or 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) 1A) Key Listings and Extented Options --------------------------------------- 2B) Object Listings and Descriptions -------------------------------------- 3C) Prelimanry Level Designing, Editors Windows and Menus ------------------------------------------------------------- 4D) Level Designing Hints and Praticalities --------------------------------------------- 1A) Key Listings and Extented Options ----------------------------------- ------------------------------------------------------------------------ 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 (mouse cursor must be on it) d : delete object D : toggle delays E : toggle enlarged render f : toggle background tile picker window F : make foreground tile picker window wider g : h : help i : invert color black (for foreground tile window, for descerning transparent/non-trans tiles) j : jump player to mouse position k : kill first link K : kill last link 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 (hold down shift-(first letter) to jump to an object) p : toggle palette picker window (hold down shift-(first letter) to jump to an palette) P : toggle profiler window Q : quit (does not ask permission!) r : raise/lower tile (under mouse) s : sreach for object (not working yet) S : save level t : flood fill the current tile, (if "grabbing" palette window, flood fills palette pattern) U : Ultra smooth drawing (not working correctly right now). v : volume w : where, tells the x & y position of the mouse in the game x : flip objects direction z : clear weapons Z : toggle god mode (cursor must be inside of view to turn god-mode) space : pick object and move it (click when finished moving) ctrl : hold down while moving to allign on a tile grid, when not moving objects : hold down on a object and let go on top of another, and a link is created alt : hold down while moving to allign 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, save one every 5 frames F10 : reduce screen to what it would for 320x200, usefull for hi-rez editing + : increase view size SHIFT+: increase view size a lot + : decrease view size SHIFT-: decrease view size a lot arrows: scroll view in a direction TAB : toggle edit/play mode / : toggle console window ------------------------------------------------------------------------ Extended Options ------------------------------------------------------------------------ -nosound -nonet // bypass netowrk stuff -sfx_volume [0..127] -music_volume [0..127] -vmode [G640x480x256 | // SVGA & DOS G800x600x768 | G1024x768x256] -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 load tiles from SPE file -f [filename] // load filenames as "level1.spe" -grab_pointer // (Xwindows) causes abuse to keep pointer inside of window // don't shoot yourself in the foot! X11 options : ------------------------------------------ -size [xres yres] // size of window -noshm // don't use Shared memory for X11 while playing... press to go into devlopment mode, type '/' to bring up the console (you can type lisp commands in there). 2B) Object Listings and Descriptions ---------------------------------- ------------------------------------------------------------------------ Object Listings and Descriptions ------------------------------------------------------------------------ ------------------------------------------------------------------------ IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT ------------------------------------------------------------------------ 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 particualar purposes as will be disscussed. The links are created by the level designer. The serve a variety of purposes, dependent upon the objects linked and their order relative to one and another. What follows is a description of how to make a link: --First lay your mouse cursor over the object you want to start the link from, watch for the grey bounding box. (note that the object which starts the link is the object which is 'thinking' and the object which end the links, is not modified by the link other than its range being extended when the first object is in the players range. To understand why the first object 'thinks', it is nessecary to know that every object in this list has an AI, a small peice of code which determines how the object behaves in the game. The AI paramters of an object can be accessed by either moving you mouse cursor over the object, watch for the grey bounding box to pop up. Either press the left mouse button and bring up the extended option window for that object and then press the button labeled AI to access the AI parameters. Or, you can press with your mouse cursor over the object to access the AI window directly. Most of the AI parameters are labeled and customizable for most objects. To change a parameter of the AI, move your mouse over the number you want to modify and delete the existing number with the key first, and now type in a new number.) --With your mouse cursor over the object, now you have two choices from which to make a link. --the quick way is to the deprees the key, and keep it depressed move you mouse cursor off the object. (note the line drawn from your chossen object and the mouse cursor) --choose the ending object you want the link to end to --move your mouse cursor over that object, watch for the grey bounding box. --release the key and the link will be formed as indicated by a grey line between the two objects. --The other way to make a link is as follows: --click on the object of your choice, this will cause an extended option window to open up. --move your mouse over to the next object you want to link the first to. --click on that object, note the grey line now draw between the two objects. (note that the extended window now belongs to that of the second object not the first. Thus if you modify the AI of this object you are modifying the second objects AI not the first.) (note you cannot link objects to lights with the first method, you must use the second method to link objects to lights.) (note some object can have multiple links, to make multiple links, just repeat the first method as usual. However if you are using the second method you must close the extended options windows before you can make another link from the first object.) To see whether an object is making a link or being linked, you can use the mouse cursor. Move the mouse cursor over the object with a link line comming from it. If the link line turn a yellow color then you know that it is the object making the link. If the line does not change color then it is not makeing the link, but instead being linked by some other object. To kill a link follow these procedures. --there are two ways to kill a link line, the first is the most flexible and efficient --the first method involves only the short-cut keys --move your mouse cursor over the object making the link (see above to determine whether an object is making a link) --since objects can have multiple links you have two method of which to break a link, from the frist toward the last or vice versa. -if you want to break the first toward the last use the key -if you want to break the last toward the first use the keys -if you want to beak all the links comming from that object use multiple or keys presses. (note any reamaing link does not originate from that object) --the second method uses the extended options window --open the extended options window, by clicking on the object --look got the buttons with the red 'X's. --the button farthest to the left with the red 'X' will break links with objects, ONLY in the order from first to last. --the button farthest to the right with the red 'X' will break links with lights, ONLY in the order from first to last. --it is advisable to close the extended options window after you are done using it to prevent any accidental delinking or linking. (click on the CHECK to close the window, or the 'X' on the upper left hand corner to delete the object.) (note links from objects to lights can only be broken with second method.) It is worth mentioning that most links that objects make serve the purposes of acting as triggers. That is an object usually makes a link to another object such as a sensor or a switch, which can only have two states (on or off), and when the sensor or switch changes to an approriate state, recognizable by the originating object, the originating object will activate its approaite AI code, thus modifing its state. To access an objects AI follow these procedures: --first method --click on the object, thus bringing up the extended options window --click on the AI button,thus bringing up the AI window with all modifiable paramaters for that window. They are labeled, and thus self explanatory. --second method --move mouse cursor over the object --press the keys, thus bringing up the AI window with all modifiable paramaters for that window. They are labeled, and thus self explanatory. To modify an objects AI follow these procedures: --move your mouse cursor over the paramters box --use the key to delete the current parameters value --type in the desired value --close the AI window to make the changes complete (click on the CHECK) Another important facet of the objects nessecary to learn before you tackle the list, is the range concept. The levels are filled with hundreds of objects. If they all were given processing time, the game would run very slowly. So, as an optimization feature, only the characters within a certain distance of the player are processed. However not all characters have the same range. Thus some characters, can be proccessed, while others wouldn't, yet be spatially very close. Such as the case with doors and aliens, the aliens can walk through doors, when the player goes to far away from the door and alien. This is resolved either by extending the range of the door, in code or in the game. To extend the range in code, you need to find the lisp code which defines the characters AI and modify it there. To extend the range of a character in the game, you need only to link an object, any object but usually it is a sensor, to the short ranged object. That is the link originates from the sensor, terminating on the object. When the sensor is active it will 'pull' the linked object into range as well, and thus allows that object to perform its special function. Now let's take a look at the objects. ------------------------------------------------------------------------ NOTE ------------------------------------------------------------------------ As customary, objects which have either on or off states, will change their color to reflect these states. GREEN means on, and RED means off. Objects which have these are as follows: Sensor Death_respawner Death_sensor All the logic gates Indicator Switch ------------------------------------------------------------------------ NOTE ------------------------------------------------------------------------ AMBIENT_SOUND are sounds which are played continuosly with a user definable delay and volume. They have a range of 500 pixels, and are played at their highest defined volume at their point of origin and decreasing with distance. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. ANT_CRACK is and irregular object from which any number and type of alien can come bursting forth. The user can set the number and type of alien by accessing the extend AI options. The type of aliens are as follows: 0 = yellow-white fast Laser shot 1 = golden-ornage slow Laser shot 2 = Grenade 3 = Rocket 4 = Plasma 5 = Fire Bomb 6 = Death Frizbee 7 = Laser Saber If it has no links it will NOT be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. ANT_ROOF is an alien whose normal state is a invunerable coccon. Usually placed on the roof, hence its name. It will activate when the player comes within range when UNDERNEATH it, it will not activate if the player is above it, even when in range. It can be of any type of alien. To change its type, place the mouse cursor over the alien of your choice, watching for a grey bounding box to be drawn. Once you are over the alien press any of the number keys from 1-7 to change the alien type, refer above to alien type and number. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. BIG_BOMB A really big bomb which is triggerd off, by a sensor or switch. It has a user definable delay which can be set in its AI. It can kill the player if they are in range of its blast, which is however not very large. They can be chained together by linking them sequentialy. If placed with no links, the bomb will explode of its on accord. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. BLOCK A block is just an object which can be hurt, but otherwises does nothing else but blocks the player. The player can walk on blocks. heatlh = 30 It igores all links. BOULDER A boulder is an object which when active if droped from a height will bounce on the floor doing damage to anything undereath it, such as aliens, HIDDEN tiles, players, and anything else capable of being hurt. It's x and y velocity can be modified. It can be killed. heatlh = ? If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. BOMB This is a smaller version of the BIG_BOMB and has the same attributes except its explosion is weaker and is smaller. see BIG_BOMB above. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. CONC This is a mine. That is if the player touches this object it will explode causing damage to the player. Otherwise it will just sit there waiting for the player. Customarly placed on the floor. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. CONC_AIR This is a air mine. That is if the player touches this object it will explode causing damage to the player. Otherwise it will just sit there waiting for the player. Customarly placed in the air. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. DEATH_RESPAWNER This object allows you to spawn an object onto anothers object location when it dies. That is if linked to an alien, when the alien dies a user chossen object will appear where the alien died. This can be useful for creating certain types for puzzles where it is required for the player to kill a certain ANT This character can only be used on the ANT (alien) characters. The linking order are as follows: --first link the DEATH_RESPAWNER to the object you want to be respawned (any object) (note the first link is always the object that will be respawned in this case. It is also intresting to note that if for some reason the first link dies, the second link now becomes the first link. This could be an intersting source for a puzzle.) --now link the DEATH_RESPAWNER to any number of ANTs(only ANTs) which you want the chossen object to be respawned to. DEATH_SENSOR This object, like all other sensors only has two states, on or off. Whatever object this sensor connets to, when it dies , or is deleted, such as the case with ammo and health, the sensor will switch to an on state. It can have multiple links. If that is the case, it will only turn on when all the object it is linked to is dead or deleted. This object is useful in that you can link other objects to it, which is activiated when its links dies. DFRIS_ICON10 This is the large ammo unit for the Death Frizbee. It gives the player 10 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. DFRIS_ICON4 This is the small ammo unit for the Death Frizbee. It gives the player 4 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. FBOMB_ICON1 This is the small ammo unit for the Fire Bomb It gives the player 1 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. FBOMB_ICON5 This is the large ammo unit for the Fire Bomb It gives the player 5 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. FLYER This is a flying robot, which can fire any of the 1-7 weapon types. Use the same method of modifcation as on the ANT, to change the weapon types for the flyer.(see ANT_ROOF) Its many modifiable AI parameter. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. FORCE_FIELD This object when actived by a sensor or switch will make a wall for energy which blocks the character from crossing. It can be any hieght but no greater than once screen. Position the character on the top of where you want the wall. If it has no links it will be active (on or off depending). It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. GATE_AND Logic gates modify their states depending upon their links states. For instance a GATE_AND will only turn on when all its links are in the on state. If however one of the links turn off, the GATE_AND will revert to an off state. This logic gate can have more than one link associated with it. GATE_DELAY Logic gates modify their states depending upon their links states. For instance a GATE_DELAY will only reflect the state of its link. If the GATE_DELAY is link to an on sensor, it will eventually turn on as well. However, the special property of the GATE_DELAY is that it has a user definable delay in between switching states, whether from on to off or vice versa. It can only support one link. GATE_NOT Logic gates modify their states depending upon their links states. For instance a GATE_NOT will be in the oppsite state of its link. If a GATE_NOT is linked to an on sensor it will be in the off state. GATE_NOT only support one link. GATE_OR Logic gates modify their states depending upon their links states. For instance a GATE_OR will be in the on state whenever any one of its links are on, and is off only when all of it's links are off. It can support multiple links. GATE_PULSE Logic gates modify their states depending upon their links states. A GATE_PULSE will, when switch on by an on sensor or on switch, pulsuate between on and off states with a user definable delay between the off states. This gate only supports one link. GATE_XOR Logic gates modify their states depending upon their links states. A GATE_XOR will only switch on if and only if its links (GATE_XOR usually have more than one link associated with it as with GATE_OR, and GATE_AND) are not of the same state. That is if there are two links, and if they are in different states, the GATE_XOR will be in the on state. However if one of the links switch states, thus both being the same, the GATE_XOR will be in the off state. This gate supports more than one link. GREEN_FLYER This is a green flying robot, which can fire any of the 1-7 weapon types. Use the same method of modifcation as on the ANT, to change the weapon types for the flyer.(see ANT_ROOF) Its many modifiable AI parameter. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. GRENADE_ICON10 This is the large ammo unit for the Grenade. It gives the player 10 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. GRENADE_ICON2 This is the small ammo unit for the Grenade. It gives the player 5 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HEALTH This is a heart icon. It increases your health, dependent upon your difficulty level it can give you a range from 5-20 health points. HIDDEN_ANT This is an ANT whose normal state is invisible. It acts like the ANT_ROOF but is invisible.(see ANT_ROOF) If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL1 Hidden object are used to hide secrets. The can be destroyed using any of your weapons. Hidden walls can be made indestructable by linking them up to sensors or switchs. When the switch or sensor comes on, the hidden wall will self destruct, causing alot of damage to any aliens, and/or other hidden walls surrounding it, but no damage to the player. This hidden wall look like a floor tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL2 This hidden wall looks like a roof tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL3 This hidden wall looks like a wall tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL4 This hidden wall looks like a blocking tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALLl5 This hidden wall looks like a floor tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL_2x2 This hidden wall looks like a 2x2 blocking tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL_3FLR This hidden wall looks like a 3 tile wide floor tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL_3TOP This hidden wall looks like a 3 tile wide roof tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL_3WALL This hidden wall looks like a 3 tile wide wall tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. HIDDEN_WALL_AFLR This hidden wall looks like an alien floor tile. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. INDICATOR This object switch it's color from red to geen when it turns off and on. It's useful when showing the player info about sensor states or switch states. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. JUGGER This is a walking or stationary robot which toss greandes. Its AI can modifies whether is walks or is stationary, and the angle at which it throws the grenades. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. LADDER An object which allows the player to clmib along it's lenght when in the area bounded by the ladder object and another object the ladder is linked to. That is the ladder needs to be linked to any other arbitary object to work. Forming the upper left hand corner of the area box, and the other arbitary object forming the lower right hand corner of the box. When a player enters the area they can climb up the ladder when the press up. (note the cirterion for the player entering the box is when the feet of the player be in the box for this to work) This object requies one and only 1 link to another object (usually a marker) to function. LAVA The lava is an object which does constant damage to the player as long as they are in contact. LIGHTHOLD This object allows other object to have light icons, thus lights, assoicated with them. By linking them together, a light can be 'glued' onto another character. By linking the LIGHTHOLD to an object that you want to hold the light, and then linking the LIGHTHOLD again to the light you want that object to hold. (note you must use the second method of linking for lights, see above LINKING) LIGHTIN This object can hurt the player when the lighting flashes and only then. The speed is user definable. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. LSABER_ICON10 This is the small ammo unit for the Laser Saber. It gives the player 10 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. LSABER_ICON50 This is the large ammo unit for the Laser Saber. It gives the player 50 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. MARKER An object which does nothing, but can hold links for other objects which need to be linked to other objects such as the LADDER. MBULLET_ICON10 This is the large ammo unit for the Laser Rifle. It gives the player 10 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. MBULLET_ICON5 This is the small ammo unit for the Laser Rifle. It gives the player 5 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. NEXT_LEVEL This object will take you to another level when activated (player touching, presses down arrorw). The next level it takes the player to is arbitary, listed as a number in its AI. To use the NEXT_LEVEL object it is nessecary for the level to be in the levels directory under the current ABUSE directory and use the naming convention, levelXX.spe where, XX = any number from 00 - 99. (note the first 0 must be include if the number is less than 10) It is advisable to double link the NEXT_LEVEL to its top, the NEXT_LEVEL_TOP, for covention and future expansion purposes. To double link something, means to link the objects mutually. Link one object to another and that second object back to the first. NEXT_LEVEL_TOP The top part to the NEXT_LEVEL. Should be linked to NEXT_LEVEL object. OBJ_HOLDER This object is similar to the LIGHTHOLD, but instead of gluing a light to and object , it glues together two objects. This object is senitive to the ordering of the links. The first link is the object to be held. The second link is the object which is holding the first. There is an optional third link, which if it exist, will act as a trigger for the OBJ_HOLDER, when the trigger switchs on. (note that if the first or second link is broken, this will happen if the object dies or is deleted, the links will reorder themselves) The OBJ_HOLDER has modifiable AI for the displacement of the first object with respect to the second object. An OBJ_HOLDER with no links or one link will be deleted by the engine. OBJ_MOVER This object will allow the level designer create paths for objects to move on. It accepts two links. The first link marks the endpoint for the path, and the second is the target object which is to be moved. By linking OBJ_MOVERs in a cyclic pattern the target object can be kept moving indefintely. When the OBJ_MOVER moves the target object to its destination, the link is then transfered to the end object, which in a chain of OBJ_MOVER will then move the target object to the next link in the chain. A chain composed of multiple OBJ_MOVERS can hold multiple target objects, one for each pair of OBJ_MOVERS. It has a user definable speed at which it can move the target object, in its AI. PLASMA_ICON10 This is the small ammo unit for the Plasma Beam. It gives the player 10 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. PLASMA_ICON50 This is the large ammo unit for the Plasma Beam. It gives the player 50 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. POINTER An object which does nothing, but is used to draw the players attention to certain points in the level. It looks like a golden arrorw. POWER_FAST The power icon series, are icons which when collected by the player augments thier abilites. The player can only collect one icon at a time. This power icon will allow the player to move twice as fast as normal and jumper higher. It is activated by using the right mouse button. POWER_FLY The power icon series, are icons which when collected by the player augments thier abilites. The player can only collect one icon at a time. This power icon will allow the player to fly. It is activated by using the right mouse button. POWER_HEALTH The power icon series, are icons which when collected by the player augments thier abilites. The player can only collect one icon at a time. This power icon will allow the player to have 200 health points. It is activated by using the right mouse button. POWER_SNEAKY The power icon series, are icons which when collected by the player augments thier abilites. The player can only collect one icon at a time. This power icon will allow the player to become paritally invisible. It is activated by using the right mouse button. PUSHER This object will push the player in the direction of the arrows. It has a modifiable AI allowing the level designer to change the strenght at which it pushes the player. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. RESPAWNER This object, like the DEATH_RESPAWNER will respawn another object. It has only one link, the object to which it will respawn, and in its AI is a user definable delay time between the respawning. An object can only be respawnnded if it is deleted once it has been spawned. The object will be spawned at the same location of the RESWPANER. This object is very useful in network games, since ammo and health tend to get depleted very quickly and needs to be respawned often. RESTART_POSITION This object functions as a user activiated save positon in the game. When the levels tend to be very large, it is nessecary to put in RESTART_POSITIONs, so as if the player dies, they do not have to start from the very begining again. The more RESTART_POSITIONs in a level, in general the eaiser it is. ROB1 A large robot which can chase you down halls. It has large spining blades which are situated in from of it, which can do damage. It has a user definable speed and health settings in its AI. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. ROCKET_ICON2 This is the small ammo unit for the Rocket Launcher. It gives the player 2 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. ROCKET_ICON5 This is the large ammo unit for the Rocket Launcher. It gives the player 5 addition points to their ammo. Like all ammo, if is connected to a sensor or switch which is off, the ammo will be invisible, untouchable, and unaffected by gravity, until the sensor or switch turns on. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. SENSOR This is the basic triggering device. It has a on and off area box. When the player enters the on area (green box) the sensor will turn on and stay on until the player leaves the off area (red box). (note the feet of the player must be inside the area boxes to be considered inside the area box. Thus sensors are placed well through emcompassing the floor, to maximize their effectiveness.) It is usually the case that the off area encloses the on area, but this does not have to be always. Each of the areas are user definable in the sensors AI. Many different objects can be linked to a sensor. Sensors act as triggers, responding to the players positon. Sensors are also used to extend the range of other objects, since it has the largest range, by linking them to other objects. Sensors do not processs their links. SMART_PLAT_BIG The smart platforms are objects which requires two links, usually two sensors, but not always. They look at the links state. If the link is on, it will travel to that linked objects location. A third optional link if it exists will direct the platform to be active or inactive, by the links state. (on will activate, and off will inactivate). They all have modifiable AIs for their traveling speed. This platform is a big techno looking platform. SMART_PLAT_RED This platform is a big alien looking platform. SMART_PLAT_SMALL This platform is a small techno looking platform. SPRAY_GUN This is a gun object which, when active will shoot out sparys of shots. It is capable of shooting any of the weapon types. Use the same method as the ANT to change its weapon type , or modify its AI setting. The arc range and firing speed is user configerable. If it has no links it NOT will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. SPRING This object will allow the player to jump higher than normal. The longer the player is in contact with the SPRING object the greater it will push them. The strengh of the push is user definable. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. START This object sets the starting point for the player when the game is started anew. If the player is set behind objects when the game starts, then is nessecary to raise this object and same the level again with the raised START object. To raise objects, you need to use this procedure: --position mouse cursor over the object --use the <>> key to raise the object --if you want to lower it, use the <<> key It is possible to have multiple starting points in a level. The game will start with the last one placed however. STEP This object just allows the player to walk on it. It is useful as a steping stone. SWITCH This is a user activated object. It has two states, on and off. Other objects reference this object often as with the sensor, as it is a versatile tool. SWITCH_BALL This is a user activated object. It has two states, on and off. Other objects reference this object often as with the sensor, as it is a versatile tool. It can only be activated by a weapon attack. That is the player must shoot it for it to activate. It cannot be deactivated. SWITCH_DELAY This switch once activated will revert back into its default state after a certain user definable time delay. Its defualt state is off. SWITCH_DIMMER This is the only object that can modify lights. It requires two links, one to a switch or any object which can change states (on or off), and the other to a light which it modifies. Since light and object links are different, it is not nessecary in which order you link them to the SWITCH_DIMMER. The SWITCH_DIMMER can increase or decrease the size of the light, as set buy its AI. The SWITCH_DIMMER is one of the few objects which have different properties depending upon it orientaion. If you flip a SWITCH_DIMMER around, (by using the key with your cursor over the SWITCH_DIMMER you can flip it around) it will now function in reverse. That is it will make the light grow, instead of shrink. The SWITCH_DIMMER will only activate when the object it is linked to is in the on state. If it has no links it will NOT be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. SWITCH_DOOR This is an object which has blocking and non-blocking states, depending upon its link. It requires one link, which when on will set the SWITCH_DOOR to a non-blocking state, and when off will set the SWITCH_DOOR to a blocking state. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. SWITCH_MOVER This object requires two link, the first to the object to be moved and the second to any object which can change states (on or off). When the second object state is on, the switch mover will move the first object to its current position and then the engine will delete the SWITCH_MOVER. A SWITCH_MOVER with no link will be delete by the engine. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. SWITCH_ONCE This is a user activated object. It has two states, on and off. Other objects reference this object often as with the sensor, as it is a versatile tool. It can only be switch ONCE. TELE2 This is an object which requires one link. When activated, it will teleport the player to the postion of the object it is linked to. TELE2 can be linked to each other, thus creating connections within levels which have no direct connections. TP_DOOR This object requires one link. When activated it will teleport the player to another TP_DOOR. It is convention that TP_DOOR be linked to other TP_DOORs, only. TRACK_GUN This object when active, will track and shoot the player with a rate of fire and weapon type as defined by its AI, which is customizable. If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. TRAIN_MSG This object will print preset message to the player when near it. The messages are defined externally. TRAP_DOOR2 A door similar to the SWITCH_DOOR but is used on the floor. (see SWITCH DOOR) It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. TRAP_DOOR3 A door similar to the SWITCH_DOOR but is used on the floor. (see SWITCH DOOR) It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. WHO Another type of flying robot, with the same attributes as the FLYER. (see FLYER) If it has no links it will be active. It can be linked to a sensor or switch and will be activated when the sensor or switch is in an on state. Congrulations for making it to the bottom of the list. 3C) Prelimanry Level Designing, Editors Windows and Menus --------------------------------------------------------- ------------------------------------------------------------------------ Prelimanry Level Designing ------------------------------------------------------------------------ In starting a new level I first muse upon a generalization of what i want in the level. Will it be all action? will it have some difficlut puzzles? simple ones? what kind of puzzles or challenges can i make and what skill level is the player at? keep these in mind. The levels in general can be as large a you want it to be, but the default value of 100 x 100 tiles is usually large enough for most levels. Before you can begin putting down tiles and objects you first must learn how to tame the windows and menus that proliferate the world that we call ABUSE. ------------------------------------------------------------------------ Editors Windows and Menus ------------------------------------------------------------------------ To find a window or menu description in this text do a key-word search for it, review the Key Listings for proper spelling. First you will need to start the game in edit mode for you to access the editor that comes with ABUSE. To do this go to the current ABUSE directory and type in this line: abuse -edit The '-edit' is an Extended Option see section 1A for a complete listing of such. The game will now start, it will load level 0, the training level as default. This will suit our purpose for just learning the windows and menus. As you notice the game is not running, as of yet, and if you have already played the game you will notice there now is a menu bar at the bottom of the screen not present when you normally play, and 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 advance 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 command found on almost all programs. Load level is a command to load in levels. It has two method to which to do this. The first is the command line in which the user can input the path and name of the level which they want to load. The second is the file selection system using the mouse. The user can DOUBLE click on the file or directory to look for and load up the level they want. -------NOTE---------- The file selection system does not work for loading up files outside the current directory from which ABUSE was ran. Use the command line to load up levels from other directories outside the current one. Save level (S) is a command to save levels. Its methods are the same as the Load Level command, with the same limitaions. A shortcut key is . This command will save the level with the current name and directory structure as that of the current loaded level. Save level as is a command to save a level under a diffrent name from the current loaded level. Its methods are the same as the Load Level command, with the same limitaions. Save game is a command to save the level with your current position, and weapon status. When the level is loaded up the player will begin at the position from which is was the game was saved, with . This differs from the other save game commands in that when you use those it does not save your current position, and weapon status. New level creates a new level. Resize map is a command to resize the map (level). The default is 100 x 100 tiles. A tile is 30 x 15 pixels, so in pixel terms this translates into a 3000 x 1500 pixel world. To change the size of the world type in the new parameters and press , then press to close the window. Suspend non-players is a command to stop all objects from being processed, except the main character. You will notice that when you excute 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 desiging when you don't want to distrub the world when you roam about. Play mode toggle (TAB) is the command to start the game from edit mode. That is, allows the user to play the game as they normally would. Once you select this command you can only use the short-cut key (TAB) to return to edit mode. The (TAB) key will work in either situation. I suggest you use this key and forgo the menu command in that it is tedious since in level desiging it is nessecary to have to switch between these two modes very often. Normally it is in edit mode (has menu bar on bottom of screen) which an object can be placed and their AI modified. Save palettes save palettes to a file called edit.lsp. Which can be edited using a convential text editor. Palettes are windows which the level designer can place an assortment of foreground tiles in any arrangement and use to stamp down one copy or fill entire regions with. More on this and foreground tiles will be disscused later. Start cache profile is a level optimization command in which memory allocation for most often used sound effects and graphics are preloaded into memory for short load times when playing the level. -----------------------NOTE-------------------------- This command should only be used for finish levels. To use this command properly these steps must be followed --start a new level from the proper position and state --select this command from the menu system --enter play mode --go through level as you normally would (using save positions are ok) Each time a graphics animation, sound effect, etc. are used the game makes note of it. --contiune up until you reach the end level teleporter or end point of the level do not go to the next level. --reload the game from the menu --save the game from the menu or use --now choose the End cache profile command from the menu End/save cache profile is a command to 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 menus you will use the Load level command most often. The rest are occasionally used, and the Save level has a keyboard short-cut so it will not be nessecary 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 is a command to turn on and off the lighting. Lighting is a unique feature of the ABUSE engine, allowing the level designer to create new and intresting scenes simply by moving around the light sources. Set scroll rate 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 called the background layer. The parameters for the scroll rate is as such: 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 X div 2 the background could scroll twice as fast as the forground in the x and y axis. Center on player this command will center the screen on the main character. It's very useful because the abuse engine allows the level designer to displace the screens center from the main character in any arbitarty fashion. The short-cut key is . Add palette command allows the level designer to make their own custom palettes. Palettes are windows which the level designer can place an assortment of foreground tiles in any arrangement and use to stamp down one copy or fill entire regions with. To access a listing of available palettes press

. A window will pop up with the listings, choose one and double click on it. This will open the appropriate palette window. Sometime the palette windows will be shrunk so to be more managable. To unshrink them use the <+> key while the mouse is inside the appropriate window, and they can be shruken again using the <-> key. Palettes can be used to fill or stamp down one copy at a time. Once you have opened the appropriate palette window use the mouse and click on the palettes window bar (the top thick part the window) with the left mouse button and while keeping the left mouse button in the depress position the level designer can use the key to do a flood fill, and the to do a single copy stamp down. Keep in mind that the fill option will only fill an area composed of the same tile type and is continueous. To position the stamp or fill you have to use the upper left hand corner, this is same as the upper left hand corner of the set of tiles. If you fill or stamp down the palette with the upper left corner being inside the tile grid on screen (the game is composed of 30 x 15 pixel foreground tiles) it will fill to the upper left edge of tile, and so it is not nessecary for complete accuracy to use the stamping/filling feature of the palettes. Inherent in a palette is the ability to pick any tile in the set of tiles you have laid down thus they act as custom libiaries. To make your own custom palettes, pick the: Add palette command from the menu. Name your palette something represenitive of the palette. For our case something like 'test' will do. You will notice that the parameters for the X and Y size, don't worry too much about this since palette are easily readjusted. Choose the button, now you will see a palette window pop up in the upper left hand corner of the screen with the chossen name. To add forground tiles to your custom palette you first need to bring up the forground window. The key will bring up the foreground window. To expand the foreground window place your mouse cursor inside the foreground window and press . Multiple presses of will continuely expand the foreground window, until to a certain point and then it will return to a single tile wide window. If the forground tiles are shruken then use the <+> key to expand them and <-> to shrink them, with the mouse cursor inside the foreground window. Don't be concerned about moving around the windows on your screen to clear up the clutter. Use the <-> key often to shrink down unused palette windows or press on the upper left hand button on windows to close them. To choose a tile from the foreground window, use either the left or the right mouse button. You can only lay a tile down in a palette with the right mouse button. Go into the palette window of your choice and use the RIGHT mouse button to lay down your chossen tile. If you cannot lay down a tile in a palette window you might have a protection command activated. Go to the EDIT menu and look for the command: Lock palette windows If this command selection, has an asterick next to it then, it is active. Select it to deavtivate it. To expand a palette window you use the arrow keys. Place your mouse inside the palette window and press the arrow keys pointing right and down to expand the windows width and hieght respectivly. The arrow keys pointing left and up will shrink the windows width and hieght respectivly. To pick a tile from a palette use the LEFT mouse button. If you use the RIGHT mouse button you might alter the palette if you don't have the Lock palette window command activated. ----------------------NOTE--------------------------- If you shrink a palette window, any tiles contained in the prior area of the palette window will be lost. That is why there is a Lock palette window command to protect against accidential alteration of palettes. ---------------------NOTE---------------------------- You must save each time, after you add a new palette you want to keep in the game by using the : Save palettes command from the FILE menu selection. Saving a level DOES NOT save the palette information as well. Palettes are very powerful tools to a level designer. They will allow you to do complex fills and make repetive strucures easily, as well as being custom libiaries for tiles. Palettes are your friends. Toggle Delays will allow the game to run at the fastest speed capable for your machine. 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 . 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 . Clear weapons (z) When level desiging and debuging, since the abuse engine does not clear your weapons status when you reset the levels, it is nessecary to manually reset your weapons. This command will reset your weapon status, leaving you with only one weapon the laser rifle, and all wepaons ammo will be reset to zero. The keyboard short-cut is . Mouse scroll An optional feature is the ability to use the mouse as scrolling device. If this command is active (as indicated by an asterick), you can push the screen around the level by pushing the mouse cursor against the four boundaries of the screen. You can also use the arrow keys to scroll around the level, but be careful not to be in any unlocked palette windows when using the arrow keys as they could alter them. Lock palette windows this command prevents any accidential alteration to palettes. When this command is active (as indicated by an asterick) none of the palette windows can be resized nor the tiles in them changed. To deactivate this command select the it again. Raise all foreground command will, when active as indicated by the asterick, will make all the foreground that is laied down in the level, be of the raised type. Raised foregrounds are drawn in front of the character, that is the main character is obscured by them. When in edit mode all raised foregrounds will have an 'X' drawn over them. To deactivate this command select this command again. To unraise a raised foreground tile, go over the tile (positiing the mouse cursor over it) and press the key. If this is successful the 'X' should not be drawn over the foreground tile anymore, pressing the key again will raise the tile once more. The key can be used to raise and lower tiles. Toggle object names will when active display the name of all object on screen in green underneath the offending object. Toggle map (m) when active will display the map onscreen. The map is a global repsentaion of the level, with area boxes shown. Area boxes are areas when a player enters, a preset ambient and screen displacement will occur. The map can be scrolled left right up and down using the arrow keys or mouse cursor if mouse scroll is activated. Ambient is the global level of lighting. A player can only have one ambient at a time. However with the uses of these area boxes multiple ambiences can be achived. Once a player leaves an area box the screen displacement and ambient does not return the their previous values. The values of the screen displacement and ambient can only change when the player enters another area box, until that time the ambient and screen displacement is set as from the last area box the player entered. Screen displacement shift the center of the screen relative to the player center. These parameters and others can be accessed using the toolbar window. The toolbar window can be activated either using the menu command under the WINDOWS menu selection or the keyboard short-cut key . When the tool bar menu is active, you will see three icons. The first is a pencil, icon, when this icon is selected (single clicking on it with your mouse cursor) you can lay down tiles from you have currently chossen from either the forground window, palette window, or even the current level itself! To lay down a tile in the game just press the right mouse button over an area in the map. This mode is useful for using the fill option. To fill an area in a map with one type foreground tile use this apporach: --select a tile from any of three soruces -- current level -- foreground window -- palette window --find the desired area, composed of the same tile in continous array. --move mouse pointer over this area --press key to do a flood fill of said area To select a tile which is presently in the game, 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 that tile which is now selected. This selection mechanism will work in map mode as well. The next icon in the toolbar window is the arrow icon. This icon allows you to modify an area boxes parameters. However first you must lay one down. To lay down area boxes it is nesseary to use the last icon a box drawn with broken lines. To draw area boxes follow this procedure: --select the broken line box icon (positon your mouse cursor over it and press once with the left mouse button) --go to the map --click once with the left mouse button and while keeping it is still depres, drag out the area of the box. (Note that when you put an area box on the map it is the upper left hand corner of the box which is laid first and you can only drag the box area down and outward from there.) Now to modify an area boxs default settings you have to select the arrow icon. Follow these procedures to modify an areas boxs parameters. --select the arrow icon --go to one of the area boxes yellow enpoints (there are two endpoints per area box, one at the upper left and lower right) --DOUBLE click on one of the end points. (you will know when you have selected an area box after you double click on it, as it would have flashed color into that of a yellow box.) --this will bring up a window with several parameters: Ambient Ambient speed View x off View y off View x speed View y speed A brief description of each as follows: Ambient -- is the global lighting level it ranges from 0 - 63. Ambient speed -- is the increment at which the ambient changes from one ambient to the preset, if when the player enters the area the ambient is different from the presets. (note that is an ambient of a negative one is given then it instruct the computer to use the current ambient the player posses as the preset) View x off -- tell how many pixels to which to offset the player centers to that of the screen in the x axis. If the value is negative it will shift the screen left and a postive value will shift the screen right View y off -- tell how many pixels to which to offset the player centers to that of the screen in the y axis. If the value is negative it will shift the screen upwards and a postive value will shift the screen downwards. (note that the defualt values set the screen center close to that of the players. Unlike the ambient, which a -1 value will egual no change. If the value of the previous screen offsets were not -1, when a player enters an area with a -1 value for the offset, the screen will shift.) View y speed -- is the speed at which the screen shifts in terms of pixels. View x speed -- is the speed at which the screen shifts in terms of pixels. Click on the (check) button to close the area box extended option window, or the (big red x) to delete the area box. The keyboard short-cut key is . To get out of map mode press once more. Mastering the map, will allow you to gain the big picture in level design. Shrink to 320x200 (F10) is a command to show a full screen size at 300x200 resoultion. This is useful if your working in hires and want to get an idea of what the player will see in low resolution. Disable view shifts if this command is activated (asterick next to it in the menu selection) it will not shift the view when the player is in an area box. This is very useful when developing a level in that the accidental entering of an area box while working in the level can cause annoying unwanted view shifts. To deactivate this, just reselect it under the EDIT menu. Ultra Smooth draw (U) this will draw the characters as smoothly as possible. This command currently is under development and should not be used. Disable Autolight (A) this will disable the autolight feature. The autolight feature will turn off the lighting if the frame rate drops below 9 frames per second. Disable this if your working on a slow machine and want to see the lighting no matter the speed. Double selection will deactive this as with all the others. The keyboard short cut is the key. Show FPS/Obj count this command will print the number of frame per second and the number of objects being processed currently at the upper left hand corner of the screen. Record demo this will begin a recording, of the character while the game is running which can be viewed later using 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 keyboards equavilents and can greatly speed up level desiging. Mastering this will allow you to make many levels. 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 selection will bring up the foreground window where you can select the tiles from which the main character interacts with (walk on, blocked by, etc) To expand the foreground window place your mouse cursor inside the foreground window and press . Multiple presses of will continuely expand the foreground window, until to a certain point and then it will return to a single tile wide window. If the forground tiles are shruken then use the <+> key to expand them and <-> to shrink them, with the mouse cursor inside the foreground window. Note that not all foreground tile can interact with the player. The keyboard short-cut is the key, it will toggle the foreground window. The color black (0 color) is drawn as a beige color in the foreground tiles, for indentification purposes. Background (b) this selection will bring up the background window. The abuse engine has the capability for 2 layers of parallaxing. The top layer is called the foreground layer and the bottom called the background layer. These tiles are laided on the second layer. It is drawn behind the foreground layer, and will show through only in areas where there was the color black (0 color) in foreground tiles. To lay down a background tile use this approach. --select a background tile from the background window by moving your mouse over the background tile and pressing either mouse button. (note you cannot use the <`> key to select already laied down background tiles, like that of the foreground tiles.) --move over to the place where you want to place the background tile --press the RIGHT mouse button to lay down a background tile. Only the right mouse button will work. (note that because of the grid method of the Abuse engine you can only lay down background tiles in a 60x30 pixel grid, however in more advance options the size of the background tiles can be changed.) The keyboard short-cut key is , it can be toggled to turn off and on the background window. It is almost impossible to lay down background tiles correctly when it is covered by foreground tiles. There is an option to turn off selective layers, the lighting, bounding areas, and links. This is achived using the Layers window. Draw layers (L) the Layers window can be opened using this selection. It is useful in clearing up the clutter when developing levels. For example, when laying down background tiles it is sometime nessecary to turn off the foreground layer. This is done by pressing on the button labeled FORE. The foreground should be not visible once the button is depressed. To turn the foreground back on depress the button FORE once more. What follows is a description of the function of each button: FORE-turns on/off the foreground layer BACK-turns on/off the background layer BOUND-turns on/off the bounding boxes of the foreground tiles. Bounding boxes blocks the player, so the player can walk on floors and is stopped by walls and such. This mode is useful for determing whether the junctions of the foreground tiles bounding boxes line up correctly. LIGHT-turns on/off the lighting. Lighting is a unique feature of the ABUSE engine, allowing the level designer to create new and intresting scenes simply by moving around the light sources. This mode is useful when you want speed, as the lightting slows down the machine when on. Also it is useful in that, when you are developing the levels with the lighting on, it can be distracting. It is advisable to disable the lighting until the very end of the level design process. LINKS-turns on/off the links between objects. 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 particualar purposes as will be disscussed later. The links can be so dense as to obscure the foreground, then it is a good idea to turn them off. (note , when the links are off the light icon will not be drawn.) The keyboard short-cut is the keys. This is also toggleable. Lighting (l) this selection will bring up the lighting window. Contained within this window are the various light sources which can be placed in a level, and an ambient button. Lights are repsented by a white , circular or semi-circular icon, depending upon it shape refelcted by the icons shape. To drop a light in the game follow this procedure: --move your mouse cursor over to one of the light icons in the light window. --click on using either mouse button -move your mouse cursor over onto the screen (note the light icon draged with your cursor) -positon the light icon where you want it and press the mouse button to drop it in place. Sometimes you may want to modify the lights defualt size, and shape. There are several ways to modfiy lights sizes and shapes. These are the procedures: --The first method involves the use of just the keyboard to change the lights shape --position the mouse cursor over the light in question (or follow the above procedure and acuqire a light, note do not drop it.) --once your mouse cursor is over the light press the key to pick it up (note if you do not have to do this if you just created the light and it is already picked up.) It is worth mentiong that it is possible to pick up any object in the game using the key when your cursor is over the object. --now using the arrow key you change the lights shape --The second method for changing the lights shape involves the use of the extended option window --position the mouse cursor over the light in question -press the mouse button (either), this will pop up an extended option window. -modify the W and H fields for the lights, which corresponds to the width and height of the light.(note these feilds accpet small numbers.) --The first method for modifying the lights size involves the keyboard --position the mouse cursor over the light in question (or follow the above procedure and acuqire a light, note do not drop it.) --use the <+> and <-> keys to increase and decrease the size. --The second method invovles the use of the extended options window --position the mouse cursor over the light in question -press the mouse button (either), this will pop up an extended option window. -modify the L2 field to change the size of the light. (note the L2 can accept very large numbers.) The keyboard short-cut is . Lighting is an intergral tool, in creating mood in the levels. Learn how to use the lighting well, but do not over use it. Palettes (p) This window gives you a listing of your palettes. See Add palette command under EDIT for a more complete understanding of the palettes. The keyboard short-cut is

Objects (o) Objects are the core of the game. They are all the characters which you interact with. Each one is unique, as defined by its AI. This window gives you a listing of all the objects in the game. See Object Listings and Descriptions for a complete overview of all the objects in the game. Some basic object utility commands are as follows: picks up character, when cursor is over character filps character in x axis delete character clone characters position character to a grid (character must be picked up) positon character in the middle of a grid, (character must be picked up) kills last link kills first link The keyboard short-cut key is Console (/) This will bring up the console window. The console window can accept command lines inputs. It can also be used to modify the game and receive information about the games state. The keybaord short-cut is key. Tool Bar (a) This will bring up the toolbar window. It is used in conjunction with the map view, to add, modify area boxes and place tiles in the map view. See the Toggle map command from the EDIT menu. Search (s) This is currently under development, it will search for characters within a level. do not use Profile (P) The profile window will display the current characters and rank their CPU time. The higer up on th list the greater the CPU time taken up by that character or groups of characters. Save positions This command will save all the window positons which are open to their current location. Thus when repopened will repappear at these locations. You have now entered the next level, good bye and good luck. 4D) Level Designing Hints and Praticalities ----------------------------------------- ------------------------------------------------------------------------ Level Designing Hints and Praticalities ------------------------------------------------------------------------ If anyone has read this far, they either have to be crazy, or very determined. You make the call. In level desiging I ususally do some preplaning, as to what kinda of challenges i want in the level and a general pacing of the level. I feel that the only way to learn it is to get in there and start laying down tiles. But, if you don't want to draw your own tiles, you need to famalirze yourself with the tile set. To do that 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 intrest in and learn how they look like and what they do. Use the layers window , with the bounding option turned on, to see the bounds of each tile. It is advisable to create your own palettes so you don't have to memorize the location of your favorite tiles in the foreground window listings. Also try out the objects, to see how they react with the player. It is very recommendiable when makeing a level to save often. When testing out the level, you may make a mess of all the characters, killing them and such. Use the restore key, it will load up the level again , but will keep you at your current location and weapon status. The restore key is . The restore key will reset the level to what level was loaded. If you saved the game at a RESTART_POISTION then it will restart the game using the savegame not the original level, you need to check to make sure this is not the case, becareful not to save a messed up level. Making a level is an incremental process, building block by block as you go. Try not to be too myopic in level desiging, keep in mind the global goals and paceing of the levels. That is keep the action steady and gradually building up to the end point. This is usually done with proper sequences of challenges, and increasing difficulty levels. Making levels draws a great deal from experience. Keep it up and you will eventually find a rhythme from which good levels come. With all that said, level desiging is a rewarding process filled with little twist and turns that will keep people enthralled, and entertained for hours on end. Use it wisely grasshopper. You have now entered the next level, good bye and good luck, this ain't no spectactor sport, play it at a high voulme, and i am a donut. ------------------place standard disclaimer here --------------------