Table of Contents

Doomsday Script reference guide

This article describes the Doomsday Script language and its role in Doomsday 2.

Overview

Doomsday Script is a scripting language with features such as a class-based object system, and exceptions. It is designed to harmoniously work together with Doomsday's native code and objects.

Scripting is used for several things internally, for example managing engine configuration and controlling 3D model asset animation. Doomsday Script is not a compiled language and thus is not intended for high-performance or time-critical tasks. Game plugins, for instance, should be written in native code.

Below is an example of the syntax:

def exampleFunc(a)
    if a
        return "It is true!"
    else
        return "Nay, it is false."
    end
end
print exampleFunc(True)

The syntax is heavily influenced by Python and Ruby, with a few notable differences:

Tutorial

Feature walkthrough

The following pages walk though the features of Doomsday Script with brief code snippets:

Examples

These larger examples may be examined to get a better feel of what Doomsday Script is like in practice. (Spoiler alert: Very much like Python.)

Using Doomsday Script

As of 2.3, scripts can be used for the following:

In older versions: 2.2

Editor support

Language reference

See the Language reference for information about the syntax, and built-in functions and modules.