[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.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