FANDOM


Under construction icon-blue
Este artículo es considerado solamente un esbozo. Puedes mejorar la wiki de Doom ampliándolo. Luego puedes borrar este mensaje.
DoomEd

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

Contrariamente a los editores creados por la comunidad, no funcionó directamente en archivos WAD, sino sólo en un formato de texto que luego fue 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, un cierto número de factoides eran conocidos de antemano, revelados por sus desarrolladores, notablemente John Romero (que lo programó) y Michael Raymond-Judy.

  • El editor utiliza archivos de texto ASCII para guardar 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 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 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 idéntico sectordefs. 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>

Lanzamiento

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.

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.
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.