The world of games, 3D engines and level editing is where you will come across the terms "subtractive environment" and "additive environment". This refers to the way which the 3D world is created. In a game or a 3D engine which allows the user to interact with his surroundings (for example, by walking around), the world is everything which the user (or player) can see. The type of environment defines what is outside of the world. Different 3D engines can use different types of environments depending on what the developers and those who create the worlds (or maps, levels, lands, whatever) have chosen. Often, a company which is developing a product which uses a 3D engine licenses one which already exists, rather than do their own. This is a very common practice in the computer games business.
In an additive environment, the beginning consists of emptiness
- usually called the void
. The void is endless
. When the designer
creates something, for example a room
, he creates a space within the void by sealing it off - the easiest way to do this is to simply create a hollow
cube. Something like a vast landscape
with a beautiful sky
is created by first designing the terrain, buildings, trees et cetera
, and then surrounding it all with a "skybox
", a large hollow box, the insides of which show the sky. This box is necessary to keep the void out, since the world and the void must always be kept separate. A hole in the world
is called a "leak
", since the void is "leaking" in.
Some popular 3D engines using additive environments:
The Quake engines (Quake, Quake II, Quake III Arena)
The MaxFX engine (Max Payne)
The Half-Life engine (Half-Life)
LithTech (Aliens vs. Predator)
As is probably obvious, a subtractive environment
is the opposite of an additive environment
. In a subtractive environment, there is no void. Before there is a world, there is only an infinite solid
. To create a world, designers must subtract bits from this infinite solid, creating hollow spaces for the user (player) to exist in. This eliminates the possibility of leaks, but many designers still favour the additive
environment because it is easier to manipulate. In fact, a known way of working around the subtractive style editing is by first subtracting a huge cube, creating a void (of sorts) in the middle of the infinite solid
- and then working additively in the middle of this (fake
) void, expanding it as necessary.
Some popular 3D engines using subtractive environments:
The Unreal Engine (Unreal Tournament, Deus Ex)
Serious Engine (Serious Sam)
The Dark Engine (Thief, System Shock 2)
Geo-mod Engine (Red Faction)
That concludes this write-up. I hope it's been an interesting read.