M.U.G.E.N

The below was duplicated from Wikipedia on November 2, 2008.

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 donors 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 and MIDI initially, although it can be configured to play various audio formats via Winamp plugins, such as ADX and OGG, 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 games, 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.

Officially, Elecbyte claims to have forgotten what the acronym M.U.G.E.N stood for, but the readme documentation states that its meaning referred to the days when the engine was meant to emulate shooting games as opposed to fighting games. There is no official pronunciation.

DOS and Linux Versions
First released on July 17, 1999, M.U.G.E.N was initially created for MS-DOS. Development of the DOS version ceased when Elecbyte switched to the Linux platform in November 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. However, the development group discontinued the project in 2003 and shut down their site. Later speculation pointed at leaks made public of a private Windows-based M.U.G.E.N beta that was provided to donators.

Windows Version and Subsequent Hacks
The private WinM.U.G.E.N beta contained a two-character roster limit, locked game modes, and nag screens, and dubbed "Doritos 3D" by American community facet MRev. 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.

In 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. In 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. In 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.

Elecbyte's Website
In mid 2007, Elecbyte's site returned, though not without some controversy as to the legitimacy of it, as it only showed a single logo with Google ads on the side. On July 26, though, a FAQ was added to the site. This FAQ went on to claim that they would release a fixed version of WinM.U.G.E.N before major format changes in the next version, and noted the formatting changes would remove compatibility in regards to older works: "Do not expect old characters to work. At all."

These claims are still being questioned, with the possibility this is a hoax by someone who bought the domain, or someone that hacked it. Although the logo presented on the website is much different than the original logo--which is subject to copyright/trademark laws--further evidence beyond speculation does not exist at this time. However the most recent change to the page, one that states that a new version of M.U.G.E.N would be out "when 2D is back in fashion", the site has been written off as being fake.

Clone Projects
Since development of the engine was halted and no source code has been made available by Elecbyte, several clone projects started to try and duplicate the functionality of the engine from scratch, such as ShugenDo and InfinityCat. Some of them present online gameplay capabilities, a feature many users have sought after.

Gameplay
The engine uses 7 buttons for gameplay along with the directional keys, in order to accommodate six-button fighters, which use three punches, three kicks, and a taunt. However, characters do not necessarily use all seven buttons, nor need to follow a traditional six- or four-button format. At most, two human players can control characters, with others controlled by the engine's AI; including a demo mode where the computer controls all characters. In addition, several gameplay modes are available via the main menu.

The main mode of play is Arcade mode, where a character fights random characters as in other fighter games. There are also three different kinds of team modes: Single, Simul, and Turns. A fourth mode, Tag, is listed in the EXE along with two related script controllers, but was never used. In team mode, either side can use any of the team modes. Single is identical to not having a team, Simul gives that side a computer-controlled partner who fights simultaneously, and Turns uses a different character for each round of play, varying from a set number usually from 2 to 4 different characters in a row. If set, 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 each have half their respective normal maximum life values. Pre-WinM.U.G.E.N versions of the engine could have this feature adjusted or disabled via the options screen or the config file, but due to the nature of the hack, the option has not yet been reactivated.

Team Co-op is similar to Simul, except both human players fight on the same side at the same time.

In Survival mode, there is an endless stream of opponents, fighting them either one by one or two in a simul match. The objective is to beat as many opponents as possible, with the game ending when the player's team is defeated. The player can choose to play alone or in Simul or Turns mode, though single player mode gives the highest life and life recovered at the end of each round won. Survival mode was last addition done to the engine. As such, it is not present in any of the DOS versions of M.U.G.E.N.

Kung Fu Man
The first, and only, character created for the engine by its creator, Elecbyte. Kung Fu Man (typically shortened to just "KFM"), despite his name, is a practitioner of karate (as can be seen from outfit as well as his moves, such as his special triple palm strike). His appearance is that of a man in a gi with a black shirt underneath, blue shoes, headband, hair spiked straight up, and closed eyes (similar to Goro Daimon). He has no given name in Elecbyte's documentation or the character itself besides Kung Fu Man.

His storyline has that one day, he 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 won the ensuing battle, Elecbyte had not made Suave Dude as a character yet, and he was left to simply wait "until next time".

Many alternate versions of Kung Fu Man have been made for the engine by creators, more than any other character. Several versions of him have been edited, and other characters have been based on him, such as Another Kung Fu Man (edited from SNK's King of Fighters sprites) and Mako Mayama. Many use him as an example to make their own MUGEN characters. As a result, he has become an icon of sorts for M.U.G.E.N itself.



Suave Dude
Suave Dude is the antagonist of Kung Fu Man's storyline, and would have served as the game's boss. Although a sprite of him exists, Elecbyte never made the character, nor has anyone else in the Mugen community. This nonexistence of a Suave Dude character to fight is made light of in Kung Fu Man's ending, which has him sad and sulking in a corner.

He has an unexplained interest in Kung Fu Man's girlfriend, and created the clone KFM that fights in his storyline. Any particular reason why he chose to hound KFM however was never covered in any form. He's styled after the generic big bosses found in earlier fighting and beat-em-up games that kidnap a protagonist's girlfriend in an attempt to get them to fight for whatever reason (i.e. Double Dragon).

Dragon Claw
Dragon Claw is the creation of the late Reuben Kee for M.U.G.E.N, and as such is one of the first merchandised characters. Created from 3D renders with a flair for highly cinematic combos, the robotic character is completely original (its status as an original character made from 3D model renders places it in a small pool of mugen works as well too, as the majority are from commercial, edited, or original 2D sprites). Using its image its creator had shirts and even a coffee mug manufactured for the purpose of selling them. Regardless, according to one of Reubenkee.com's webmasters, only a couple of purchases have been made, but not enough to accurately cover the cost of hosting and such.

U.N.I.T.E.D
The Characters found in the U.N.I.T.E.D (Unofficial New Invincible Testp EnhanceD) fighting game; Xia Hou Dun, Shinobu, Blue Mary, Ryuri, and Guile; have been considered to be authored by Elecbyte under the moniker T.E.S.T.P (The Enhanced Special Testing People). The true authorship of the game is unknown, but T.E.S.T.P used private betas distributed by Elecbyte to make releases coincide roughly with new revisions of the M.U.G.E.N engine. The timestamps of the characters Xia Hou Dun and Shinobu predate the first release of M.U.G.E.N by four months. T.E.S.T.P also presented much of the same ideology that Elecbyte had in providing the work files for all characters and stages and encouraging others that they may use all coding provided in their released material, which due to a lack of adequate documentation in early versions of the engine served as examples to how some sctrls functioned.

At the very least, T.E.S.T.P had a good relationship with them, as the only others known to later receive advanced betas were donators for the purchase of a Windows compiler.

Developing Content for the Engine
Before the existence of many development tools available today, Elecbyte provided DOS command-line utilities to assist in the development, as well as tutorials and documentation. Content produced by elecbyte also included developer comments within the files to be used as guides. MUGEN's coding structure for content is text-based, and can be accessed and modified in any text editor, such as wordpad. The sprite format is in PCX 256-color 16-bit graphics files. Audio for screenpacks and characters use WAV. Both the PCX and WAV files are compiled in SFF and SND archives respectively, and require editing tools to modify the contents thereof.

With each revision of M.U.G.E.N there have been compatibility problems with changes and additions in state controllers, triggers, and with the latest Linux and Windows distributions, SFF's. Due to Elecbyte's disappearance, compatibility problems arising from new versions are nonexistent. Elecbyte never provided an automated updater, citing the impossibility of such a feat. However, they did provide a detailed change log for each version to facilitate updating to a new version of the engine. In response, a third-party tool called SFFextract was created to extract the pcx files of an SFF and produce a txt file to pipe into sprmaker. SFFextract when used properly is able to assist in modifying an SFF file so later M.U.G.E.N versions could handle.

File Structure
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(below), 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. One CNS file in particular, common1.cns, is used by the engine to handle many of common actions between characters, such as jumping or taking hits. States from this file can be overridden in the character's own CNS files, or the entire file itself can be overridden. The original file itself however has a few shortcomings though, most notably certain bits were coded specifically for the Kung Fu Man character, such as landing from a fall and dashing.
 * 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.

Reception
Despite its dual status as an engine to make games and a game itself, M.U.G.E.N is typically regarded as a heavily customizable game solely by magazines, websites and newcomers to M.U.G.E.N; Eliza Gauger of Kotaku described it as "some crazy mashup game", referring to a video of Godzilla smashing through the first level of Super Mario Bros. Demos of the engine have also made their way into magazines (usually with a mishmash of works from various creators), or by purchasing a compiled game on eBay, a practice heavily frowned upon given the illegality of selling the engine itself and other reasons (see Controversy over Redistribution of M.U.G.E.N Works, below), believing that they're purchasing a commercial game only to find it to be M.U.G.E.N. Those introduced to the engine the first time through compiled games tend to be discouraged to further use it, as these game compilations (a combination of characters, stages and a screenpack) tend to be unmodified for balance and gameplay, giving the image M.U.G.E.N is nothing more than a "jumbled mess".

Users of the engine itself have decried flaws of it. Without CMD optimizing and other tricks to boost the attack frequency, Mugen's AI is very weak compared to commercial fighters, offering not much in terms of competitive gameplay, and raising the engine's difficulty level has little effect on difficulty. To counteract this, character creators have scripted their own workarounds via AI scripts and activation of said scripts within the character's CMD file (the one regarded as most reliable thus far being by creator Winane, who compiled many reliable methods into one working one). Stage interaction and character transformation are two other major items for players that are missing, though workaround methods using a stage's formerly obsolete starting z-axis positions have been used to give stages an 'ID' for player characters to detect, though not without limits. Errors in the documentation have led to issues regarding comprehension of key features, and the placement of required sprites has been cited as tedious. Regardless of these shortcomings, M.U.G.E.N creators have been creating content for years, pushing the engine beyond the application of fighting games. Other game types possible include arcade-style shooters or platform games, such as Bane84's Xtreme Theme Shooter Machine (a game featured in the December 2006 issue of the magazine Hardcore Gamer), KGenjuro's J'Dar II (a vertical shooter akin to Solar Striker), or Falchion22's platformer Castlevania X, a tribute to the game series of the same name. Many genuine full fighting games also exist of course, such as Bia's SF2NES, the King of Fighters Zillion project, and Babel Sword by Tatsu.

As a game, M.U.G.E.N receives mixed reviews due to the content available for it. Many characters due to poor coding, an emphasis on graphics instead of gameplay, and/or highly overpowering a character leave for a very unbalanced battlefield. Scripted AI to overcome mugen's shortcomings tends to be of one extreme or another, and in most cases tear apart the majority of characters that lack AI. The biggest decry against the game however seems to be the unavailability of some content due to various reasons. Not everyone agrees with "community ethics" that a significant amount of individuals enforce, which involves prohibiting distribution of engine content without the author's consent, and thus become frustrated that they can't get what they would like to play with. To counteract this some forums run request services to exist for person-to-person content distribution via email or PM, notably the largest service of this sort being Mugen Museum.

However, despite these flaws, some people enjoy M.U.G.E.N. The idea of seeing and playing their favorite characters and having them fight other characters that they normally wouldn't fight is enjoyable. For example, Homer Simpson vs. Mario, Ryu vs. Goku, or Terry Bogard vs. Onslaught. As a result, there are quite a lot of M.U.G.E.N videos on YouTube as well.

M.U.G.E.N has appeared on television shows more than once, notably seen on G4's "Attack of the Show", as Peter Griffin from Family Guy fought Sakura Kasugano from Street Fighter in Gato's stage from Garou: Mark of the Wolves. The show's hosts believed it was a hack of Marvel vs. Capcom and stated such, but it has been proven to be a video of M.U.G.E.N gameplay. Later it was featured on a VH1 internet countdown.

Legality
The 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. However, Elecbyte has never taken any legal action; the company has disappeared without explanation. People chose to continue using M.U.G.E.N, and deprecated versions of it, despite the lack of a new license (the DOS version was still in widespread use when its license had expired at a time when the Linux version's license was still valid). Creations, such as characters and stages, for use with M.U.G.E.N are not a part of Elecbyte's license (provided those creations do not include the executable as well), only the software itself is. 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. Eventually the time-release rule was limited to Neo-Geo games as those could be emulated as soon as a ROM was dumped and released. While this has no actual impact on the legality of the materials in question, it served to avoid any legal pressure from the copyright holders, and as a means to keep M.U.G.E.N from 'competing' with commercial games and drawing their ire.

Not all companies have a fanart approach to the engine/game. SNK Playmore responded to an email query asking directly about their material being used in M.U.G.E.N creations that they don't support any usage of intellectual property outside of their company, However this decision was later reversed and they allow M.U.G.E.N works as long as they are for private, non-commercial use or resale. A later email query was sent by former MugenGuild admin Messatsu to clarify the situation further, allowing for the works to be distributed freely over the internet. Capcom was sent a similar email query, the response stating they understand that it is just fan art and as such, are not threatened by it. The response under closer inspection is actually just a re-wording of their stance on fan art websites. It should also be noted however that the subject of M.U.G.E.N has come up on Capcom USA's forums with no hostility shown by Capcom's staff, a response very different to that given to projects like Street Fighter Online to support themselves.

However, French-Bread (known as Watanabe Seisakujo prior to 2003), the creator of the Queen of Heart games, and the co-creators of Melty Blood, have asked that content from their work not be made for the M.U.G.E.N or the game Knuckle Fighter X. However, they began loosening their stance regarding conversions, when during the release of Melty Blood, they requested that sounds and voices from the game itself not to be used with the converted characters, as opposed to outright content bans earlier imposed. This limitation for the Melty Blood series was removed in subsequent installments of the game series; however, previous other content bans persist, notably in regards to the Queen of Heart series. Since then, French Bread has not expressed objections of conversions from their later games, like Glove on Fight or Ragnarok Battle Offline.