# Freescape

Freescape is a video game engine, an early 3D game engine used in video games such as 1987's Driller. Graphics were composed mostly of solid geometry rendered without shading.

## History

Developed in-house by Incentive Software, Freescape is considered to be one of the first proprietary 3D engines to be used in video games, although the engine was not used commercially outside of Incentive's own titles. The project was originally thought to be so ambitious that according to Incentive designer Ian Andrew, the company struggled to recruit programmers for the project, with many believing that it could not be achieved.
Paul Gregory (graphics artist for Major Developments, Incentive's in-house design team) mentions that Freescape was developed by Chris Andrew starting in September 1986 on an Amstrad CPC, as it was the most suitable development system with 128K memory and had adequate power to run 3D environments. Due to the engine's success, it was later ported to all the dominant systems of the era such as the ZX Spectrum, DOS, Commodore 64, Amiga and Atari ST.
Freescape development ended in 1992 with the release of 3D Construction Kit II. Its legacy continued in the latter Superscape VRT virtual reality authoring engine, from the same developer and advertised on the 3D Construction Kit II software.

## Technology
### Geometry

The Freescape engine allowed the generation of complete 3D environments that consist of a floor and as many primitives as memory and processor speed realistically allowed for. These primitives were cuboids, four-sided frustums (called pyramids by Freescape), triangles, rectangles, quadrilaterals, pentagons, hexagons and line segments. A further primitive, "sensor", was used for gaming purpose to detect the position of the camera relative to the sensor in the game world.
Freescape was designed with limited hardware in mind and as such contains a number of inherent limitations that are necessary to enable the games to run properly on these computers:
* Individual regions were restricted to a size of 8192 × 4096 × 8192 units. These units were arbitrary but each region always corresponded to the dimensions.
* The engine did not allow for fractional movements. On 16-bit machines each movement—camera or object—must be a multiple of one unit. On 8-bit machines the angles at which the world may be viewed are further restricted to steps of 5 degrees.
* The x and z axes were subdivided into only 128 discrete locations, and the y axis is subdivided into only 64 discrete locations. As a result, objects can only be placed at 64 unit intervals, for example, 0,64,128 or 128,64,32.
* Objects may not overlap.
* All objects possessed a "bounding cube", for which detection rules apply as per a cube, i.e. no overlapping.

### Interaction

Games used the Freescape Command Language ('FCL'), an early in-game scripting language, to add interactive elements to Freescape worlds. Scripts may be set to run constantly for the entire world or run constantly for a certain area, or may be attached to individual objects where they will be run once if the object is shot, activated or collided with. Versions of Freescape for the Amiga, Atari ST and PC also supported 'animators', which were FCL programs that use a few extra instructions to create on-screen animations.

## Software using the Freescape engine

Software titles using the Freescape engine:
* Driller (1987) (also known as Space Station Oblivion)
* Dark Side (1988)
* Total Eclipse (1988)
* Castle Master (1990)
* Castle Master II: The Crypt (1990)
* Total Eclipse II: The Sphinx Jinx (1991)
* 3D Construction Kit (1991) (also known as Virtual Reality Studio)
* 3D Construction Kit II (1992) (also known as Virtual Reality Studio 2.0)