Freescape

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Freescape
Freescape.png
Developer(s) Incentive Software
Initial release 1987
Discontinued 3D Construction Kit II / 1992
Development status Discontinued
Platform Amstrad CPC, ZX Spectrum, IBM PC, Commodore 64, Commodore Amiga, Atari ST
Available in English
Type Game engine
License Proprietary software

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

History[edit]

Developed in-house by Incentive Software, Freescape is considered to be one of the first proprietary 3D engines to be used in computer games, although the engine was not used commercially outside of Incentive's own titles.[1] 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 [2] that Freescape was developed on an Amstrad CPC, as it was the most suitable development system 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: the ZX Spectrum, the IBM PC, the Commodore 64, Commodore 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[edit]

Geometry[edit]

Example of a Freescape generated 3D game environment for the Amiga version of Castle Master

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[edit]

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[3][edit]

See also[edit]

External links[edit]

References[edit]

  1. ^ "Exploring the Freescape". IGN. 2008-10-22. Retrieved 2009-07-04. 
  2. ^ Retro Gamer 22, Incentive article, page 26
  3. ^ http://www.uvlist.net/groups/info/freescapeengine