M.U.G.E.N

M.U.G.E.N is a 2D fighting game engine designed by Elecbyte and originally released in 1999. Elecbyte distributed beta versions that ran under DOS, Linux, and Windows. The engine allows for anyone to create characters, stages and other game objects through interpreted text files and graphics and sound compilations and it also supports various types of audio formats such as MP3, ADX, OGG and MIDI as background music during gameplay. The engine allows for the type of functionality found in most any commercial 2D fighting game, such as the Street Fighter games produced by Capcom, the Dragonball games produced by Bandai, or the King of Fighters games produced by SNK.

History
From 1999 to 2001, there were several incremental releases of the M.U.G.E.N engine for DOS. Development of the DOS version ceased when Elecbyte switched to the Linux platform in late 2001. For a time, Elecbyte had posted a request for donations on their site to legally obtain a Windows compiler to make a Windows version of M.U.G.E.N. A number of donations to the Elecbyte site soon followed, as many users would much rather have a Windows version instead--there were problems with using the DOS version of M.U.G.E.N on Windows XP. The new Linux releases added features that the DOS version did not have. There were then promises of a Windows port of the engine, but the development group decided to discontinue the project in 2003, presumably due to leaks made public of a private Win M.U.G.E.N beta that was provided to donators. The Win M.U.G.E.N beta contained a two-character roster limit, locked game modes, and nag screens. A "no limit" hack that removes these limitations was made available in 2004. This Windows version is functionally the same as the last Linux release and is the most widely used version of M.U.G.E.N today. Despite some controversies - modifications made on the actual engine are sometimes seen as an analogue to those made on the creations developed for it, and this is a recurrent topic of discussion among M.U.G.E.N fans (see Fork (software development)). Since development of the engine was halted and no source code has been made available by Elecbyte, there are now some projects in the works to make a clone of the engine from scratch, such as ShugenDo (previously OpenMugen) and InfinityCat. Some of them present online capabilities, a much sought-after feature. None of these projects are currently complete, though many have high hopes for them. Today, many examples of M.U.G.E.N can be found in combo videos on the video hosting site YouTube.

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.

Gameplay
The engine uses 7 buttons for gameplay, fully configurable: X, Y, Z, A, B, C and Start (typically, 3 for punches, 3 for kicks and 1 for taunting) and the directional keys, though all of this depends in the long run on the game made itself. At most, two human players can control characters, with others controlled by the engine. In addition, several gameplay modes are available via the main menu. Any of the menu options can be disabled by changing their text in the system.def file to "".

For each mode mode, the key you hit will determine which side you play on. If you chose with one of Player One's keys, your character will play on the left side. If you chose with Player Two's keys, you will start on the right side.

For the "team" modes, you first choose what team mode you would like to play in. Press up/down to choose a mode. Some modes, such as Turns mode, allow you to set the number of players on a team by pressing left/right. Press a key to choose an option. In "Team Arcade", after selecting your players, you have a choice of your opponents' team mode. These are the different kinds of team modes: Single, Simul, and Turns. In the EXE there's evidence a fourth mode was planned in the placement of the term "Tag" above Turns in it, as well as the hidden programming controllers TagIn and TagOut (though only TagIn functions). It is uncertain just why Tag never became a full blown option.

The characters' starting life will be adjusted according the number of players on each side. If one side has two characters and the other has only one in one of the Team modes, the side with two characters will have half their normal maximum life.

Team Co-op is slightly different. The only team mode allowed is Simul, which is automatically selected. Player One first gets to select his character, followed by Player Two selecting the partner character. When Player Two is done, Player One chooses the opponent's team mode.

In Survival mode, there is an endless stream of opponents. The objective is to beat as many opponents as possible. The game is over when your team gets KOed. You can choose to play alone or in a team. Single player mode gives you highest hit points and healing (when you win a round). The more players you have on your team, the less damage each player can take, and the less each healing you get after each round. Survival mode was a last minute addition to the engine and the last change done to the engine. As such, users of the DOS version of MUGEN do not have this feature, but those who have the Linux and Windows version do.

M.U.G.E.N also features a demo mode called "Watch". In Watch mode, first choose the team mode and characters to be on Player One's side, then do the same for Player Two, after which the AI controls all present characters basically fighting itself. Given the AI can at times tend to do things a regular player may not (or may have not thought of), it serves as a good way to hunt down elusive bugs that may otherwise cripple a creation.

Associated Filetypes
The following file extensions are commonly associated with M.U.G.E.N development in that they make up the 'parts' of the game to be developed. Note that while none of these extensions are really required with (for the most part) the exception of DEF, they are the filetypes commonly looked for by tools. With the exception of ACT, AI, SFF, and SND, all these files can be opened in a text editor and altered easily. 


 * 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 'cockpit' (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.


 * 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 you'll find that 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: you can specify whatever you want. Although not using .DEF can lead to problems when releasing something publicly as that is most commonly left the same.

Developing Content for the Engine
Before the existence of many tools available today, Elecbyte provided command-line utilities such as SPRMaker, SNDmaker, PCXClean and pal2act to assist in the development. Coding for MUGEN usually is done over text editors such as notepad. For the graphical aspect of the programming, people usually resorted to Adobe Photoshop or Paint Shop Pro to either process the images to be used or to generate palletes, in the form of .ACT files. AIRedit, also by Elecbyte, facilitated in the animation aspect of the programming as well as collision box modifications.

Today, there are more centralized software available that are dedicated to MUGEN development like Mugen Editing Ensemble, Fighter Factory, and MUGEN Quickedit. More recent creators rely on these programs which are actually one or more compendium of tools. Other tools are standalone programs that are dedicated to one aspect of MUGEN creation, like with the manipulation of SFF files. MCM is one such example. SNDsgood is another example of standalone tools, but for SND files.

Legality
The previous license agreements for usage of M.U.G.E.N from Elecbyte have expired and it appears that a new license agreement will never be granted. Thus, any current distribution of M.U.G.E.N has not been authorized by Elecbyte and is technically illegal. With the license expired on all versions, when running the M.U.G.E.N program, the user is reminded of this through a nag screen. While illegal, some view that the purpose of the executable's nag screen was to encourage adoption of newer iterations of the engine. Evidence of this can be inferred by the brief period of time that a license was made available from the release date of a version of the engine--it was often not long enough to develop an original character from start to finish. Although Elecbyte has never taken any legal action; the company has simply disappeared without explanation. Many people chose to continue using M.U.G.E.N despite the lack of a new license. Creations such as characters and stages for use with M.U.G.E.N are not a part of Elecbyte's license, but only the software itself is. So it is up to the individual whether or not to violate Elecbyte's license by using M.U.G.E.N. Elecbyte itself has not made a public statement since 2003, when they stated that the project had "hit a snag".

Most characters and stages are of dubious legality as well, as most are made using sprites and sounds ripped from copyrighted games. For this reason, some standing communities enforced a loose "time-release" rule, whereby they do not allow linking to characters made from recent games. While this has no actual impact on the legality of the materials in question, it has presumably served to avoid any legal pressure from the copyright holders. Some copyright holders, such as Capcom, are said to understand that it is just fanart work and as such, aren't threatened by it.

The work material has two categories: the content of the SFF and SND files are copyrighted by the respective owners (like Capcom, SNK, etc); the other files, like CMD, AIR, ST, and CNS are copyrighted by the author of the character or the stage. Elecbyte stated that the reason why the code files were text-based and directly processed by the engine in this manner was so that users could learn from each other, yet there has been a great deal of controversy regarding permission (or lack thereof) between coders.

'Warehousing'
There has been debate over the act of hosting the works of content creators (or authors) for the engine without consent from the author, a practice dubbed "warehousing." Warehouses and content 'megapacks' are generally seen as ideal for new engine users who are able to obtain a lot of useable content quickly with little searching. Arguments have risen against this practice. Since the "warehouse" would host all the content they previously downloaded, the content users are unaware of original source of the content and possibly miss any patches and updates related to the each piece of content. Another issue stems from the fact that many authors gain revenue in one form or another by visitors to their sites, be it by advertising banners on their site or merchandising (such as that sold by Mugen Institute for their original Dragon Claw character.) The use of "warehousing" has the potential to drop the amount of visitors to the author's web sites, often causing the author to lose revenue and to lose interest in creating and updating content.

There is some controversy on the legality of warehouses. Although most of the authors have not registered copyrights pertaining to the code or graphics used to create the content, much like hosting a videogame FAQ it is considered in violation of the author's moral copyright unless permission to host is given. The debate ranges from original design by authors as well as derivative works or fan art often taken directly from previously released video game characters. A violation of copyright of the original designs would be where the original author has good standing to legally sue an offending web host if the correct documentation was files before the release of the characters. Typically it is argued that legal action isn't sought for the misuse of most M.U.G.E.N creations because the origin of sprites and sounds has been ripped from commercial games even though the program code is crafted from scratch or templates.

The debate over warehousing has been long standing, but several key arguments stand out:


 * The argument that the engine itself is freeware, and thus covered under freeware laws. In reply, opponents state due to the license agreement obtained by Elecbyte, which in part may still apply, M.U.G.E.N itself is actually shareware, and covered under the laws governing such.


 * The argument that when copyrighted characters or sprites such as those owned by Capcom or SNK are used in the works, the works themselves are a violation of copyright and thus any claims are to be argued as null and void. Although Nintendo has released a statement against emulation in all forms, Capcom, SNK and other sites have not shown any ill will towards those creating content for the engine, despite being aware of the practice for several years. In fact, only one group has stepped forward to ever ask content from their work not be made for the engine: French Bread (Known as Watanabe Seisakujo prior to 2003) the creator of the Queen of Heart games, and the co-creators of Melty Blood. They also included the community of developers for the game Knuckle Fighter X in this notice. During the release of Melty Blood, they requested that sounds and voices from the game itself not to be used with the characters, notably loosening slightly their stance regarding conversions. Interestingly, this limitation was removed in subsequent installments of the game series. Since then, French Bread has not aired any publicly known objections of conversions from their later games, like Glove on Fight, and Ragnarok Battle Offline, however their exact stance is debatable.


 * Some sites host original characters generated by the author themselves (such as those by Reu or Rikard), in which case the characters are still copyright of their authors. The copyright on the code itself is the key factor here, though this use copyright has been misinterpreted to cover the sprites or the character concept.

The M.U.G.E.N community is one of the few online game and modification communities to practice such disdain for warehousing.

M.U.G.E.N Characters By Elecbyte
Kung Fu Man - The first, and only, character created for the engine by its creators, Elecbyte. Kung Fu Man (usually called KFM for short by those in the community), despite his name, is a practitioner of karate (as can be seen from his moves as well as his outfit). One day, KFM was walking with his girlfriend when Suave Dude and his minions kidnapped the girl, and retreated to their mountain temple. KFM soon followed, only to come face to face with a clone of himself created by Suave Dude. Although the original KFM won the ensuing battle, Elecbyte hadn't made Suave Dude as a character yet, and KFM was left to simply wait.


 * His appearance is that of a man in a gi with a black shirt underneath, blue shoes, headband, hair standing straight up, and closed eyes (similar to Goro Daimon or Brock).


 * As the engine's development progressed, so did Kung Fu Man, gaining the occasional new move, implementing newly created engine features, and at one point sporting an improved look. His story was never actually fleshed out by Elecbyte themselves, leaving him to be a template character of everyone else to use as a base for their own characters. Many fan storylines exist, and fanon would have his real name to be Joe Mayama. This name was originally based off the fanon created from the character "Kung Fu Mako"/Mako Mayama by Taruse, being regarded as his sister. Canon-wise though, his name is just "Kung Fu Man" as the character was not heavily developed by Elecbyte.  However, with such a generic name, perhaps it wasn't the intention of Elecbyte to make him a complex character.


 * Many alternate versions of Kung Fu Man have been made for the engine by creators, quite possibly more than any other character.

Suave Dude - Suave Dude is the antagonist of Kung Fu Man's storyline. Although a sprite of him exists: Elecbyte never made the character, nor has anyone else in the Mugen community.


 * He's shown in straightforward attire--with blond hair, shades, and a gun in his hand.


 * Little else is known about him, other than the fact he seems knowledgeable about cloning (he creates a clone KFM to fight the real one ) and has an interest in Kung Fu Man's girlfriend.

Pronunciation of M.U.G.E.N
There is no official pronunciation. However, here are some popular examples of pronunciation:
 * moo-gen
 * mu-gen
 * muh-jen
 * moo-jen
 * myu-gen
 * myu-jen
 * mug-en

"Mugen"(無限) in Japanese means "infinite", therefore the latter could be the suggested pronunciation. Whether M.U.G.E.N's acronym origin is simply the Japanese word Mugen, but spaced out by periods or the acronym just coincidentally spelt an existing word out is debatable. However, Elecbyte claims to have forgotten what the acronym M.U.G.E.N stood for, but documentation states that its meaning referred to the days when the engine was meant to emulate shooting games as opposed to fighting games. Kung Fu Man's documentation has Japanese comments to go along with some of the English ones. So having no official acronym for M.U.G.E.N, it wouldn't be entirely unrealistic to conclude that the Japanese meaning was intended, despite what the provided documentation states. Lacking communication with Elecbyte, the real meaning of the acronym M.U.G.E.N may always be unknown.