# Torque (game engine)

Torque Game Engine, or TGE, is an open-source cross-platform 3D computer game engine, developed by GarageGames and actively maintained under the current versions Torque 3D as well as Torque 2D. It was originally developed by Dynamix for the 2001 first-person shooter Tribes 2. In September 2012, GarageGames released Torque 3D as open-source software under the MIT License.
Torque 3D features a world editor suite including tools for sculpting terrain and painting forests, drawing rivers and roads, as well as material, particle and decal editing. It supports the open COLLADA file format as interface to 3D digital content creation software. PhysX provides support for cloth dynamics, rigid body dynamics, destructible objects and joints, as well as fluid buoyancy simulation. Other features include a deferred lighting model and modern shader features such as dynamic lighting, normal and parallax occlusion mapping, screen space ambient occlusion, depth of field, volumetric light beam effects, lens flare/corona effects, refraction, bloom, blurring and color correction, among others. Networking functionality for multiplayer support is included as well. Build support is provided for desktop Windows, Linux, macOS and Web platforms.

## Inception

The Torque engine and its many derivative products were available for license from GarageGames, a company formed by many members of the Tribes 2 team at Dynamix. GarageGames was later acquired by InstantAction, but by November 2010, InstantAction began winding down its operations and looking for potential buyers for Torque. In January 2011, GarageGames was re-acquired by Graham Software Development, and their name was reverted back to the original.
GarageGames released Torque 3D as open-source software under the MIT License on September 20, 2012. Torque 2D followed on February 5, 2013. Torque 3D and most of their other products were to continue being developed and supported. The latest stable release of Torque 2D was marked May 2023 on GitHub, and the latest stable release of Torque 3D was marked February 2023, on GitHub.

## History
### Original Torque Game Engine

The original Torque Game Engine, which has been superseded by Torque 3D, provided networking code, scripting, in-engine world editing, and GUI creation. The source code could be compiled for Windows, macOS, Linux, Wii, Xbox 360, and iOS platforms. TGE shipped with starter kits for a first-person shooter and an off-road racing game. A real-time strategy starter kit was also available as a separate purchase. These starter packs could be modified to suit the needs of the developer, or the developer could start from scratch.
The engine supported loading of 3D models in the DTS and DIF file formats. DTS models were typically used for characters and vehicles though occasionally for buildings and interiors. They could be animated using either skeletal or morph target animation. It was also possible to blend multiple skeletal animations together by playing them simultaneously or automatically tweening the different positions of bones in the skeleton. DIF models have pre-calculated lighting and as such are ill-suited for animation. Instead, they were used for buildings and interiors. They automatically had bounding boxes that perfectly match the visible geometry. This was so that it was not made overly difficult for a player in a Torque Game Engine game to move or fire weapons around them.
The game featured a terrain engine that automatically created LODs of the ground so that it rendered the fewest polygons necessary at any given time. The terrain was automatically lit, and textures applied to the terrain could be blended together seamlessly. The game's rendering engine featured environment mapping, Gouraud shading, volumetric fog, and other effects such as decals that allowed for textures to be projected onto interiors in real time (for example, a player in a Torque Game Engine game might fire a weapon that left a bullet hole in the wall, and the bullet hole would be a decal). Torque supported networked games over LAN and the internet with a traditional client-server architecture. Server objects were "ghosted" on clients and updated periodically or upon events.
TorqueScript (also known as TS) is a coding language designed specifically for the Torque Game Engine, with a syntax similar to C++.

### Torque 3D

Torque 3D, version 1.2, was released as open-source software under the MIT License on September 20, 2012, and is being actively maintained, the current version being 4.0.3. Originating as a successor to Torque Game Engine Advanced (TGEA), Torque 3D features PhysX support, modern shader features, an advanced deferred lighting model, as well as build support for Windows, macOS and Linux. DTS and DIF have been superseded by COLLADA, a more commonly supported interactive 3D model file format. The DIF format has been completely deprecated, while DTS is still used as an internal format.

#### Release history

Torque 3D OSS release history :
| Version | Release date | Notes | Latest patch release |
| 1.0 | September 2012 | Initial open-source software release derived from the proprietary 1.2 version. | 1.1 |
| 2.0 | December 2012 | Added a "Project Manager" to replace the "Toolbox" from the proprietary version of Torque 3D that had to be removed due to copyright issues. | |
| 3.0 | May 2013 | Initial Oculus Rift support. | |
| 3.5 | November 2013 | Inclusion of a Blinn–Phong shading resource. | 3.5.1 |
| 3.6 | October 2014 | 64-bit and CMake support. | 3.6.3 |
| 3.7 | June 2015 | Initial Linux support. | |
| 3.8 | October 2015 | Bugfixes. | |
| 3.9 | July 2016 | Bugfixes. | |
| 3.10 | February 2017 | OpenVR and OS X support. Final release from GarageGames. | |
| 4.0 | August 2022 | Implemented PBR rendering, assets and modules system, added Assimp library to support more model formats. | 4.0.3 |

### Torque 2D

Torque 2D, originally Torque Game Builder, is a game engine designed for 2D games and based on the Torque Game Engine. It was first released in 2006, in a standard and a pro version, with the professional version including the source code. Torque 2D started as Torque Game Builder because the ultimate goal was to make it a game-making suite. It was used for instance to create the puzzle game And Yet It Moves (2009, Broken Rules, WiiWare) and dozens of other games. The latest "Torque game builder" release was 1.7.6 from December 2011. In 2012 a Torque 2D MIT edition was created as combination of the previous "Torque Game Builder" and iTorque 2d, an iOS fork. On February 5, 2013, Torque 2D MIT was released in version 2.0 as open source software. Torque 2D's development continues on GitHub with latest version being v.3.4 from May 2018.

#### Release history

Torque 2D OSS release history :
| Version | Release date | Notes |
| 2.0 | February 2013 | Initial open-source software release. |
| 3.0 | May 2014 | Xbox 360 controller support. |
| 3.1 | August 2014 | Bitmap font support. |
| 3.2 | December 2015 | Ogg support. |
| 3.3 | April 2016 | Positional audio support. |
| 3.4 | May 2018 | Bugfixes. Final release from GarageGames. |

### Torque Game Engine Advanced

Torque Game Engine Advanced (formerly known as Torque Shader Engine) was an expanded version of Torque Game Engine made to support advanced technologies including shaders, per-pixel lighting, and massive terrains. This version of the engine has been ported to Microsoft's Xbox and Xbox 360 console systems. Several Xbox Live Arcade games have been released using the Torque engine, most notably Marble Blast Ultra. First release was January 23, 2007 with the 4.2 Beta, production release of TGEA 1.0 and end of Early Adopter Program was on February 15 of the same year.
Although TGEA supported the existing Torque Legacy Terrain, TGEA incorporated entirely new terrain rendering engine, the Atlas Terrain Engine, which is an improvement over the blended terrains of TGE. Atlas used GPU hardware to render a massive terrain block and its textures. This allowed Atlas to scale with faster systems of the future. A shaded water rendering system was implemented with full reflection, refraction, and Fresnel reflection. TGEA incorporated a lighting system based on Torque Lighting Kit, including a light manager tool, scene lighting, and dynamic shadows among others.
Torque Game Engine Advanced 1.0 supported Direct3D rendering via an API-independent graphics layer. Future versions were expected to support both Direct3D and OpenGL pipelines to allow TGEA to support macOS and Linux platforms as well as Windows. There had also been planned TGEA compatibility with Microsoft's game development suite for the Xbox 360, XNA Game Studio Express. TGEA contained several ready-to-apply shaders and common shader settings. Custom shaders based on High Level Shader Language could be compiled by the engine and applied as custom materials. This could be applied to both interior and exterior type 3D art assets. Fallback materials could be configured to allow support of pixel and vertex 1.x first-generation video cards.
The latest release of TGEA, 1.8.2, became available in November 2009.

### Torque Lighting Kit

Torque Lighting Kit was an expansion pack to the Torque Game Engine developed by John Kabus and Synapse Gaming. It added a variety of enhanced lighting features to the Torque Game Engine. In the latest release, features such as dynamic lighting and shadowing were added. Torque Lighting Kit was later included as part of Torque Game Engine 1.5 and Torque Game Engine Advanced. In 2008, Kabus and Synapse Gaming stopped supporting Torque, began a partnership with Microsoft, and packaged their lighting technology and other new tech into the Sunburn XNA Game Engine.

### Torque X

After the release of Torque Game Builder, GarageGames began to develop Torque X, a game engine based on Torque Game Builder using a component system that allows multiple game objects to have the same abilities, running on Microsoft's XNA Framework. Many of the 3D features were left incomplete and never finished. Specifically, 3D terrain using RAW height maps suffered from a lack of working examples, shadows were substandard (consisting only of a spherical shadow texture projected on the terrain), the ability to use skinned meshes for animated models was not working (non-skinned meshes worked), and the 3D rigid-body physics suffered from several issues.

## Reception and usage

The Torque engine and its derivatives have been used in the development of a variety of games, especially among independent video game developers. Commercial titles developed using the Torque engine include BoneTown, Blockland, Marble Blast Gold, Minions of Mirth, TubeTwist, Ultimate Duck Hunting, Wildlife Tycoon: Venture Africa, ThinkTanks, The Destiny of Zorro, Penny Arcade Adventures and indie video games The Age of Decadence, BeamNG.drive, The Cat and the Coup, Dead State, Frozen Synapse, S.P.A.Z. and Villagers and Heroes. The open-source video game Uebergame also uses the engine.