M.U.G.E.N

M.U.G.E.N (also known simply as MUGEN) is a freeware 2D fighting game engine designed by Elecbyte, written in C which originally used the Allegro library. The latest versions of the engine now use the SDL library.

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 start button. 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 or use a coding to decide order. 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 to 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 the last addition done to the engine. As such, it is not present in any of the DOS versions of M.U.G.E.N.

History
Elecbyte released the customizable fighting game M.U.G.E.N in 1999. The engine was originally released in July 17, 2001. Beta versions of it were made to work on DOS, Linux and Windows platforms, distributed through their website. The engine allows users to insert created characters, background stages, and other game objects through interpreted text files, graphics, and sound compilations to create a functioning fighting game similar to commercial games. While the engine is set up primarily for fighting game development, several other game types have been developed using it, including shooter and platform 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.

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

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, 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 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. As of June 2007, an Unofficial Winmugen was also made available on a Japanese 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 a FAQ was added to the site, which 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". On September 19, 2009, Elecbyte made an unexpected comeback, updating their website with various features — including a forum and a downloads section, where a new build of M.U.G.E.N is now available.

In September 2009 a full release of M.U.G.E.N [known as MUGEN 1.0] that includes various new features — most notably (official) support for HD resolutions, victory screens and language localization — was made available through the Elecbyte website. Although this current build has various visual glitches and requires a fair amount of adjustments to the previously made content in order to be fully compatible with the new engine, Elecbyte has stated that it is their goal to have the new M.U.G.E.N fully compatible with previously designed content.

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

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. During Elecbyte's disappearance, compatibility problems arising from new versions were 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.

Clone projects
Since development of the engine was halted for a long time 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, InfinityCat, xnaMugen, jMugen, Direct-Xion-Game, Paintown and I.K.E.M.E.N. Some of them present online gameplay capabilities, a feature many users have sought after.

Reception
Despite its dual status as an engine to make games and a game itself and Section III of the readme file accompanied with the engine, demos of the engine have also made their way into magazines, usually exhibiting a large variety of works from various creators. Games Radar names M.U.G.E.N as one of the "12 weirdest fighting games ever", as did GameSpot.