MBF21

MBF21 (or unabbreviated to Modder's Best Friend) is a specification and standard specifically aimed at mod authors and mods in general. It builds on top of the possibilities shown in the Boom and MBF source ports. It defines a new complevel,, to introduce a range of new features that seeks to improve the capabilities available in levels and mods, to be implemented in various source ports.

MBF21 version 1.0 was finalized on May 30, 2021.

History
The idea behind the MBF21 specification arose from the need for a new complevel originally coined MBF+ by Kraflab in a Doomworld thread titled: "Let's talk about mbf+ / a new complevel".

The specification had the following goals to fulfill:
 * Fix bugs and miscellaneous issues in MBF
 * Maintain backwards compatibility with the features of MBF
 * Make it easy to modify previously hard-coded elements of the engine
 * Add "low hanging fruit" features for maps and DeHackEd that are in demand
 * Make changes that are easy to adapt into existing source ports and tools
 * Maintain the classical / conservative flavour of Boom/MBF

Highlights
To give an impression of what is possible with the MBF21 specification:
 * Instakill floors
 * Better generalized line scrolling
 * Granular control over monster infighting and projectile/splash damage susceptibility (e.g. you can make barons and knights infight, or make imps immune to cacodemons and barrels, and all sorts of funky combinations)
 * New actor flags, exposing a whole ton of previously-hardcoded actor behaviors (e.g. splash damage immunity and boss death triggers), plus a few new things like ripper projectiles and low gravity
 * Weapon flags, make your weapons silent, customize autoswitch-on-pickup behavior, etc.
 * A proper "ammo per shot" field for all weapons, not just the BFG
 * A lot of new DeHackEd codepointers, with up to 8 customizable args. This allows mods to feature custom weapons and monsters easily
 * Bug fixes & compatibility options:
 * Fixes for 3-key doors
 * Working generalized crushers
 * Ability to disable Boom's pushing-monsters-off-ledges behavior

Supported ports
Support for the MBF21 specification will be implemented in the following source ports:
 * Doom Retro
 * DSDA-Doom (Version 0.19.0 from May 30, 2021 was the first port to officially implement the standard)
 * Eternity Engine
 * Odamex
 * PrBoom+ (UMAPINFO branch by Graf Zahl)
 * Woof!

Additionally, the Ultimate Doom Builder level editor provides support for the MBF21 specification, but must be enabled first.

Credits
The MBF21 spec was developed in a collaborative effort over the course of two months with various members of the community. The core team responsible for the spec included the following members:
 * Alex Mayfield (AlexMax)
 * Max Waine (Altazimuth)
 * Boris Klimeš (dew)
 * Matt Tropiano (MTrop)
 * Paul DeBruyne (skillsaw)
 * Keyboard_Doomer
 * Kraflab
 * Xaser

Trivia

 * The name MBF21 is both a reference to the number of the new complevel (21) and the year development of the specification was started, 2021.