ZScript

ZScript is a exclusively implemented in the GZDoom source port. Created by Marisa Heit and Graf Zahl, it is the fulfillment of the planned "DoomScript" feature that Heit first brainstormed in 1999.

The language is a direct descendant of DECORATE and supports almost all of its features, albeit with minor specification differences (DoomEdNums and DamageTypes were moved to MAPINFO). It also supports direct level and actor data access, proper user-defined structures/classes, virtual methods, and more. Thus ZScript supersedes both DECORATE and the ACS scripting language.

Even though it was initially implemented in ZDoom, it was mostly developed by Graf Zahl and never got into the official release of ZDoom, which was discontinued in 2017. As of GZDoom version 2.3.0, all built-in actors were converted to ZScript.

Further development migrated large portions of the game logic from C/C++ to ZScript. This has enabled an unprecedented level of gameplay modding, with just about every aspect of gameplay exposed to scripts. During runtime, ZScript performs well, since it is.