Post tutorial RSS Adding props

Props bring life to a level. They're things the player and characters seem to interact with. If included wisely in a map, they give a sense of place , of reality, of life.

Posted by on - Intermediate Mapping/Technical

Originally posted here: www.planetavp.com/modmaker/

Created by: William "modmaker" Bostjan

Mirrored here for archival purposes

PropTypes vs. Props

  • Things that fill a level
  • Objects the player interacts with
  • A Dropship with ramp

Life happens in the details. Props bring life to a level. They're things the player and characters seem to interact with. If included wisely in a map, they give a sense of place , of reality, of life. Be careful how you juxtapose various props, make sure the fit the location. Kitchen utensils in a garage, looks wrong, its jarring to the player.

Props make a level come alive and help add detailing.

We've already looked at a lot of things that require a bit of work to set up. But its becoming obvious that none of this is really rocket science. Well this is the single easiest way to make your maps look awesome with hardly anywork at all.

You first set the cursor where you want the PROPTYPE to go. The placement of the cursor is very important. You might have to adjust the placement of the object so it fits right and looks right in the level. Proptypes tend to be set MOVE TO FLOOR=TRUE. But these setting are semi coded in an specific attributes file.

prop26

While in brush MODE, rightclick, and select ADD OBJECT, (you can also use the Worlds menu and click on Add an object) and then scroll down the objects list to PROPS, if it is not fully expanded, click on the PLUS + sign and then choose PROP TYPE. The first proptype on the list is the default that is placed in the level.

propertab9

If it's not the one you want don't worry we're going to change it. Go to the properties TAB, and you will see a model name, click on the down Arrow and the entire list of available models will be listed, just go through them. And find those true gems.

proptypechoose02

Here's where you will find the vegetation and the misc. prop items and the machines and the ALIENS encased in Liquid. As well as the vehicles and other models. Everything to bring your maps to life. You place each one of these in your map and process. and then adjust its placement relative to location in the map.

There are some issue with any particular model being solid or not, and you might have to build an invisible bounding box for the model so people don't walk through it.

proptypedebris03

PROP and PROP TYPES in general should be set to SOLID=FALSE with a a TransluscentWorldModel Invisible BLOCKER placed in the same location so the player can't pass through it.

propblocker05

But use a the MAIN PROP OBJECT for more features?

You should consider using the the PROP object for more control over your props. You can adjust scale, you can have them play animations, you can make them non solid, and you can choose their debris type, you can also adjust their scale and change there textures. There is considerable more control with them as well. In general use Proptypes for repetitve, non movig props, and use the PROPS object for animated type props. That's not a hard and fast rule, but that's how I do it. The advantage is you can set the model file and the texture file. Why is this important? Well for example it is the only way you can get the burnt out APC into the game. And then list the two textures required for the interior and exterior, and then set the textures to work properly with the chromakey=true flag , which was a problem I had solved for Windebieste's Gladiator skirmish map.

prop06

Let's take a look at using a prop object. And then secondly, how to make an animated prop:

1. create a prop object

2. name it something - for example, "dropship_1"

3. in the prop object's model property, tell it to use the model file you need - for example, dropshipanim.abc

4. in the prop object's texture property, tell it to use the texture file you need for the model's skin - for example,

dropship.dtx( this requires four .dtx files listed in the field for the dropship)

5. open modelEdit and load the model

meditdrop01

6. look at its animations, and remember the name of the animation you want it to play. It works like vcr, hit the play and select the animation. The exact spelling of the animation name is important. Upper/lower case is important.

7. create a trigger object - in that trigger object you can send a message to the prop object to get it to play its animations. in this example you might have a trigger with:

msg dropship_1 (anim door_opening);

You could also set up a series on animations. Lets assume the door opening animation take 8 seconds. After that we would want the soor of the dropship to remain open so we would set up the animations to foolow eachother.

msg dropship_1 (anim door_opening); msg dropship_1 (animloop door_open);

anim=animation animloop=animation loop

the animation will continue to loop until a new message is sent. If you just want an open Dropship like in verloc, there is a static dropship model with its ramp down, that does not require the animloop message. This is important cause every animation message will require processor time in game. They add up. Use the static model whenever possible.

Here is another animation that could work particulrly well as part of a keyframer. We explain how to attach prop models to Keyframer in another tutorial

meditdrop2

Adding Interactive Objects

  • AmmoBox
  • Story Objects
  • Active Props and Plants
  • Alien Egg (and the dreaded Facehugger)
  • Turret / Sentry Gun

Adding the bells and whistles. Most these things are not complicated. You can easily add objects to your level to increase the interest and interaction in your level. Its just a question of how much, and how complicated you want to make it. Realize that each of these give a small hit to the processor in game. Its negligible and incremental. If you have 20 of them side by side, it could cause problem on slower machines. You have been warned.

These can easily be added to maps using the ever available PROPS OBJECT. Right Click to call up the objects menu and expand props and choose what you need.

prop26

When you think about it, the AMMO BOX is basically a complex pickup. It can contain all the same objects, but it offers it in one collection. Great for multiplayer.

propammo28

The various skins correspond to a code for the various teams, Marines, Corporates and Predators. They share the same basic commands.

STORY OBJECTS

The three basic Story Objects are MEMO, PC, and PDA. you can choose any one of them respectively, each one valid for a different location and or situation.

propstroy27

When you click on the property tab you get various options. The important one is the TEXT ID. It corresponds to STRING RESOURCES stored in the CRES.DLL. You place the number of the string and it displays it in game when the story object is activated.

propstory38

Also notice the Bitmap field. The PCX file that is indicated there will be the background of your message. Choose wisely. Keeping the MAX views to -1, will give you infinite view potential, and thats a good thing. And as usual for most props, (except perhaps on terrain) MOVETOFLOOR is set to TRUE.

You can tell an entire Backstory with the Story objects?

If the actual AvP2 game is any indication, huge amounts of the story were expositioned through these story objects. they are a quick, organized method for giving observant and investigative gamers, additional information they can use.

You will need something like RESHACK or VisualC++ 6.0 to look into the cres.dll and read the resource strings.

These other props have basic AI components?

They see the player or other characters and react to them as threats or Aliies. The most powerful of these is the Sentry Guns/TURRETS which can target. The other's function with a proximity radius. Player enters the radius, Active PropObject reacts.

A STRIKER is a great example of an active prop.

It will target onto a player in much the same way as a SIMPLE AI ALIEN. No AI volume necessary. Its just a simple code, Target the player, and attack.

Included in these, though it is merely availbe to mess up the marine's motion tracker is the Beetle. It flies around and generates a blip on the MT. But it does not attack the player.

striker

Similar to this is the PLANT. it works on the concept of a proximity mine with an easily set DETECTION RADIUS in dedit unit. Player enters the radius, and the plant exudes a damaging vapor.

plant

EGG

The Egg Generates a facehugger, which can be simple or Standard. If you haven't done anything with AI yet, you need an AI Volume for standard AI, but no Volume is necessary for the simple AI.

egg

Again it works off the proximity radius. Player's bounding box, and in this case a AI's bounding box, (you can choose this) will activate the egg. And if the player does not leave the area, the egg will open, and spawn a FACEHUGGER. The facehugger then can take on all the elements of an AI. You'll need to look into AI Basics.

SENTRYGUNS

Before you do anything, decide what way you want your gun to face. Though sentries have an active radius they point in a direction. By default the gun places it's 0 degree to North (same like all object, in the floor view)

tripod

Click on rotation to set.

Yaw: Left and Right.

Pitch: Up and down

Roll: A combination of the above

turret03

DamageProperties lets you define parameters for the gun, like how much armor and hitpoints it has, and whether or not it can be destroyed

Most of the flags are self explanatroy, note both TargetDelay, which is the detect time, (here very quick it will shoot you) and IdleTimeOut defines what the gun does when it's not shooting at targets. It will either go to sleep (default) or it will remain online by the "sweep" mode.

The important thing is the listing of different species and how the gun will react if it sees them.

Interest If gun sees species, it'll point at the species but not shoot. The gun returns to it's idle state if the species leaves the gun's tracking range.

Target Will shoot the species until it's either dead or gone.

Ignore Sentry gun will behave as though it were friendly to the species. It will not fire at the species and will ignore them.

Preferred orders the gun to shoot at the species first before it kills any other species. Example. If we set predator to "preferred" the gun will not fire at other species until the predator is killed first.

Motion sets the angle at which the gun pivots about it's tripod.

turretmotion04

SweepPauseTime: How many seconds the gun waits before moving back along it's 'Yaw' path.

Think of the placement to make a hallway like this defendable. What kind of yaw setup and pitch setup would protect the area from intrusion and still not have the guns destroy themselves.

Defending a Hallway T junction:

3 hallways come together at a T-Junction.

Only other limitation you only have two guns. And think about a sense of balance, there should be a way for the opposing team to come in and destroy the guns from behind. Some sort of a drop down from vent scenario.

Ceiling Mounted Turrets have a different model, dtx texture and attributes list. You can easily change it by typing turret2 in place of tripod.

turret205


Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.