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, -complevel 21, 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.
The idea behind the MBF21 specification arose from the need for a new complevel originally coined MBF+ by Ryan Krafnick (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
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:
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
- ReBoom Experimental
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)
- 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.
- MBF21 main page, hosted by GitHub
- Full specification, hosted by GitHub
- Specification for developers, hosted by GitHub
- Specification for level editors, hosted by GitHub
- MBF21 OPTIONS lump examples, hosted by GitHub
- Doomworld forums thread at the