Dark engine
From Wikipedia, the free encyclopedia
The Dark engine is a computer game engine, comprising code to produce graphics, sound and control input. It also features complex object and AI databases. It is the engine used for the Looking Glass Studios games Thief: The Dark Project (1998), Thief II: The Metal Age (2000) and the Looking Glass/Irrational Games title, System Shock 2 (1999).
The renderer of the engine dates back to 1995, and was originally created by Sean Barrett.
The engine is limited to displaying approximately 1024 terrain polygons onscreen at once. It has other limitations relating to the overall numbers of objects, lights and "brushes" (used to construct the level geometry).
The engine features particularly advanced sound propagation for its time. The designer places "room brushes" which define the size and characteristics of any given space within the level. The engine compiles this information, creating a database which allows sounds to propagate between different rooms, through doors and around geometry.
A technology referred to as "Act-React" was developed as part of the Dark engine. It allows interactions between different elements. For instance, water douses flames, flames heat and ignite flammable items, etc.
In contrast to contemporary engines the Dark engine allows very detailed placement of objects, which can be picked up manually by the player. As such, items can more feasibly be placed on shelves, under tables, and down the sides of furniture. This is not as feasible in contemporary engines in which items are picked up by touching them. In such engines, the item would either be unreachable, or the player may pick up an item without noticing it beforehand.
The "artificial intelligence" of the Non-player characters (NPCs) designed for Thief, and used in later games, allows for three levels of awareness: vague acknowledgement caused by mild visual or auditive disturbances, which only prompts a startled bit of dialogue; definite acknowledgement caused by significant visual or auditive disturbances which causes the NPC to enter "search mode", and definite acquisition (triggered by visual on the fully lit player, or face-first contact with a player regardless of the light level), prompting a direct attack.
The game supports palletized PCX and TGA textures, in powers of two up to 256x256. Textures are grouped in "families" which share the same palette. There is a maximum of 216 textures and independent palettes, excluding 8 animated water textures.
The renderer supports features on a level similar to that of the original Quake, however with Thief 2, Unreal-like skybox effects were introduced, as well as coloured lighting. Advanced scripting is not natively supported by the editor, but scripts to control object behaviours are read from 'Object Script Module' (.osm) files. In reality, OSM files are just Dynamically linked library files that reference functions made available to them by the engine, and as such new modules can be written and plugged into DromEd, the editor for the Dark engine. The power of these scripts is limited by the functions that the Dark Engine makes available to them, which are generally those used by the original object scripts.
Even without custom scripting, it is possible to create extremely complicated effects by using a combination of its other systems, but these effects are generally inelegant 'hacks' and resemble Rube Goldberg machines.
For example, detaching the camera from the player is nearly impossible: However, certain "Cam-Vator" effects have been used in certain fan missions, as well as in System Shock 2, in which the camera moves through a cutscene, the player being able to look around as they would during a normal mission. This remains a kludge, however-- The direction that the "camera" points in, for example, cannot be scripted.
The name DromEd is a reference to the original project it was designed for - a game based on the Arthurian legend of Camelot - the Camel becoming Dromedary and hence DromEd. The Windows-based DromEd has been used by fans to create upwards of 400 Fan Missions for Thief and Thief 2, and several missions for System Shock 2.
[edit] References
Ultima Underworld series | Ultima Underworld: The Stygian Abyss - Ultima Underworld II: Labyrinth of Worlds |
System Shock series | System Shock - System Shock 2 (co-developed) |
Thief series | Thief: The Dark Project - Thief Gold - Thief II: The Metal Age - Thief: Deadly Shadows |
Flight Unlimited series | Flight Unlimited - Flight Unlimited II - Flight Unlimited III |
Other games | Car and Driver - British Open Championship Golf - Terra Nova: Strike Force Centauri - Jane's Attack Squadron |