The Dark Engine is a game 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 Dark Engine's renderer, originally created by Sean Barrett in 1995, supports graphics similar to that of the original Quake, with Unreal-like skybox effects and colored lighting introduced in Thief II. Due to the limited hardware of the time, the Dark Engine was not designed with scalability in mind, and can therefore only display 1024 terrain polygons onscreen at once, as well as various other limits on objects and lights. In terms of textures, 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 engine does not natively support advanced game scripting, with AI and object behavior being controlled by "Object Script Module" (.OSM) files, which are DLLs that are loaded at runtime. As such, new modules can be written and plugged into the level editor, DromEd, but are limited due to the scope of the functions made available by the core engine. In order to overcome this, editors must resort to complicated Rube Goldberg machine-like effects using a combination of its other systems.
For its time, the Dark Engine offered advanced AI and sound features, as well as a powerful object-oriented object system. The designer has full control of sound propagation within the level, and the "artificial intelligence" of the non-player characters (NPCs) 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.
In 2009, a complete copy of the Dark Engine source code was discovered in the possession of an ex-Looking Glass Studios employee who was at the time continuing his work for Eidos Interactive. The code was a complete set of the engine's resources, and included the libraries needed to compile the code. Fans of the Thief and System Shock series subsequently petitioned the publisher to consider releasing the code. The ramifications of releasing this set of code is currently being reviewed by lawyers at the company.
In late April 2010, a user on the Dreamcast Talk forum disassembled the contents of a Dreamcast development kit he had purchased. The contents of the kit included, among other things, items pertaining to ports of Thief 2 and System Shock 2 to that system. By December 2010, it had been discovered by the user and subsequently the greater Looking Glass Studios fan community that a compact disk included with the kit - the contents of which had been uploaded to the Internet - included a second copy of the Dark Engine source, minus the libraries needed to compile the code.
In September 2012, a significant unofficial update to the Dark Engine was published anonymously in a French forum, most probably based on the leaked Dreamcast source code. This unofficial patch extended the limits of the engine, introduced support for recent graphics and sound hardware, as well as better support for newer versions of Windows.
DromEd is the level editor for the Dark Engine. It was originally used in the design of Thief: The Dark Project, but after a petition from the fan community it was released to the public, as were later versions.
There are four different versions of DromEd: for Thief: The Dark Project, for Thief Gold, for Thief II, and lastly for System Shock 2, commonly called "ShockEd." DromEd for Thief: The Dark Project and Thief Gold use the same version of the Dark Engine and therefore can open levels created for each game, although Thief Gold levels may refer to in-game objects that are not found in Thief. Thief II uses a revised version of the Dark Engine, and therefore it is difficult to open levels created for Thief with DromEd for Thief II. ShockEd is not compatible with any Dark Engine games aside from System Shock 2. However, basic level geometry can be moved between editors using a geometry export feature called "multibrush". System Shock 2 levels can be loaded by DromEd 2 with some work.
The name of the level editor, 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 thence Dromed. DromEd has been used by fans to create hundreds of fan missions for Thief and Thief II, and several missions for System Shock 2.