fRaBs  special levels
Main - Updates - Single Player - Deathmatch - Level Editing - FAQ - Credits - Links

    [1-4] Level Editing Basics
   ---------------------------
    [5-7] Advanced Level Editing Topics
   ------------------------------------
      [8] Making Pong Levels
    [8.a] About the Pong Addon
    [8.b] Creating a Pong Level
    [8.c] Object List
    [8.d] Tips and Tricks
   ----------------------------
      [9] Creating Deathmatch Levels
    [9.a] How the Abuse Engine Handles Deathmatch
    [9.b] A Word on the Respawner
    [9.c] Making Fun Deathmatch Levels
   ----------------------------------------------
     [10] Other fRaBs Addons
 

[8]
Making Pong Levels

------------------------------------------------------------------------
[8.a] About the Pong Addon
------------------------------------------------------------------------

        The Pong addon was created by Jonathan Clark, the original lead
programmer for Abuse, as an example of what bizarre things can be done
with his Abuse engine. At the moment the addon is rather simple, but
with the aid of a couple ace LISP programmers, the Pong addon could load
multiple levels in order... at the moment it can only load one. The good
thing is that it comes with many other levels that you can load separately,
created by me in my spare time. Another good thing about this addon is that
it is extremely easy to create levels for it. To play the game itself,
run pong.bat in /addon/pong. To run the Pong level editor, run pongedit.bat
in the same dir. Finally, some of my sample levels are in /pong/levels.
These can only be played in the editor.

------------------------------------------------------------------------
[8.b] Creating a Pong Level
------------------------------------------------------------------------

        This is so easy, I guarantee you'll be making playable levels in
mere minutes! Open the Pong editor and press 'f' to look at the foreground
tiles. These are the tiles that you hit with your ball. There are 3 main
types: A gray tile which cannot be destroyed by anything other than a block
of dynamite adjacent to it; a set of colored tiles that are destroyed upon
contact with the ball or a laser; and dynamite tiles which can destroy all
the blocks in their blast radius. There is a small set of background tiles
for the Pong addon as well.

        Next you add a Start position and your paddle... both are found in
the Objects menu. Then you can add a ball, a ball powerup, or anything
else that you want your level to have at the outset. Ball powerups are gray
while laser powerups are red. The colored blocks and the dynamite blocks
can give you either of these powerups at random. When the blocks are hit
the powerup items fall slowly towards the bottom of the screen.

        When you lose all the balls on the screen, a new ball is respawned
on your paddle. At the moment the addon gives you infinite lives, but this
'feature' will be changed in the future.

------------------------------------------------------------------------
[8.c] Object List
------------------------------------------------------------------------

BALL
        Adds a Ball to the screen. You can have as many balls on screen as
        you like, as long as your CPU can handle them all. Chances are, if
        you have a Pentium or something, you'll be able to add more balls
        than you would ever need. You gain a new ball on screen when
        obtaining the gray pills.

EXPLOSION
        When the Dynamite tiles blow up, they leave an EXPLOSION. You can
        also add these to your levels from the outset, for graphic effect.

LIGHTHOLD
        A LIGHTHOLD allows other objects to have lights attached to them.
        Simply link the LIGHTHOLD to the light and to the object you wish to
        hold the light. The order in which these links are created does not
        make a difference. The light will now follow the other object wherever
        it goes. Attach a LIGHT to a MARKER using a LIGHTHOLD tool, and then
        attach the marker to an OBJ_MOVER and you have moving lights. :)

MARKER
        An object which does nothing, but can hold links for objects
        which need to be linked to other objects.

MISSILE
        Your paddle can shoot these when you obtain the red pills. They can
        also be added to the screen on the start of your level.

OBJ_MOVER
        This object allows 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 object which is to be moved.
        By linking OBJ_MOVERs in a circle, the object can be kept moving
        indefinitely. When the OBJ_MOVER moves the 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.
        You can modify the speed at which it will move in its AI.

PADDLE
        Adding this object to your level will make the engine crash, so don't
        do it! When in the Pong editor you automatically have a paddle placed
        on screen.

PILL1
        This is the gray pill that gives you another ball on-screen.

PILL2
        This pill will give your paddle the ability to shoot little red
        missiles straight upward. The missiles can shoot any bricks except
        for the indestructable gray ones.

START
        This is where your paddle will default to at the beginning of your
        level. From this point your paddle can move left and right until it
        runs into a brick or obstacle.

TILE_BLOW_UP
        When you hit a normal tile, it plays this little disintegrating
        animation. If, for some reason, you want one of these animations in
        your levels from the get-go, then you can add one of these.

------------------------------------------------------------------------
[8.d] Tips and Tricks
------------------------------------------------------------------------

        Remember to make your levels at the upper left-hand corner of the
screen and wall off the left, right, and upper borders with gray tiles.
Otherwise the ball will fly off the screen, which does not scroll in this
addon. Additionally, do not put dynamite tiles near these 'border tiles'
because the dynamite will destroy them when hit and your ball will have a
little hole in which it can escape your level. :)

        Lighting cues can be used to good effect in this addon. There is
no SWITCH_DIMMER but you can use LIGHT_HOLDs and OBJECT_MOVERs to make
moving light sources.

        As you'll quickly find out, dynamite tiles can be linked together
for chain explosions. These rock, but don't put too many in your level or
or it will be much too easy. Look at the other levels in the Pong directory
for level design ideas. Also, play classic breakout clones such as Arkanoid
in your favorite emulators... these always provide inspiration for levels.

[9]
Creating Deathmatch Levels

------------------------------------------------------------------------
[9.a] How the Abuse Engine Handles Deathmatch
------------------------------------------------------------------------

        Making a Deathmatch Level in Abuse is not too much different from
creating a typical single-player level, but there are a few differences that
a level editor should take into account. For basic information on how Abuse
Deathmatch works, visit the Deathmatch page.

        Firstly, when you start an IPX Deathmatch game, it makes the current
session of Abuse quit out, and it actually starts up Abuse again. Instead of
loading abuse.lsp though, like the game normally does when you start it up,
it loads /addon/deathmat/deathmat.lsp. This is important for a number of
reasons. It means that many of the addon LISP files referenced in abuse.lsp
are not loaded, and thus in Deathmatch mode you do not have access to many
objects. This is OK for the most part... you typically don't need to have
any of the exotic enemies that the fRaBs addons provide in your deathmatch
levels. However, there are other objects that deathmat.lsp doesn't load. If
you want to be really safe, you can run Abuse in edit mode and start up a
mock deathmatch with just yourself by going back to the title screen and
starting a 1-player deathmatch. Then, when you press TAB and go back into
edit mode, you'll be left with all of the objects and foreground that is
normally accessible in a fRaBs deathmatch game.
 
        This isn't really necessary though. Just remember that if you're
using things other than doors, weapon ammo, health, and gun turrets, then
these objects might not appear when you play the level in deathmatch. Try
comparing abuse.lsp to deathmat.lsp if you want to compare which files are
loaded. One important thing to remember is that the Death Ray IS NOT LOADED
when you play fRaBs deathmatches, for gameplay balance reasons.

------------------------------------------------------------------------
[9.b] A Word on the Respawner
------------------------------------------------------------------------

        In basically any Deathmatch game you ever play, there is a constant
supply of incoming weapons and health that, upon being picked up, respawns
after an set period of time. The way you accomplish this effect in the Abuse
engine is with the RESPAWNER. This object has a few quirks that you should
take note of, that weren't noted in the original Abuse object list.

        Some powerup items, such as the POWER_ITEMS and the HEALTH items, can
just stay suspended in the air, while the ammo objects fall to the ground.
Depending on which object you link the RESPAWNER to, you need to make sure to
position the RESPAWNER differently. For the items that stay suspended in the
air, you can put the respawner wherever you want. However, with falling objects
such as ammo, you need to position the RESPAWNER on the ground just right, or
else the ammo that respawns will be 'faded' - you can still pick it up, but the
ammo object itself is difficult to see.

        The RESPAWNER has a little yellow line beneath it. The yellow line
underlines the word 'Respawn' and then it has a little tail that goes down
approximately three pixels. The bottom of this tail should be lined up just
above the floor's 'Bounding Box' (press Shift+L and click 'Bound' to see the
floor's Bounding Box). If it isn't, then your ammo objects will fade when they
respawn.

        With any object that you link the RESPAWNER to, the original object
should be out of sight and access from the player. If you pick up an object
which a RESPAWNER is linked to, the RESPAWNER cannot respawn that object again.
If you look at the Deathmatch levels that come with fRaBs, you'll notice that
all the objects which the RESPAWNERs link to are somewhere off the screen,
hidden behind a foreground tile (press 'r' on a tile to raise it and hide an
object behind it). This is the convention you want to follow when making your
own deathmatch levels.

        A note about using the respawner to respawn gun turrets and ROB1s...
it is not possible at the moment in Abuse to respawn a turret that has
properties other than the default... i.e. if you make a Lightsaber turret and
place it off screen, and have a RESPAWNER respawn that turret, the turret that
respawns at the location of the RESPAWNER will not have the same attributes.
If you notice the respawning ROB1s in /netlevel/bugs.spe you'll find that they
all move towards the right. You cannot make a ROB1 that respawns and moves to
the left. Yeah, it sucks, but that's the way it is until someone programs a
better RESPAWNER.

        Finally, remember that you have to link the RESPAWNER to the ammo or
health objects, and NOT THE OTHER WAY around. :)

------------------------------------------------------------------------
[9.c] Making Fun Deathmatch Levels
------------------------------------------------------------------------

        There is really no guideline to making a fun deathmatch level, but
there are ways to make a really lame one. First of all, dead ends just suck.
You want every little section of your deathmatch level to be fairly easy to
access from any point on the map. This may involve using well-placed objects
such as TELE2s or TP_DOORs, and multiple START points.

        Secondly, you want fairly good ammo such as rockets or grenades
available near any starting location. You don't want to make it so someone
can just sit near a start point and rack up on lightsaber or firebomb ammo
and just shoot whoever respawns at the start point, however. It's not a good
idea to have too much powerful ammo anywhere in a level, because usually it
disrupts the balance of play.

        Teleportation items are good when used in moderation, but if you make
a level where someone can just keep going through teleporters to evade attack,
the game becomes cheap. TELE2s take a second before transporting you to your
destination, but when you go through a TP_DOOR you arrive at your destination
instantaneously. Looping teleporters can create gameplay problems in smaller
levels.
 
        Well placed sound and lighting cues can give your levels character.
It may also be good to use INDICATORs to inform the player of the state of
a certain recurring event in the level.

        There are some engine limitations to take note of when making your
deathmatch level. When two players are being affected by one object, such as
a PUSHER, then strange things can happen. One player may be affected by
the PUSHER while the other can walk freely against it. Make sure you do lots
of playtesting to iron out problems like these.

        Finally, to make a really fun deathmatch level, you should have at
least one 'gimmick'. :) Take 'A Little Hot' (alitlhot.spe) for example. The
best ammo is in a precarious spot where the player can be gunned down very
easily if they don't watch it. Be creative, and add a unique touch that maybe
hasn't been tried with any deathmatch levels you've seen, and make sure you
test your gimmicks until you know they work the way you want them to.

[10]
Other fRaBs Addons

------------------------------------------------------------------------
[10.a] Other fRaBs Addons
------------------------------------------------------------------------
** Work in Progress **
 

<-- Back to Level Editing Basics

Justin Cassidy
messiah15@dog.com