Doom Wiki
Advertisement
Doom Wiki
Este artículo trata sobre el editor de niveles de id Software. Para el editor de Geoff Allan, consulta DoomEd 4.2.
DoomEd

DoomEd ejecutándose en NeXTSTEP.

DoomEd fue el editor de niveles shareware originalmente utilizado por id Software para crear niveles. Fue escrito en lenguaje Objective-C para el sistema operativo NeXTSTEP.

Contrariamente a los editores creados por la comunidad, no funcionaba directamente sobre archivos WAD, sino sólo en un formato de texto que luego era compilado en un mapa de formato binario por DoomBSP; ambas herramientas estaban destinadas a ser utilizadas en tándem.

Información[]

Aunque ni DoomEd ni su código fuente fueron publicados hasta el 21 de abril de 2015, se conocían de antemano una cierta cantidad de hechos, revelados por sus desarrolladores, en particular John Romero (que lo programó) y Michael Raymond-Judy.

  • El editor utiliza archivos de texto ASCII para guardar los datos de nivel, que luego son compilados en una forma binaria por el constructor de nodos. Esto fue útil durante el desarrollo de Doom, ya que el formato en el que los mapas son leídos por el juego cambió (véase las versiones alfa para más información sobre este tema).
  • El editor sólo guardaba líneas y cosas. Los vértices, sidedefs y sectores eran extrapolados de las propiedades de línea por el constructor de nodos. Esto explica algunos de los errores de mapa contenidos en los IWAD, como E3M8.
  • Para editar la información de sectores, un panel de inspecciones de sectores estaba presente en la interfaz. Haciendo clic con el botón izquierdo del ratón dentro de un sector se utilizará un patrón de relleno para encontrar todas las líneas que bordean el área en que se ha hecho clic y establecer sus definiciones de sector a la definida en el panel. Al hacer clic con el botón derecho dentro de un sector se actualizaría el panel con la propiedad del sector elegido, presumiblemente recuperado de la primera línea detectada por el algoritmo de relleno por difusión (flood-fill).
  • El compilador de mapas crea sectores a partir de líneas con definiciones de sector idénticas. Por esta razón, los mapeadores de Id pondrían etiquetas ficticias sin sentido en el sector de las líneas cuyos sectores no deberían fusionarse a pesar de ser inicialmente idénticos. Esto se puede ver especialmente con los constructores de escaleras.
  • Las cosas estaban representadas por cuadrados de colores.
  • Se incluyó un selector visual de texturas (al menos para los pisos).
  • Los desplazamientos X e Y para la alineación de la textura en los sidedefs fueron llamados "firstrow" y "firstcol".
  • Se pueden crear nuevas texturas a partir de parches desde el editor.
  • Los tipos especiales de línea tenían nombres derivados de sus nombres internos en el motor de Doom, por ejemplo "Button_Plat_Down_Wait_Up_Stay". Los tipos especiales se enumeran alfabéticamente, en lugar de a través de su valor numérico.

Formato de origen de mapa[]

El formato utilizado para almacenar los datos de mapas se compone de tres partes: un encabezado, un bloque de líneas y un bloque de cosas. Una línea vacía separa cada sección.

El encabezado es simplemente la línea "WorldServer version 4". Se desconoce si las versiones anteriores de WorldServer correspondían a editores para juegos de Id anteriores, o para las versiones alfa de Doom.

El bloque de líneas comienza con un contador de la forma " lines:<number> "; por ejemplo " lines:475 " para E1M1. Las definiciones de línea siguen en orden inmediatamente después. Una definición de línea completa es de esta forma, describiendo primero los vértices y los atributos de línea, a continuación, el primer lado del sidedef y el sector, y finalmente el segundo lado del sidedef y el sector.

(<v1x>,<v1y>) to (<v2x>,<v2y>) : <flags> : <special> : <tag>

    <s1firstrow> (<s1firstcol> : <s1toptexture> / <s1bottomtexture> / <s1midtexture> )
    <s1floorheight> : <s1floorflat> <s1ceilingheight> : <s1ceilingflat> <s1lightlevel> <s1special> <s1tag>
    <s2firstrow> (<s2firstcol> : <s2toptexture> / <s2bottomtexture> / <s2midtexture> )
    <s2floorheight> : <s2floorflat> <s2ceilingheight> : <s2ceilingflat> <s2lightlevel> <s2special> <s2tag>

Si la línea no es de doble cara, Las dos líneas de las definiciones del segundo lado se omiten por completo.

El bloque de cosas también comienza con un contador de la forma "things:<number>"; por ejemplo "things:138" para E1M1. Dado que las cosas no tienen que contener objetos auxiliares ((vértices, lados y sectores) en sus propios datos, una definición de la cosa utiliza una sola línea, de esta forma:

(<x>,<y>, <angle>) :<type>, <flags>

Liberación[]

En una entrevista de enero de 2015 John Romero declaró que "Recientemente le di la fuente de DoomEd a alguien para ponerlo en OSX. Eso puede pasar [1] ". El mismo John más tarde subió el código fuente a Dropbox y anunció su disponibilidad en los foros de Doomworld el 21 de abril de 2015 [2] .

A continuación, inmediatamente fue seguido por la liberación de los archivos originales de código fuente DWD para Doom, The Ultimate Doom y Doom II, Incluyendo varias copias de seguridad y mapas aparentemente no utilizados.

Enlaces externos[]

  • Proyecto de Simon Howard (Fraggle) para portar la fuente de DoomEd a Mac OS X.
  • ReDoomEd - Portación a Mac/Linux/BSD de DoomEd.

Referencias[]

  1. Romero, John (20 de enero de 2015). "Devs Play Doom", YouTube. Obtenido el 21 de enero de 2015.
  2. Romero, John (21 de abril de 2015). "Más cosas buenas de Romero (DoomEd fuente, mapas, gráficos)". Foros de Doomworld.
Advertisement