Difference between revisions of "MBF21"
From DoomWiki.org
[unchecked revision] | [checked revision] |
(→Supported ports: according to the main dev of port @kraflab over on Doomworld MBF21 is no longer planned for PrBoom+um) |
Redneckerz (talk | contribs) m (→Supported ports: Nugget addition) |
||
Line 36: | Line 36: | ||
* [[Eternity Engine]] | * [[Eternity Engine]] | ||
* [[GZDoom]] (Version 4.7.0 from September 22, 2021 introduced beta support) | * [[GZDoom]] (Version 4.7.0 from September 22, 2021 introduced beta support) | ||
+ | * [[Nugget Doom]] | ||
* [[Odamex]] | * [[Odamex]] | ||
* [[ReBoom Experimental]] | * [[ReBoom Experimental]] |
Revision as of 10:25, 7 November 2021
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.
Contents
History
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"[1].
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:
Detailed Features
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
- GZDoom (Version 4.7.0 from September 22, 2021 introduced beta support)
- Nugget Doom
- Odamex
- ReBoom Experimental
- 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.
See also
External links
- 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
- MBF21 thread at the Doomworld forums