What Is MUGEN?
All info credited to Dissidia
M.U.G.E.N is a freeware 2D fighting game engine designed by Elecbyte, written in C with the Allegro library. The engine was originally released in July 17, 1999. Beta versions of it were made to work on DOS, Linux and Windows platforms, distributed through their website or to donators via email. With the release of the Linux version, support for DOS ceased.
The engine allows anyone to create characters, background stages and other game objects through interpreted text files, graphics, and sound compilations. It supports various types of audio formats such as MP3, ADX, OGG and MIDI as background music during gameplay or at other points such as an introduction or the select screen. The engine allows for most of the same type of functionality found in most any commercial 2D fighting game, up to and including close recreation of those games' characters and gameplay. While the engine is set up primarily for fighting game development, several other game types have been developed using it, including shooter and platformer style games.
Characters and stages in M.U.G.E.N are modular and flexible. How they are structured is primarily defined by the common convention of tool makers, rather than the internal makeup of M.U.G.E.N itself. Aside from media files (graphics and sound), the files defining a character or stage are mostly left as plain text.
DEF: Definition file; has various purposes. For characters defines the name, authorname and files associated with the character, while more specific DEF files such as SYSTEM define the outer 'skin' of the engine (commonly called screenpack or motif), and FIGHT defines the HUD (or lifebars) for the actual fights themselves. Note that SYSTEM.DEF and FIGHT.DEF are not absolute names, but those commonly used (and used by the default motif). For stages, the .def file acts as both .def (files associated with the stage) and .air file.
ACT: Palette file; used with characters to define the character's colors in game. Each character can have up to 12 palettes (one for each attack button, and one for each attack button while holding the Start button). Editable with programs like Paletero, Fighter Factory and ActEdit.
AI: A file the engine itself writes when the line "ai =" (followed by a filename) is included in the DEF file, and is not covered in the documentation. It was discovered through experimentation. While the engine clearly does read the file it has made (an AI file from a different Mugen version gets dubbed invalid and rewritten with an error message present in the debug text), there's no surefire indication that this file actually augments the character's natural AI when controlled by the CPU, although the growth in size after successive or prolonged usage of a character shows that data is being written. This type of file is the least used among content creators due to both the absence in the documentation and the relative newness of the file type's discovery.
AIR: Animation file; tells the program how to play back a sequence of sprites to form an animation. The character's collision boxes are also defined here.
CFG: Configuration file, used solely by the engine. The file, mugen.cfg can be found in the data folder of the engine, and defines the basic functions. Some options are modifiable from M.U.G.E.N itself as Options while some are only modifiable through the file itself.
CMD: The command file, defines what commands the characters can use. Up to 128 unique attack commands can be defined here. This has led to some minor problems with newer versions of Windows that have started using this filetype for purposes unrelated to the M.U.G.E.N engine. Recent versions of windows reserve this filetype as a format similar to BAT files, leading to some complications, such as email services like Gmail blocking the file type fearing it to be a virus.
CNS: Character constants file; defines how a character acts and moves in terms of velocity, height, width etc. Also, coding is typically placed in this file instead of/along with ST files.
FNT: Font file; is constructed from the combination of an 8-bit pcx image and a correlating txt file. The pcx image depicts the characters that would be defined in the txt file from left to right. The txt file would tell where each of the characters begin and end relating to their location in the pcx image. Usable characters may be limited to ASCII's 128, but might be able to be extended to roughly 255 unique characters through the allowed usage of hex codes to define characters in the txt file. M.U.G.E.N does not support characters that are defined by more than a single byte. Although intended to create an alphabet, single-letter stage names allow a workaround for FNT files to display stage previews on the select screen.
SFF: Sprite file; contains one or more sprites constructed from PCX images at 256 colors. Used for all sprites associated with the different parts of the engine, ranging from characters and stages to the screenpack itself. Pre-Linux versions of M.U.G.E.N allowed for stages to use unpaletted PCX files. While removed from the Linux version on, it was replaced with the option to use PCX files within characters that used a different palette, allowing for further possibilies notably regarding hitsparks and fx.
SND: Sound file; contains one or more sounds constructed from WAV files, and like SFF, used by all related parts of the engine (characters and screenpack).
ST: State file; defines character behavior and attacks. Optional, in that commonly coding is used here, but many characters like the default Kung Fu Man put the coding in the CNS file instead. Coding can also be put in the CMD file (as shown with State -1).
Note that with the exception of CFG, none of these file extensions are enforced by the engine, and serve only as the standard set by Elecbyte. However most mugen tools do follow most of these absolutely, notably in regards to SFF and SND.
Dissappearance of Elecbyte, M.U.G.E.N's Future, & subsequent hacks
On 2003, Elecbyte's website dissappeared without any apparent reason why the website was gone. Elecbyte himself was gone aswell, which also affected what will it happen to M.U.G.E.N's future. Around the same year, a private beta Elecbyte was working on was leaked. The private WinM.U.G.E.N beta contained a two-character roster limit, locked game modes, and nag screens. With the beta leaked and Elecbyte gone, a "no limit" hack that removed most of these limitations was made available in 2004 by Rou Hei, followed by subsequent updates to deal with bugs and other issues. This version of M.U.G.E.N. is functionally the same as the last Linux release, though with subtle differences and unique issues, mostly revolving around proper music and music plugin support. Because of the changes between the DOS and Linux versions of M.U.G.E.N however, many older characters required at least the SFF files to be modified to show palettes correctly (notably on portraits) as well as some changes in how certain CNS script controllers functioned, causing some minor upset and those that could still run the DOS version in some form sticking to that, as well as DOS patches to downgrade characters to be compatible with the older version of the engine.
On May 2007, a hacked version of WinM.U.G.E.N was released by a third party that added support for High Resolution stages (like those seen in Guilty Gear X) at the cost of losing support to standard resolution M.U.G.E.N stages. Later that month, another hack was done to add support for High-Res select screens. On July 2007 another hack created by Sion and Kung Fu Man based on the last high-res hack allowed for only the select screen to be high-res and not the stages. On December 2007, a hack from an anonymous source allowed both low-res and hi-res stages to be functional in the same build, requiring only a single line of code to be added to hi-res stages. This was known to be called as "Winmugen Plus".
Get [Hi-Res] Winmugen & Winmugen Plus Here
My Opinion On MUGEN
The MUGEN community is solely the reason why the MUGEN engine still even exists to this day. It's become a "for us, by us" kind of mentality with both creators and users alike. With the current resurging of fighting games with online play enabled, MUGEN is more of a fantasy versus the most realistic element of fighting games in my opinion-playing against a variety human opponents.
That's possible with MUGEN, but you'd have to have at least one buddy home with you and two USB controllers to work with. That pales in comparison to play on a worldwide scale with other users with console/arcade games. Still, MUGEN has it's quirks and novelties which is enough to make many people (myself included) come back to it.
Personally, as being a creative, artistic mind myself, I enjoy the idea of creating my own content for use with the engine. User-created content is in fact the most innovative feature in gaming nowadays, but no actual game lets you build content from scratch save for maybe a few others-and even still those involve hacking the original game's code to do so. With MUGEN, you are actually programming the code yourself, so the results can be mediocre, crappy or simply astonishing depending on your level of commitment. Coding & creating for MUGEN is something that's tricky to learn but easy to master if you stick with it.
That's how I myself have gone from some so-so low-res stages to the hi-res ones you see on this site, and this was without any prior knowledge of coding whatsoever. It also helped that I got tips and guidance from some amazing creators as well.
Another possible downfall to MUGEN is the community itself. Most forums are infamous for being selective, snobbish and quick to attack those who don't "fit into" their niches. Some have a majority of members who're more interested in the latest version of "Hyper God Orochi Ryu Level 30 version 2.13" than original, innovative content, which may (and has) turned some great creators away from MUGEN. Then, there are those communities who actually breed creativity and originality, those who I frequent myself and support 100% (you'll find them in the Links section).
I will continue to use MUGEN, not just as a player but as a creator, because I'm one of those who despite the politics of the community simply enjoys both aspects of the engine. Many have diverse opinions on it, but mine is that I will continue to use it until I'm bored with it.