Difference between revisions of "WadC"

From DoomWiki.org

[checked revision][checked revision]
(History: correct dates for early versions)
(add ref,cite,references and correct several dates (off by one day, weirdly))
Line 5: Line 5:
  
 
==History==
 
==History==
* Version 1.0 was released in October 2000
+
* Version 1.0 was released in October 2000{{cite web|url=https://github.com/jmtd/wadc/blob/master/doc/release_notes.adoc|title=WadC Release Notes|author=[[Jon Dowland]]|accessdate=2020-08-13}}
 
* Version 1.1 was released in July 2001 - The last version by Aardappel
 
* Version 1.1 was released in July 2001 - The last version by Aardappel
 
* Version 1.2 was released in December 2011
 
* Version 1.2 was released in December 2011
* Version 2.0 was released on 23 September 2015
+
* Version 2.0 was released on 22 September 2015
 
* Version 2.1 was released on 22 September 2016  
 
* Version 2.1 was released on 22 September 2016  
 
* Version 2.2 was released on 13 November 2017  
 
* Version 2.2 was released on 13 November 2017  
* Version 3.0 was released on 21 February 2019
+
* Version 3.0 was released on 20 February 2019
  
 
== Interface ==
 
== Interface ==
Line 65: Line 65:
 
** [https://github.com/jmtd/wadc/blob/master/doc/tutorial.adoc basic tutorial]
 
** [https://github.com/jmtd/wadc/blob/master/doc/tutorial.adoc basic tutorial]
 
* [http://strlen.com/wadc/ Wouter's original page] about the software.
 
* [http://strlen.com/wadc/ Wouter's original page] about the software.
 +
 +
== References ==
 +
<references/>
  
 
[[Category:Programming languages]]
 
[[Category:Programming languages]]
 
[[Category:Java add-on software]]
 
[[Category:Java add-on software]]
 
[[Category:Level editors]]
 
[[Category:Level editors]]

Revision as of 09:15, 13 August 2020

The WadC interface

WadC, short for Wad Compiler, is a programming language and integrated development environment designed for constructing Doom levels. Originally written by Wouter "Aardappel" van Oortmerssen, it is now maintained by Jon Dowland.

Compared to a traditional level editor, WadC may seem very awkward to use. WadC's strength is with structures that can be procedurally generated: a function can be written to create a pillar, for example, and then invoked any number of times to create many pillars.

History

  • Version 1.0 was released in October 2000[1]
  • Version 1.1 was released in July 2001 - The last version by Aardappel
  • Version 1.2 was released in December 2011
  • Version 2.0 was released on 22 September 2015
  • Version 2.1 was released on 22 September 2016
  • Version 2.2 was released on 13 November 2017
  • Version 3.0 was released on 20 February 2019

Interface

The IDE takes the form of a two pane window. In the left pane, WadC code can be written. A preview of the resulting level is displayed in the right pane. Messages and errors encountered when processing the WadC code are displayed in the right-hand side, below the map preview.

Recent releases of WadC included a command-line interface as an alternative to the IDE.

Language

The WadC language is a lazy, normal-order evaluated functional language with a strong resemblance to a macro language.

Example script

The results of running water.wl

The following script generates a corridor of steps that descend under water.

/*
 * water.wl - a demonstration of the Boom water routines
 */

#"standard.h"
#"water.h"

main {
    waterinit_fwater(-16)
    movestep(0,64) -- out of the way of control sectors
    pushpop(movestep(32,32) thing)

    -- a ramp of rooms, descending in floor and ceiling height
    fori(0, 7,
        set("floorheight", sub(0, mul(i,24)))
        set("ceilheight",  add(128, get("floorheight")))
        water(
            box(get("floorheight"), get("ceilheight"), 200, 256, 256),
            get("floorheight"),
            get("ceilheight"),
        )
        movestep(-256,0)
    )
}

Notable levels

Perhaps the best known WadC maps were created by Aardappel himself, including his submission to Doomworld's 10 Sectors competition, and Crucified Dreams MAP12. The source code files for both maps are included in the WadC zip file as hexagon.wl and tulip.wl respectively.

External links

References

  1. Jon Dowland. "WadC Release Notes." Retrieved 13 August 2020.