Doom Engine

Doom Engine
Autor
id Software
Información general
Modelo de desarrollo Motor de videojuego
Género ?
Programado en C, Ensamblador
Licencia ?
[ editar datos en Wikidata]

Doom Engine o id Tech 1, es el motor gráfico que id Software uso para sus videojuegos Doom y Doom II. Este motor gráfico también es usado por Hexen, Heretic, Strife y HacX, y otros juegos producidos por licenciatarios. Fue creado por John Carmack, con las funciones auxiliares escritas por Michael Abrash, John Romero, Dave Taylor y Paul Radek. Originalmente desarrollado en computadoras NeXT, fue portado a DOS para el lanzamiento inicial de Doom, para después ser portado a otras consolas y sistemas operativos.

El código fuente para la versión Doom de Linux fue lanzado al público en 1997 bajo una licencia que garantiza los derechos de uso del motor mientras no sea para uso comercial, y fue relanzado bajo la licencia GNU en 1999. Las versiones de Doom no oficiales que han sido creados desde entonces ha permitido que el juego corra en sistemas operativos que antaño no eran soportados e incluso mejorando la funcionalidad del motor y agregando en algunas conversiones nuevas características.

No es un verdadero motor "3D", ya que no es posible mirar hacia arriba y hacia abajo adecuadamente, y 2 sectores no pueden ser traslapados, pero es un elegante sistema que permite renderizado en pseudo-3D. En su tiempo Doom fue revolucionario en su habilidad de proveer un ambiente 3D rápido por mapeado de texturas.

Una disposición simple mostrando como Doom representa los niveles internamente.

vista mapa en el editor

Estructura de los niveles de Doom

Map view in editor.

Visto desde una perspectiva aérea (de arriba hacia abajo), todos los niveles de Doom son de 2 dimensiones, demostrando una de las limitaciones clave del motor gráfico de "Doom": no es posible tener "cuartos sobre cuartos". Esta limitación tiene su ventaja: Un "Modo Mapa" puede ser fácilmente mostrado, el cual representa las paredes y la posición del jugador, justo como la imagen de la derecha.

Objetos Básicos

La unidad básica es el Vertex, el cual representa un punto en 2D. Los vértices (o "vertex" como son referidos internamente en el motor) son unidos para formar líneas, conocidas como "linedefs". Cada linedefs puede tener uno u dos lados, los cuales son conocidos como "sidedefs". Los sidedefs son agrupados para formar polígonos; estos son llamados "sectors". Los sectors representan áreas particulares del nivel.

Sectors (Polígonos)

Cada sector contiene un número de propiedades: una altura del suelo, altura del techo, nivel de iluminación, la textura del suelo y la textura del techo. Para tener una iluminación diferente en un área particular, un nuevo sector debe ser creado específicamente para esa area con un nivel de iluminación diferente. Los linedefs de un lado representan "paredes sólidas", mientras los linedefs de dos lados representan rectas "puente" entre sectores (o polígonos).

Sidedefs

Los Sidedefs son usados para colocar texturas para la pared; estos están totalmente separados de las texturas del suelo y el techo. Cada sidedef puede tener 3 texturas; estas son llamadas texturas altas, medias y bajas. En los linedefs de un lado solo la textura media es usada para las texturas en la pared. En los linedefs de dos lados la situación es más compleja. Las texturas altas y bajas son usadas para llenar los huecos cuando sectores adyacentes tienen diferente altura con respecto al suelo o al techo: por ejemplo las texturas bajas son usadas para escalones. Los sidedefs pueden tener textura media también, pero la mayoría no lo usan; esta es usada para "colgar texturas en medio del aire. Por ejemplo cuando una textura transparente en barra es vista formando una jaula es un ejemplo de una textura media en un linedef de dos lados.

Cosas

Finalmente, hay una lista de objetos en el nivel que en Doom son conocidas como cosas ("things"). Estas son usadas para situar al jugador, monstruos, powerups, etc. Cada cosa tiene una coordenada en 2D, como ocurre con los vértices. Las cosas son automáticamente colocadas en el suelo o en el techo dependiendo de su tipo.

Esto es solo un vistazo a la estructura básica de los niveles de Doom, la mayoría de las estructuras de datos se cargan con propiedades extra, como por ejemplo, desplazamiento de texturas y propiedades especiales para el modo de juego.

Other Languages
dansk: Id Tech 1
Deutsch: Doom-Engine
English: Doom engine
eesti: Id Tech 1
français: Id Tech 1
magyar: Doom-motor
italiano: Doom Engine
македонски: Id Tech 1
polski: Doom engine
русский: Doom engine
Simple English: Doom engine
српски / srpski: Id Tech 1
svenska: Id Tech 1