groundzeromod

 

Constructor Toolset

Page history last edited by Paul 2 yrs ago

Overview

The constructor toolset allows designers to rapidly create random and highly destructable enviroments.

At it's simplest a constructor object represents a list of other objects, this object may be placed in a map in the same way that any other object is. During map load this list is parsed and each object in the list is then spawned. The objects in the list may have special key values assigned that change where the object will spawn, or which direction it will be facing; these offsets are relative to the constructor objects postion in the world. The most powerful aspect of constructors is their ability to place other constructors in their object list; the result of which can be visually represented as a tree. The constructor at the bottom (or top if you like) may spawn a few objects who populate the next level in the tree, and then call other constructors. Each one of these constructors  may in turn call other constructors, gradually filling out the top layers of the tree.

 

There are three basic types of constructors: Multi Constructors, Random Consturctors, and Selective Constructors. Multi Constructors spawn a list of objects into the game world. Random constructors operate similarly but instead of spawning every object in the list, they spawn only one. The object that is spawned choosen randomly based on a percent chance. Finally Selective Constructors work with a group of one another to spawn a single instance of some object at one of the Selective Constructors. Those Selective Constructors who are not selected (all but one) will spawn something else instead.

 

All constructors are defined using entityDefs. These are blocks of text found in any .def file in the Doom3 file system. Normally entityDefs are used to define a particular object, such as a tree, light, zombie, or weapon.

 

Multi Constructors

 

 

Random Constructors

 

 

Selective Constructors

Comments (0)

You don't have permission to comment on this page.