ns/releases/performance-3.0.5/source/doc/Map Making Guidelines.htm
2005-07-14 17:38:07 +00:00

1727 lines
106 KiB
HTML

<html>
<head>
<title>Natural Selection Mapping Guidelines</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<h3 align="center">&nbsp;</h3>
<div align="center">
<table width="90%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><font size="+2">Mapping guidelines for
Natural Selection </font></b></font></td>
<td colspan="2">
<div align="right"><font color="#FFFFFF"><b><font size="+1">Version
.7a, last updated July 25, 2001</font></b></font></div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p>&nbsp;</p>
<table width="85%" border="1" cellpadding="2" cellspacing="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><font size="+1">Introduction</font></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> This guide will provide all the info needed to create levels
for Natural Selection. It describes the ideas and philosophies
needed to make levels that are true to the game's spirit. This
document is the official reference for all game specific entities
as well. Please post on the <a href="http://overmind.org/cgi-bin/UltraBoard/UltraBoard.cgi?action=Headlines&amp;BID=4&amp;SID=335">mapping
forum</a> or write <a href="mailto:flayra@overmind.org">flayra@overmind.org</a>
if you have comments or questions on anything here. Good luck!</td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><font size="+1">Design philosophies</font></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>There are some design philosophies that should be observed
to make cohesive maps that work well for Natural Selection.</p>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Rules to know about</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>When the game first starts, the marines have a pre-game
sequence (<a href="http://overmind.org/strathl/OldGameDescription.html">link</a>)
on their dropship which gives the aliens have some time
before the marines can advance through the spacecraft.
During this time, the faster aliens should have time
to reach almost all the way to the marine starting location,
to wait quietly in the rafters or dark corners. The
marines will want to storm out of their dropship immediately,
but there shouldn't be enough time for aliens to get
all the way to the room the marines deploy into. </p>
</td>
</tr>
</table>
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Basic structure</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>The marines don't know where the aliens starting location
is, so there needs to be three to five starting locations
that are roughly equidistant from the marine starting
location. This fact, along with the desired intentional,
committal and strategic nature of the game, imply a
circular, web-like connected map structure, with the
marine staring point at the center. The desired optimal
behavior for the marines is advancing in one or many
squads, spreading out to find the alien base. Speed
is not to be stressed, a minimum of losses should be
more valuable to winning. The marines should spread
out and find the source of the aliens with some urgency,
but not at a high expense of resources. In the beginning
of the game, the marines have to commit to one or more
branches of the web. A squad that has chosen one branch
shouldn't be able to quickly fall back and regroup with
members that chose another branch, the aliens should
have the ability to cut squads off from each other.
</p>
<p>This basic structure should also have areas where the
aliens can take alternate paths, not accessible to the
marines. Ventilation shafts, electrical tunnels and
power conduits allow aliens to ambush and flank vulnerable
marines. These alien-only paths should connect the alien
hive rooms and with each other and allow the aliens
to travel between adjacent web branches. They shouldn't
be overdone though, as the marines need to be able to
easily understand which openings should be watched or
blocked off if they want to fortify an area. There can
be occasional hidden openings, but most should be obvious
gratings, still fans, holes and access tunnels. The
aliens should be encouraged to use the areas accessible
to the marines about half the time. Making tunnels harder
to get to or a farther distance than the regular hallways
could help encourage this.</p>
<p>There should be a good choke point or two between the
marine starting point and each hive room, so the marines
can decide to build a safe area, or choose locations
for deploying siege weaponry or phase gates. Ideally
there would be at least one marine-accessible location
from outside each hive room that the marines could shoot
at the hive from. A desired viable strategy would be
finding the hive, fortifying an attack point by welding
all openings shut and deploying siege and defensive
marines. The aliens should prevent this from happening
or upgrade to anti-siege aliens before this happens
or pay the price. In other words, the marines should
be allowed to stage a good attack on the hive, not only
by running into the final room and engaging the aliens
close up on their turf. Generally there should safer
areas where the marines can cover each other and leapfrog
forward, connected by less safe narrow passageways.
The ultimate goal is organized marine movements by squad,
advancing and covering each other.</p>
<p align="left">Strive to make the lighting feel dark,
but never actually be dark. A near-dark corner or two
is fine, but never make areas that are completely dark.
This promotes replay and reduces general frustration.</p>
<p align="center"><img src="devshots/alien3.jpg" width="400" height="357"></p>
</td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>The marine starting point</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> The marine starting point should be the center of the
map. There should be at least two exits leading out and
it should be easily defensible with turrets, mines and
overwatch. There should be no ventilation shafts into
this area, only hallways or wide passage ways that multiple
marines can advance through or hold. It is undecided if
aliens will be allowed into this area and how they will
be prevented from entering if not.</td>
</tr>
</table>
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Alien hive rooms</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> At the end of each of the web-branches should have
a medium-sized area suitable for alien spawning and for
a tank-sized alien hive structure. There should be five
to ten alien spawning points arrayed around or within
the hive structure. These rooms should also be conducive
for fighting for the aliens, so there should be short
passageways and cover suitable for flanking, turning and
enveloping. There could also be a level-over-level or
vertical aspect that would be hard for marines to fortify.
There should be many passageways in and out of these rooms,
ones that link up to other adjacent hive rooms but are
only accessible to aliens. There should be occasional
passageways that are accessible for aliens or marines
with jetpacks, but travel between most hive rooms should
require going halfway back to the marine start first.
There are also certain desired visual characteristics
of hive rooms (it's not decided exactly what form the
hive rooms will take yet, coming soon).</td>
</tr>
</table>
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>The marine/alien continuum</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>Good levels will let players recognize where they are
at all times and hint at which way to go. One way of
doing this is by having the marine starting location
be the highest altitude of the map, then having the
path the each alien hive room be below that. That way,
a marine knows which direction to go to run towards
or away from an enemy. Most importantly, he knows how
to run away and rejoin his team if he wandered off and
is feeling scared...</p>
<p>Additionally, the look and feel should change between
the marine and alien starting points. Choose an artistic
style for each side, then carry it through fully. Make
it as though the jungle-like aliens have somehow transformed
their areas of the ship into their natural habitats
from their homeworld. A flooded boiler room could be
decorated with with draped cables and floating debris
to simulate a &quot;bog&quot;. A hive room could could
have treelike structures with connecting &quot;branches&quot;,
formed by fallen transmitters and posts. Make the marine
base camp completely dry, then have some dripping water
nearby, changing to puddles of standing water close
to the hive rooms, then having the hive rooms be waste
deep water. Make the marine side &quot;dead&quot; and
the alien parts &quot;living&quot;. Consider choosing
two drastically different color or lighting schemes
and slowly morphing between them as the players travel
from one area to the other. Try making the marine side
technological and controlled, the alien side organic
and primal, then see how slowly you can transition between
the two. Or make the marine side quiet (good for marines
to hear the alien growls and squeals) then create a
massive fan room and generators that drone out voice
communication and scare the marines as they get farther
away. Or use only ambient and lights coming from fixtures
on the marine side, then only ominous texture lights
towards the aliens. Have little &quot;ambient movement&quot;
on the marine side, then have moving fans, malfunctioning
elevators and unexpected gusts of steam erupting from
pipes as the marines get closer. </p>
<p>This continuum will really help players know where
they are, and get them to feel the tension they should
as they leave their territory. Most importantly, get
creative and work whatever continuums you've chosen
into your level as deeply as you can. </p>
</td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Shared experience and
landmarks</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> One of the sub-goals that the game tries to accomplish
is to have memorable and cinematic games and to strengthen
to bonds between players. Games where you say &quot;remember
when you punched the elevator button and backed away and
as it slowly opened we say the elevator was FULL already
and turned to run....&quot;. One way to accomplish this
is to have sections of the map which cause a group of
players to pause and look in the same direction, or to
wait for another player to do something. An event that
causes players to realize for a moment, that they're all
doing the same thing. The marines especially should be
watching each other often, so their actions should be
relevant. Creating landmarks like this also makes it easy
to describe parts of the map during or after the game,
allows impromptu battle plans and allows for more reacting
by both sides. If the marines hear a a bay door opening
and they're all in sight, they know the aliens have breached
an area and can react. If the aliens listen for a tram
to start up, they can visualize where the marines are
and try to track them (or the marines can outwit them
by hitting the button and then not using it). So these
landmarks and shared experiences promote interaction between
teams and teammates, and makes the games more enjoyable
and memorable. Try to add at least a few of these elements
per map, especially around chokepoints. Make certain areas
wide enough for multiple players to walk, fly or scuttle
through at once or a quadruple-wide ladder that multiple
players could use. Create somewhat noisy freight elevators,
loading bays, a door that can only be opened by having
two buttons being pressed by two players at once, bridges,
clocks that show you when an event is going to happen,
anything that gets players to recognize each others actions
or makes one player dependent on another. These landmarks
are much more important for the marines, as the aliens
generally will lead coordinated but separate attacks.</td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Fleshing out the world</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> The ambiance is especially important in this game.
Maps can create many powerful custom effects. One great
way to do this is to create detailed little sub-areas
of the map that can only be viewed, not entered. Create
a little side-passage with a half of a broken electrical
door showing exposed wires, puddles and blinking lights
behind it. Create wire gratings that only partly conceal
a hopelessly detailed mess of pipes and and wheels. A
hole in an elevator shaft that reveals a cafeteria that's
now a grotto. A crack in the wall that shows a hollowed
out area filled with cables. <a href="http://www.planethalflife.com/crinity">Crinity</a>
is the true master of this and it makes a huge difference
in creating ambiance and wonder in his maps.</td>
</tr>
</table>
</div>
<p>&nbsp; </p>
</td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>The ready room and the absence
of menus</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>Another sub-goal of this game is to reduce the amount of time
players spend in a non-immersive environment. So instead of
the text menus to choose your team as in other games, this game
has a the concept of the &quot;ready room&quot;. The theme and
layout of the ready room can fit into the theme of the map but
keep it easy to use. At minimum, there should be a door with
a sign that says &quot;Join marine team&quot;, another door
that says &quot;Join alien team&quot;, one that says &quot;Join
a auto-assigned team&quot; and the last that says &quot;Watch
game&quot;. When you join a server, you spawn in immediately
into the ready room. You choose what you want to do by interacting
with the map, i.e., by walking through one of the doors, or
just hanging out in this area and talking with other players
in the ready room, waiting for the match in progress to end
or the map to change. There is also one more door that should
say or indicate &quot;disconnect from server&quot;.</p>
<p>The ready room should be an unconnected area of the main map,
but make it far enough away from the main game area so ambient
sounds from one area aren't heard in the other. There should
be at least ten info_player_start entities, as all the players
on the server could spawn in here at once. Make the room dramatic
and make the routes to each door an inviting choice. Maybe an
animated hologram of a marine or an alien inviting players to
their doors will get people into the mood of your map. Use animated
lights on runways leading to the doors, spawn point facing and
other factors and railings to lead players out of the ready
room into the game. Try making the spectator door up a small
stairway to a balcony that implies the height needed to adequately
watch the game in progress. Have klaxons going off at the beginning
of the round for dramatic tension. When a game that can't be
late-joined has started, use the entities below to close the
appropriate doors dramatically and display other instructions.
</p>
<p>When a player wants to leave a game in progress, he can exit
through a door at their starting point labeled &quot;leave game&quot;
or whatever is appropriate and clear for your map theme. </p>
<p>The ready room is a dramatic way to wrap the game and serves
as a mini meta-game in itself. Unfortunately, it's also more
work for the level designers. If this idea doesn't work out
so well, I'll be adding traditional text menus in..</p>
</td>
</tr>
</table>
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Alien design considerations</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> The aliens have many movement types including wall-running,
gliding, flying and &quot;ollying&quot; (jumping off walls) Additionally,
aliens come in different sizes, the biggest of which is a bit
bigger than the general player model. Try to make areas that accommodate
and promote these movement types and try to let the alien players
skill level scale. Do this by making glides or &quot;ollies&quot;
that are really hard for aliens to make, but possible. Make vertical
columns in the ceiling that house lights and are accessible from
a tunnel, so gliders can silently glide down from them. Make a
few big wide hallways near the alien hives so the bigger aliens
don't have trouble attacking. More to come in this area... </td>
</tr>
</table>
</div>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><font size="+1">Visual entities</font></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>env_gamma</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>This entity changes your monitor's gamma ramp for your
map. Half-life engine games don't modify your monitor's
settings, so they have an effect gamma slope of 1.0.
Making your gamma ramp steeper will make your colors
more vibrant and will give lots more contrast to your
maps. Quake III does this to great effect (John Carmack
calls it &quot;overbrightening&quot;. For a detailed
technical paper on this, check the <a href="http://home.inforamp.net/%7Epoynton/GammaFAQ.html/">here</a>.
What you really need to know is that changing this setting
can give your map lots more contrast make everything
look much more vivid. However, this setting drastically
affects your map's lighting, so you won't want to tweak
this when you're almost done your map. Try to decide
early on what setting you'll use by doing some letting
tests, then stick with it. There may be some compatibility
problems with gamma values over or around 1.7, so don't
depend too much on the gamma being exactly what you
set it to.</p>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Desired map gamma</b> -This is the gamma
slope to change the all players' monitors to when
playing your map. The default is 1.0. Don't set
it higher than 2.0 or there's a good chance some
monitors won't be able to switch to this. A good
set of values is around 1.4 to 1.8. If a monitor
can't switch to the value you set, it will try
again with a slightly lower number until it succeeds,
or until the gamma is 1.0.</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>env_particles</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>This entity places a particle system in a level. It
can only be used to place a particle system that has
been defined in avh.ps, it can't be used to create a
new one. To create custom particle effects, use <b>env_custom_particles</b>.
This entity may not be very useful and will probably
be phased out, so skip this for now and read about <b>env_custom_particles</b>
below. This entity is fully switchable, like a light
or any other target in Worldcraft. It's fields are as
follows:</p>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Name</b> - Target name that can be triggered
with a button or switch. Triggering it will toggle
it on and off, like a light.</td>
</tr>
<tr>
<td><b>Name (from .ps) </b>- Type the name of the
particle system that it should from avh.ps. Example:
&quot;ShotgunSmoke&quot; or &quot;DustLight&quot;</td>
</tr>
<tr>
<td><b>flags</b>: &quot;start on&quot; (checking
this means the particle generates particles without
having to be triggered first)</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div align="center">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>env_custom_particles</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>This entity lets you create your own custom particle
effects for your map. They include things like light
mist, volumetric fog (simulated), haze, dust motes,
smoke, steam, fire, etc. Almost any type of effect can
be created with this system, including effects that
generate other types of effects. It is just like any
other switcheable, moveable Worldcraft entity and can
be triggered with buttons and moved. There are a lot
of fields, but it is quite advanced and use of it will
be richly rewarded. </p>
<p><b>Important notes:</b> </p>
<p>All floats are currently limited to 1/8 increments
due to network packing of data. This means if you enter
a value of .2, it will be truncated to .125. For best
results, enter all floats as multiples of 1/8.</p>
<p>Particle systems can have a big affect on frame rate,
but don't be afraid to try out systems with tons of
particles. Experiment and see what actually affects
your frame rate, you'll probably be surprised it isn't
what you think. Size, drawing type, number of particles
and collision all affect frame rate to some extent.</p>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Name</b> - Target name that can be triggered
with a button or switch. Triggering it will toggle
it on and off, like a light.</td>
</tr>
<tr>
<td>
<p><b>Generation entity (invisible)</b> - This
is the name of the entity that is particles
will be generated inside. This will generally
be a func_illusionary with render_mode additive
and and FX amount of 0 (so it's invisible) but
it can be any entity you want. The type of shape
that the particles will be generated in is specified
by the next parameter, &quot;Generation shape&quot;,
not only by the shape of the brush! Furthermore,
the generation shape used will be the <b>axis-aligned</b>
version of this entity, so rotating this shape
will have no effect. This is will be expanded
to use the actual shape of the entity if necessary
(but that's a lot of work).</p>
<p>If no generation entity is specified, the point
where the <b>env_custom_particles </b>is place
is where particles will be generated from (I
think, not sure if this is tested!)</p>
</td>
</tr>
<tr>
<td>
<p><b>Generation shape</b> - This can be one of
the following shapes Point, Box, Sphere or Blob.
In all cases, the generation shape is centered
at the the &quot;Generation Entity&quot;'s center.</p>
<p>If Point is chosen, the center of the generation
entity is used to as a starting location for
newborn particles. </p>
<p>If &quot;Box&quot; is chosen, then the axis-aligned
box defined by the Generation Entity is used.
For each new particle, a random point within
this box is used for the starting location.
</p>
<p>If Sphere is chosen, a sphere with a radius
equal to the x-dimension of the Generation Entity
is used. </p>
<p>If Blob is used, the blob's parameters are
read from the &quot;Generation Shape Parameter&quot;
field. Blob is very useful for generating particles
in an organic and versatile fashion. </p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td><b>Particle sprite</b> - Browse to the sprite
that will be drawn for each particle. Only textured
sprites are supported. Generally the best type
of sprite will be additive sprites, but any can
be used.</td>
</tr>
<tr>
<td><b>Animation frames in sprite</b> - This field
lets each particle be animated. To have a sprite
animate, make sure the &quot;Particle Sprite&quot;
has multiple frames of animation, then enter the
number of frames to use here. If a sprite has
10 frames in it, any number up to 10 could be
entered. This field can only be used with particles
that don't live forever, i.e., Particle Lifetime
(not Particle System Lifetime) has to be set to
some number above 0. The sprite will animate evenly
over it's life, so it will play the number of
frames entered in this box over its life. </td>
</tr>
<tr>
<td>
<p><b>Generation shape parameter</b> - This is
an extra parameter that is only used when the
generation shape is specified as &quot;Sphere&quot;
or &quot;Blob&quot;.</p>
<p>Sphere - radius 1 is the axis-aligned x-width
of the generation entity created, this parameter
is radius 2. Particles are generated between
radius1 and radius 2, around the center point
of the generation entity. This generates particles
in the shape of a hollow ball.</p>
<p>Blob - The center of the generation entity
is called P. This parameter is called alpha.
Blob generates points such that the point P
is the center of a normal probability density
of standard deviation alpha. The density is
radially symmetrical. The blob domain allows
for some very natural-looking effects because
there is no sharp, artificial-looking boundary
at the edge of the generation entity.</p>
</td>
</tr>
<tr>
<td><b>Maximum particles </b>- This is the maximum
number of particles that this particle system
can have at any given time. If it has this many
particles, no more will be generated until if
and when one of it's particles dies. This takes
priority the &quot;Generate Rate&quot; below.</td>
</tr>
<tr>
<td><b>Generation rate (particles/second) </b>-
This is how many particles per second will be
generated per second. The system will stop generating
particles if the number entered in &quot;Maximum
Particles&quot; is reached.</td>
</tr>
<tr>
<td><b>Particle size</b> - This is a somewhat arbitrary
size value that is used when drawing each particle.
A big speck is around size 5, your average smoke
particle might be around 15. Experiment. A negative
value would probably be very bad.</td>
</tr>
<tr>
<td><b>Particle system lifetime</b> - How long the
particle system generates particles in seconds.
If -1 is specified, the system will never die
and will generate particles forever. Once a particle
system dies, it's particles will still live on
until they die on their own, the particle system
will just stop generating new particles</td>
</tr>
<tr>
<td><b>Particle lifetime </b>- A particle lives
this long, in seconds. Once this time runs out,
the particle will die and no longer be drawn.
Specifying a value of -1 means the particle will
live forever.</td>
</tr>
<tr>
<td>
<p><b>Starting velocity shape</b> - This can be
a &quot;Point&quot;, &quot;Box&quot;, &quot;Sphere&quot;
or &quot;Blob&quot;.</p>
<p>Point - Particles are generated with a fixed
starting velocity equal to v0, v1, v2 (see next
parameter).</p>
<p>Box - Particles are generated with a random
starting velocity in the range v0,v1,v2 to v3,v4,v5.
You can think of v0,v2,v3 as the negative corner
of a box around the origin and v3,v4,v5 as the
costive corner of a box around the origin. To
generate particles with a starting velocity
between -.5,-.5,-.5 and 1,1,1, the params below
would be -.5,-.5,-5,1,1,1,0,0. To generate particles
with upwards velocity but spraying out to the
sides (like a fountain), you could try something
like 50,-10,-10,80,10,10,0,0.</p>
<p>Sphere - v0,v1,v2 is the center point, v3,v4
are radius 1 and radius 2. Particles should
be generated with a velocity between v3 and
v4, randomly distributed in a circle. I believe
v0,v1,v2 are ignored or write and ask me. :)</p>
<p>Blob - v0,v1,v2 is the center point, v3 is
the standard deviation. See generation shape
parameter documentation for Blob for more info.
I believe v0,v1,v2 are ignored.</p>
</td>
</tr>
<tr>
<td>
<p><b>Starting velocity parameters</b> - Seven
floating point values, all comma-delimited.
Make sure there aren't any spaces there and
that the format stays exactly the same or it
may not work. :( See Starting Velocity Shape
above to see how the numbers are interpreted..</p>
<p>v0,v1,v2,v3,v4,v5,v6,v7</p>
</td>
</tr>
<tr>
<td><b>Scale particle over time</b> - If this value
is different than 1.0, the particle will scale
to this value towards the end of its life. For
example if you wanted a smoke particle to grow
to three times its size (to dissipate) you could
enter three here and it would gradually grow.
This field will only have an effect if particle
lifetime is something than -1 (i.e., the particle
can't live forever).</td>
</tr>
<tr>
<td><b>Max alpha</b> - Enter a value from 0 to 1.
If other than 1, generated particles will draw
with a max alpha of this value. If you want a
very subtle and faint particle effect, you could
enter a value of maybe .4 here. The default is
1.</td>
</tr>
<tr>
<td><b>Render mode</b> - There are five blend modes
that particles can be drawn in. The Half-life
SDK seems to be broken however so I would only
use the most useful one for now, additive mode.
</td>
</tr>
<tr>
<td><b>Particle system to generate on collision</b>
- This is a powerful feature. If you type the
name of any other particle system name here and
check the &quot;collide&quot; flag, than particles
that hit the world or a player will die and generate
a new <b>particle system</b> at that point. Rain
drop splatters are simulated using this method
in one of the example maps below. For best results,
use particle systems with a generation shape of
&quot;Point&quot; here, as the point will represent
the point of contact.</td>
</tr>
<tr>
<td>
<div align="center">
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Flags</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Start on </b>- Checking this
means the system starts on and
doesn't have to be triggered initially.
</td>
</tr>
<tr>
<td><b>Particle density </b>- This
option is very useful for particle
systems with a large generation
shape. If checked, this means
that particle rate (above) will
be interpreted as a factor times
the volume of the generation shape,
not actual particles per second.
This means you could make a snow
storm over an area and then just
make the generation area bigger
and the snow would fall with the
same density. It calculate the
number of particles to generate
per second as the (generation
shape width/100) * (generation
shape height/100) * (generation
shape height/100)*generation rate.
</td>
</tr>
<tr>
<td><b>Fade in </b>- If this is
checked, and particle lifetime
(not particle system lifetime)
is finite, then the particle will
fade in gradually over it's lifetime.
If max alpha is set, it will fade
from 0 to max alpha, otherwise
it will fade from 0 to 1.</td>
</tr>
<tr>
<td><b>Fade out </b>- If this is
checked, and particle lifetime
(not particle system lifetime)
is finite, then the particle will
fade out gradually over it's lifetime.
If max alpha is set, it will fade
from max alpha to 0, otherwise
it will fade from 1 to 0. If both
fade in and fade out are checked,
it will fade from 0 to max alpha
then back to 0. </td>
</tr>
<tr>
<td><b>Use world gravity</b> - Checking
this applies the world gravity
to each particle. </td>
</tr>
<tr>
<td><b>Tris, not quads </b>- Using
this option draws all particles
as triangles instead of squads
(pointy side up). The texture
coordinates are &lt;0,1&gt;, &lt;.5,0&gt;,
&lt;1,1&gt; (starting at bottom
left, going clockwise). Quads
use texture coordinates of &lt;0,1&gt;,
&lt;0,0&gt;, &lt;1,0&gt;, &lt;1,1&gt;.
This will roughly halve the performance
hit of drawing the particle system
but may not look good for all
systems.</td>
</tr>
<tr>
<td><b>Minimize edges </b>- This
parameter doesn't work quite right
yet but it attempts to look at
particle size and change the generation
area so particles aren't generated
so as to leave their generation
area. They could still move outside
their area, but this could help
reduce lines when particles z-buffer
with world.</td>
</tr>
<tr>
<td><b>Constrain pitch </b>- Checking
this means particles won't rotate
up or down to face the player.
This can look better for some
types of &quot;falling&quot; effects.</td>
</tr>
<tr>
<td><b>Collide</b> - Checking this
means the particles will collide
with the world. After colliding,
they will disappear and if a collision
particle system is specified,
they will generate that at the
point of collision. Using this
could have big performance implications,
so be sure to notice and tweak
accordingly.</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</div>
<p>&nbsp;</p>
<div align="left"> </div>
<p>&nbsp;</p>
<p align="right">&nbsp;</p>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="5">
<tr>
<td colspan="2" bgcolor="#666600"><font color="#FFFFFF"><b>Tweaking
your particle systems </b></font></td>
</tr>
<tr>
<td>
<p>There are so many parameters, how do you make your
particle system look good? You can tweak your particles
in real-time, inside the game! Here's how. </p>
<p>1. Create your custom particle system in Worldcraft.
You may need to set up temporary entities to make it
easy to repeatedly trigger your particle system. Compile
the map, then test out your map inside Natural Selection.</p>
<p>2. Walk over to the particle system you want to tweak
so you can see it.</p>
<p>3. Bring up the console (hit the ~ key), type &quot;<b>listps</b>&quot;,
then hit enter. It will show you a list of all the particle
systems that the game knows about right now. Most of
these are used by the game itself, but the custom ones
that your map created should be listed at the bottom.
Each particle system should have the name you assigned
in Worldcraft. Find the name of the particle system
you want to tweak.</p>
<p>4. While still in the console, type &quot;<b>editps
&lt;particle system name&gt;</b>&quot; where the second
parameter is the name of the particle system to tweak
(without the &lt;&gt; or &quot;'s). Close the console
by hitting ~ again, then you should see a message that
says something like &quot;found particle system, hit
F4 to edit&quot;. If you don't see this, or you see
an error message, try again, but make sure you type
it exactly as shown by the <b>listps</b> command.</p>
<p>5. Now hit F4. You now have access to most of the parameters
specified in your <b>env_custom_particles </b>entity,
but you can change them in real-time! The label next
to each slider always shows you the current value of
that slider. Go crazy and tweak your system while it's
playing, occasionally hitting F4 to temporarily hide
the editing controls so you can walk around and see
everything from other angles. When you're happy with
your parameters, write down the values you changed,
or take a screenshot. Now go back to Worldcraft and
enter these values back into your <b>env_custom_particles</b>
entity and you're done!</p>
<p>Note. Whenever you change the &quot;max particles&quot;
parameter, all the active particles are immediately
deleted. This is a technical limitation, not a bug.
Typically you'll just have to wait a couple seconds
after changing this before the particle system is back
to normal.</p>
</td>
<td bgcolor="#000000">
<div align="center"><img src="devshots/particle-edit.jpg" width="400" height="300"></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td>
<div align="center">
<table width="85%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Ready room entities</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_player_start</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> These are the spawn points for the ready room.
All players use this, because they haven't chosen
a side yet. Make sure to have at least ten of these
in the ready room. See the above section on the
ready room for crucial information.</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_join_teamone</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> When a player touches this, he will join the
marine team, if possible. If the team is full or
the game can't be joined, he will observe that team,
and join when he can. This is an invisible entity
that should be placed inside the &quot;Join marines&quot;
doorway in the ready room. </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Info_join_teamtwo</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> When a player touches this, he will join the
alien team, if possible. If the team is full or
the game can't be joined, he will observe that team,
and join when he can. This is an invisible entity
that should be placed inside the &quot;Join aliens&quot;
doorway in the ready room. </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_join_autoassign</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> When a player touches this, he will join the
team with the fewest number of players, if possible.
If the teams have the same number of players, he
will join a random team. If the game is full or
the game can't be joined, he will observe that team,
and join when he can. This is an invisible entity
that should be placed inside the &quot;Auto-assign&quot;
doorway in the ready room. </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_spectate</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> When a player touches this, he will get a free-roaming
spectator view of the game in progress. He is not
allowed to join either side for the game in progress,
no matter what, as he has now had the opportunity
to see the whole map. When the next game starts,
he will spawn back in the ready room and be allowed
to join a team manually.</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><i>info_leave_game
(not implemented)</i></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> When a player touches this, he will leave the
game in progress and go back to the ready room.
One of these should be placed near each base and
perhaps a few others around the map for ease of
use. They should be placed in highly visible place
and be clearly marked but should only be able to
be used deliberately. This is currently unimplemented
and may never be.</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><i>info_leave_server
(not implemented)</i></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> This is placed in the ready room, away from from
the join team doorways. Touching this will disconnect
from the server. This is currently unimplemented
and may never be.</td>
</tr>
</table>
</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="85%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Main game entities</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>hive</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>This entity specifies where a random alien hive
could spawn in. Most maps will want at least three
of these, with four probably being the best number.
One of these hives is chosen at random for the
first hive, then the <b>info_teamtwo_start</b>
entities around it are used to spawning in players.
Later in the game, more hives will come online
at the other hive locations. Choose a model to
specify what the hive looks like. </p>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td>
<p><b>Model</b>: This is the model that
is displayed for the hive. There is no
artwork for it yet, I'm using &quot;models/hive.mdl&quot;
for now. The model is only drawn when
the hive comes online. </p>
</td>
</tr>
<tr>
<td><b>Max dist to nearby spawn points:</b>
When an alien spawns at this hive, the game
randomly selects a spawn point within this
range of the hive. In this way, the map
creator can place alien spawns how he likes
without worrying that aliens spawning at
the wrong places. It allows maximum flexibility,
so two hives could be very near each other,
but separated from a wall, and the spawns
could still be made to function correctly.</td>
</tr>
<tr>
<td><b>Hit points</b>: This is how much damage
a hive can take before it dies. When all
of an alien team's hives are destroyed,
they can no longer respawn or get points.
The alien team could still win though...the
team that outlives the other is the winner.</td>
</tr>
<tr>
<td><b>Armor value</b>: How much armor the
hive has. Armor lessens the damage the hive
takes, the same way armor protects the player
(and monsters) in Half-life.</td>
</tr>
</table>
</div>
<p>&nbsp; </p>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_teamtwo_start</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> At least ten of these should be placed in around
each each <b>hive</b> entity. When a player joins
the alien team, or respawns after death as an alien,
he comes back to one of these. </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b><i>info_dropship
(not implemented)</i></b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> This will somehow define the safe area for marines
and the aliens may not be allowed in this zone,
or it may have other special properties. There should
be a group of info_teamone_start entities placed
nearby or within this zone.</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_teamone_start</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> This is a spawn point that's used when a player
joins the marine team or when a marine respawns
after dying or being brought in as a reinforcement.</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>func_seethrough</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>(classified for now, coming soon)</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>func_viewheight</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> (classified for now, coming soon)</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>func_waypoint</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td> (classified for now, coming soon)</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>info_mapextents</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>(classified for now, coming soon) </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>func_weldable</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<p>This entity lets you create areas of the map
that can be welded shut or cut through, by the
marine's use of the welder. Create the geometry
as it is completely opened, then create a brush
that represents the part to be welded. For a grating
to cut through, this might be a square piece of
grating. For a ventilation shaft that could be
closed off, this might be a metal plate or something
that could've been created out of nearby materials.
Place the brush in place so the area is &quot;closed&quot;,
then create an <b>func_weldable</b> out of it.
Note that <b>func_weldables</b> must be enabled
before they can be welded on. This means a weldable
could be triggered to a door state, so the door
must be closed before welding could commence.
Many weldable entities will use the &quot;start
enabled&quot; flag. If you can't weld your entity,
make sure this is set first.</p>
<div align="center">
<table width="90%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><b>Health </b>- This is how many hit points
the weld has after it is closed. This is
only valid for closable welds, not openable
ones (see the flags below). Set to -1 to
create an entity that once welded, is impervious
and cannot ever be destroyed.</td>
</tr>
<tr>
<td><b>Weldable time </b>- This is how many
seconds of welding it takes to complete
the job. This is either how much time it
takes to seal off an area or cut through
it, depending what flags are set. Most weld
jobs should take upwards of twenty, some
quite a bit longer that that.</td>
</tr>
<tr>
<td><b>Weldable sounds </b>- Currently unimplemented.
This may eventually be the file list of
sounds that welding this entity produces.
Is this worth putting in?</td>
</tr>
<tr>
<td><b>Start alpha </b>- No longer implemented.
Welding used to cause the entity to fade
in, but no longer does. This set the beginning
alpha, so potential weld jobs were always
visible.</td>
</tr>
<tr>
<td> <b>Target to trigger on finish</b> -
This trigger will fire when the welding
is completed. This can be used for cool
and complex visuals such as girders falling,
sparks and sounds triggering, doors falling
open, etc. Good idea, Hectate!</td>
</tr>
<tr>
<td><b>Material </b>- This is the type of
material the welding entity looks like it
is made of. When cutting through, this is
the type of material chunks will break and
fall. When applied to a closable weldable
entity, this will be used when and if the
welded entity is destroyed by damage (see
the health field above). Either way, chunks
are made out of the geometry and sounds
are played, much like func_breakables.</td>
</tr>
<tr>
<td>
<div align="center">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Flags</b></td>
</tr>
<tr>
<td><b>Start enabled </b>- Means the
entity doesn't have to be &quot;switched
on&quot; before the marines can
start welding it.</td>
</tr>
<tr>
<td><b>Weld opens, not closes </b>-
Check this to create a weldable
entity that is cut open instead
of shut. When this is checked, the
entity will start off visible and
will disappear and break into pieces
when welding finishes.</td>
</tr>
<tr>
<td><b>Always draw, don't fade </b>-
No longer implemented. This used
to disable fading as construction
occurred. </td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>&nbsp;</p><table width="85%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Sound entities</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p align="left">&nbsp; </p>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>target_mp3audio</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p align="left">This entity lets you trigger
.mp3 playback in your maps. This can be used
for subtle background creaking and groaning,
the hum of space, a dash of music, simulated
gunfire in the next room, etc. This entity
is useful because it allows very high-quality
sound in maps, for smooth clean (almost inaudible!)
bass, and static-free sound playback. The
compression of .mp3 files also means you can
include more and longer sound samples, with
shorter downloads than .wav files. This entity
is fully triggerable, so maps can turn sounds
on and off and work with all sorts of triggers.
</p>
<table width="90%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><b>Sound name </b>- This is the relative
path name to the .mp3 file to that this
entity plays. By convention, .mp3s should
be placed in the sound directory and should
be named &quot;mapname-sound.mp3&quot;.
This will help prevent file name collisions
and files from being overwritten. For
example, if your map is called ns_derelict,
this might be: &quot;sound/ns_derelict-gunfire.mp3&quot;,
&quot;sound/sound/ns_derelict-shipcreaking.mp3&quot;.
This might change in the future to force
this convention. MP3s can be any format,
any size and can be stereo. MP3s are streamed,
so it doesn't really matter how big it
is, less than 200k will be loaded at any
given time.</td>
</tr>
<tr>
<td><b>Volume -</b>The base volume to play
the sound. Valid values are from 0 to
255, with 255 being full volume. The actual
volume a player hears the sound will be
modified by the <b>fadedistance</b> parameter.
When a player is very close to the <b>target_mp3audio</b>
entity, the sound will play at this volume.</td>
</tr>
<tr>
<td><b>Fade distance (inaudible here) -
</b>This is the distance in world units
at which the sound becomes totally inaudible.
As the player moves away from the entity,
the sound fades out. </td>
</tr>
<tr>
<td>
<div align="left">
<table width="90%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td><b>Flags</b></td>
</tr>
<tr>
<td><b>Don't fade volume</b>- The
sound will ignore the player's
position and fade distance and
always play at the same volume.</td>
</tr>
<tr>
<td><b>Looping </b>- The .mp3 will
loop until the entity is triggered
off. </td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<p>&nbsp;</p>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Marine buildings</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p align="left">Any building that normally need
to be built by players start fully contructed.
TODO: Add a team designator if allowing marines
vs. marines or aliens vs. aliens.</p>
<table width="90%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><b>turret - </b></td>
</tr>
<tr>
<td><b>siegeturret - </b></td>
</tr>
<tr>
<td><b>phasegate - </b></td>
</tr>
<tr>
<td><b>cameratower - </b></td>
</tr>
</table>
</div>
<p>&nbsp;</p>
</td>
</tr>
</table>
<p>&nbsp;</p>
</div>
</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="85%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Equipment</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p align="left">These entities won't be used in most
Natural Selection maps, but they can be used for unique
scenarios or for testing or training maps. Weapons,
building and equipment are normally purchased by marine
players during the course of the game. Use these entities
to place &quot;free&quot; stuff around the level.
Each weapon starts with the default amount of ammo.
</p>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Marine weapons</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p>&nbsp;</p>
<table width="90%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><b>item_machinegun </b>- </td>
</tr>
<tr>
<td><b>item_shotgun - </b></td>
</tr>
<tr>
<td><b>item_heavymachinegun - </b></td>
</tr>
<tr>
<td><b>item_grenadegun - </b></td>
</tr>
<tr>
<td><b>item_nukegun - </b></td>
</tr>
<tr>
<td><b>item_flamegun - </b></td>
</tr>
<tr>
<td><b>item_genericammo - </b></td>
</tr>
</table>
</div>
<p>&nbsp;</p>
</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="#666600">
<td><font color="#FFFFFF"><b>Marine buildings</b></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div align="center">
<p align="left">Any building that normally need
to be built by players start fully contructed.
TODO: Add a team designator if allowing marines
vs. marines or aliens vs. aliens.</p>
<table width="90%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><b>turret - </b></td>
</tr>
<tr>
<td><b>siegeturret - </b></td>
</tr>
<tr>
<td><b>phasegate - </b></td>
</tr>
<tr>
<td><b>cameratower - </b></td>
</tr>
</table>
</div>
<p>&nbsp;</p>
</td>
</tr>
</table>
<p>&nbsp;</p>
</div>
</td>
</tr>
</table>
<p align="left"> Coming soon, sample maps showing how to every
custom entity here.</p>
</div>
</td>
</tr>
</table>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>
</tr>
</table>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
</body>
</html>