Freescape
Freescape software | |
---|---|
Genere | Motore grafico |
Sviluppatore | Incentive Software |
Data prima versione | 1987 |
Sistema operativo | Amstrad CPC (non in lista) Commodore 64 Amiga OS Atari ST MS-DOS ZX Spectrum |
Il Freescape è un motore 3D per videogiochi per diversi computer nato intorno al 1987 e usato per prodotti commerciali fino al 1992.
Storia
[modifica | modifica wikitesto]Sviluppato in proprio dall'azienda britannica Incentive Software tramite una scrupolosa ricerca di programmatori in grado di realizzare questo ambizioso progetto, viene considerato il primo vero motore 3D proprietario per ottenere giochi in tre dimensioni sui personal computer. Non venne mai concesso in licenza per l'uso ad altre software house, tuttavia in seguito la Incentive si associò alla Teque Software per migliorare i propri prodotti, e la Teque apprese molto sul motore 3D durante la collaborazione.
Il Freescape venne originariamente programmato per l'Amstrad CPC e solo in seguito portato sulle altre piattaforme principali dell'epoca: ZX Spectrum, IBM compatibile (MS-DOS), Commodore 64, Commodore Amiga e Atari ST.
Tecnologia
[modifica | modifica wikitesto]Geometria
[modifica | modifica wikitesto]Il Freescape permette la generazione di un completo ambiente 3D dotato di un pavimento e di tutte le primitive tridimensionali permesse dalla memoria e dal processore del computer dove gira. Queste primitive sono di tipo cuboide, tronco di piramide, triangolare, rettangolare, quadrilatero, pentagonale, esagonale e sono compresi anche segmenti lineari. Esiste anche una primitiva chiamata "Sensore", utilizzata per rilevare qual è rispetto ad essa la posizione della telecamera nel mondo 3D.
Durante la progettazione del Freescape erano ben noti i limiti dell'hardware dell'epoca, perciò si dovettero implementare alcune limitazioni:
- Ogni singola regione è limitata a 8192x4096x8192 unità.
- Il motore non permette movimenti frazionari. Sulle macchine a 16 bit ogni movimento, sia degli oggetti che della telecamera, deve essere un multiplo di una unità. Sulle macchine a 8 bit c'è un'ulteriore limitazione: i movimenti rotatori sugli assi devono avvenire 5 gradi alla volta.
- Gli assi X e Z sono suddivisi in 256 locazioni discrete, mentre l'asse Y solo in 128. Di conseguenza, un oggetto deve essere posto a intervalli di 32 unità, per esempio 0,32,64 oppure 128,128,32.
- Non è possibile sovrapporre gli oggetti in modo che uno ne attraversi parzialmente un altro per poter creare nuove forme.
Interazioni
[modifica | modifica wikitesto]I giochi utilizzano il Freescape Command Language (FCL), un primo tipo di linguaggio di scripting che aggiunge elementi interattivi ai mondi generati con il Freescape. Tali script possono generare azioni sia nell'intero mondo 3D che in singole locazioni ben determinate, oppure possono essere associati a singoli oggetti in modo che compiano determinate azioni una volta toccati dal giocatore. Alle versioni per 16 bit furono aggiunte alcune istruzioni che permettono di ottenere animazioni.
Giochi che usano il Freescape
[modifica | modifica wikitesto]- Driller (1987)
- Dark Side (1988)
- Total Eclipse (1988)
- Total Eclipse II: The Sphinx Jinx (1989)
- Castle Master (1990)
- Castle Master II: The Crypt (1990)
- 3D Construction Kit (1991)
- 3D Construction Kit II (1992)
A questi si aggiungono molti freeware amatoriali realizzati col suddetto 3D Construction Kit[1]
Note
[modifica | modifica wikitesto]- ^ Es. per Commodore 64: (EN) Created with 3DCK, su gb64.com.
Bibliografia
[modifica | modifica wikitesto]- (EN) The complete lowdown: Freescape 1987-1992, in Retro Gamer, n. 22, Bournemouth, Imagine Publishing, marzo 2006, pp. 24-29, ISSN 1742-3155 .
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Lista dei giochi Freescape, su uvlist.net.
- (EN) Exploring the Freescape - How Incentive Software blazed a trail into 3D, su uk.retro.ign.com, 14 giugno 2012. URL consultato il 6 agosto 2010 (archiviato dall'url originale il 31 agosto 2012).
- (EN) Phantasma - Introduction (progetto per reimplementare il Freescape in OpenGL), su members.allegro.cc.