Librescape
Freescape es un motor de videojuegos, uno de los primeros motores de juegos 3D utilizados en videojuegos como Driller de 1987. Los gráficos estaban compuestos principalmente de geometría sólida renderizada sin sombreado.
Historia
Desarrollado internamente por Incentive Software, Freescape se considera uno de los primeros motores 3D propietarios que se utilizan en videojuegos, aunque el motor no se utilizó comercialmente fuera de los títulos propios de Incentive. Originalmente se pensó que el proyecto era tan ambicioso que, según el diseñador de Incentive, Ian Andrew, la empresa tuvo dificultades para reclutar programadores para el proyecto, y muchos creyeron que no se podría lograr.
Paul Gregory (artista gráfico de Major Developments, equipo de diseño interno de Incentive) menciona que Freescape fue desarrollado por Chris Andrew a partir de septiembre de 1986 en un Amstrad CPC, ya que era el sistema de desarrollo más adecuado con 128K. memoria y tenía potencia adecuada para ejecutar entornos 3D. Debido al éxito del motor, posteriormente se adaptó a todos los sistemas dominantes de la época, como ZX Spectrum, DOS, Commodore 64, Amiga y Atari ST.
El desarrollo de Freescape finalizó en 1992 con el lanzamiento de 3D Construction Kit II. Su legado continuó en este último motor de creación de realidad virtual Superscape VRT, del mismo desarrollador y anunciado en el software 3D Construction Kit II.
Tecnología
Geometría
El motor Freescape permitió la generación de entornos 3D completos que constan de un piso y tantas primitivas como la memoria y la velocidad del procesador permitieran de manera realista. Estos primitivos eran cuboides, troncos de cuatro lados (llamados pirámides por Freescape), triángulos, rectángulos, cuadriláteros, pentágonos, hexágonos y segmentos de recta. Otra primitiva, "sensor", se utilizó en los juegos para detectar la posición de la cámara en relación con el sensor en el mundo del juego.
Freescape se diseñó teniendo en cuenta el hardware limitado y, como tal, contiene una serie de limitaciones inherentes que son necesarias para permitir que los juegos se ejecuten correctamente en estas computadoras:
- Las regiones individuales se limitaron a un tamaño de 8192 × 4096 × 8192 unidades. Estas unidades eran arbitrarias pero cada región siempre correspondía a las dimensiones.
- El motor no permitió movimientos fraccionados. En máquinas de 16 bits cada movimiento —cámara o objeto— debe ser un múltiple de una unidad. En máquinas de 8 bits los ángulos en los que se puede ver el mundo se restringen aún más a los pasos de 5 grados.
- Los ejes x y z fueron subdivididos en sólo 128 lugares discretos, y el eje y está subdividido en sólo 64 lugares discretos. Como resultado, los objetos sólo se pueden colocar en 64 intervalos de unidad, por ejemplo, 0,64,128 o 128,64,32.
- Los objetos no se superponen.
- Todos los objetos poseían un "cubo lleno", para el cual las reglas de detección se aplican según un cubo, es decir, sin superposición.
Interacción
Los juegos utilizaban el lenguaje de comandos Freescape ('FCL'), uno de los primeros lenguajes de programación del juego, para agregar elementos interactivos a los mundos de Freescape. Los scripts pueden configurarse para que se ejecuten constantemente en todo el mundo o en un área determinada, o pueden adjuntarse a objetos individuales donde se ejecutarán una vez si el objeto recibe un disparo, se activa o se colisiona con él. Las versiones de Freescape para Amiga, Atari ST y PC también admitían "animadores", que eran programas FCL que utilizan algunas instrucciones adicionales para crear animaciones en pantalla.
Software que utiliza el motor Freescape
Fuente:
- Driller (1987) (también conocido como Space Station Oblivion)
- Lado oscuro (1988)
- Eclipse total (1988)
- Castle Master (1990)
- Castle Master II: La Cripta (1990)
- Eclipse total II: La esfinge Jinx (1991) (1991)
- Kit de construcción 3D (1991) (también conocido como Virtual Reality Studio)
- 3D Construction Kit II (1992) (también conocido como Virtual Reality Studio 2.0)