.[B] MUGEN Study Files
  by Byakko

Top What's MUGEN Basic structure Process Elements Coding Format Ethic Links

What's MUGEN


Show / hide all
WHAT'S THIS (Show/hide)
This is an overview of Mugen, trying to make things as simple and short as possible, but touching most of the subjects. Basically, on various Mugen forums, you usually see the same questions come up over and again, anytime someone new comes across Mugen and asks about it, anytime someone tries to create his first character... This is aiming at answering all of those common questions to give a comprehensive view of Mugen.
This will not teach you all the secrets of creating the best character, but this will help you understand what's what, what it is you are looking at, and where to look at when you will later search for specific things.
 
WHAT'S MUGEN : THE ENGINE (Show/hide)
The program Mugen is the engine itself that will load the code you wrote for your characters and interpret it to make your character move. It is possible to build yourself a game using Mugen by putting together several characters and stages with a screenpack so that they work well together like a true game you would play on a console.
 
WHAT'S MUGEN : THE NAME (Show/hide)
M.U.G.E.N is presented as an acronym, and previous ReadMe files have mentionned that it once stood for something they have since then forgotten. However, the pronunciation of the name "Mugen" is intended as the same as the Japanese word that means "infinite", with a "mu" that sounds a bit like a "moo" except with a very short "u", and a hard "ge" sound as in "get".
 
THE CODE (Show/hide)
The code language you use to create a character to be interpreted by Mugen is none of the various programming languages ; it is a language created specifically by the author of the engine, Elecbyte, so that anything written for it will work just on Mugen. The engine itself was, of course, programmed with an existing programming language, although I do not personally know the details (for example, the previous versions of Mugen before 1.0 used the Allegro library, for anyone familiar with it). Regardless, the code of the engine is closed off - the source code has never been released by Elecbyte, and it is anyway irrelevant to the development of characters and stages to work on that engine.
 
WHAT'S IN MUGEN (Show/hide)
Mugen is an ensemble made of a screenpack (that includes all the various menus to navigate in and the hub of the fight - lifebars, portraits, powerbars), the characters, stages, musics, text fonts and storyboards.
This overview will focus on the characters, the way and format they are coded in, and the tools to code them.
 
CREATING FOR MUGEN (Show/hide)
Creating a character is usually not something you can decide within the snap of a finger and have finished before the end of the hour. Creating a stage or character requires a bit of dedication, a bit of imagination, a bit of organization, and the material for what you are creating.

To create a character (which is what this overview focuses on, but this is also true in general), you need :
  • the graphics : 2D sprites / images
  • the code : a few text files, the most important ones of them possibly growing well over ten thousand lines
  • the sounds : ... well, yeah.
The graphics are very often ripped (extracted, copied, cleaned) from an existing game, but they can also be drawn by hand on any paint program. Of course, creating the sprites yourself is much more demanding and requires much more talent and dedication than the former method, thus taking sprites from an existing game is much simpler. Very often, it is possible to find sprite packs on the Internet, but it is also possible to rip them from the game - often through an emulator with sprite viewing functions, or sometimes directly extracted from the original support, depending on your abilities and knowledge of the material.
The code makes up a major part of the character, and you need to write it by yourself. Most of your time will be spent on this, as it may require constant tweaking.
 
THE FILES TO CODE A CHARACTER (Show/hide)
  • .def : the file that defines all the other files that will be used by the character, and also defines the most generic information like the name that is displayed. DEF obviously stands for definition.
  • .cmd : the file that defines the input sequences for all the possible commands, and assign a command to a movement. CMD obviously stands for command.
  • .air : the file that defines the animations.
  • .cns : the file that defines all the movements by breaking everything down in states. The core of the code. CNS stands for constants, as the first thing it contains are the constants of the character : the velocities, gravity, the size, the position of the head...
  • .st : an alternate extension used for the CNS files, especially when there are more than one. ST stands for state.
  • .sff : the file that contains all the sprites of the character, each being assigned a group number, a sprite number in that group, and the coordinates of the axis. The .air file refers to these group and image numbers to display a given sprite. The sprites are given a default palette.
  • .snd : the file that contains all the sounds.
  • .act : the palette files. They are used to change all the colors at once, by switching the default palette with the selected palette. In Mugen 1.0 and above, those files are not used anymore and the palettes are part of the SFF file.
The DEF, CMD, AIR, CNS, ST files are all text files. You can open them using your favorite text editor - WordPad, NotePad, NotePad++, even Word ; my personal preference goes to NotePad++. Technically, these files don't need to have these extensions, the file that contains the commands could be named .blargh instead of .cmd, as long as you specify the correct name + extension of the file in the DEF file ; the reason for that is that, ultimately, it's just text in the file. The .st extension is not used all that often, as people more easily use one single .cns file for most of the code, and when that code is broken up into more than one file, the .cns extension is often used instead of .st. Similarly, all these text files could even be put in the same file, such as putting everything in the DEF file itself, as long as you point it out in the DEF file. It is, however, simpler to use the standard extensions, if only to recognize the files at a glance.
Note that there is a file that contains a lot of common states, the common1.cns file located in the mugen/data/ folder. This file is usually included in the DEF file.
 
BRIEF HISTORY OF MUGEN (Show/hide)
  1. DOS era
    MUGEN was first released in 1998 as a DOS program (this does actually work on Windows, or rather did at the time, as more recent versions of Windows put a lot of restrictions on DOS-based programs). Right from the start, a few format changes quickly arrived in the next couple of years (such as all names needing to be in quotes while they didn't at the very beginning). By 2001, Elecbyte started working on a Linux version, and tried to port it to Windows (as a proper windowed program that could also work on later versions of Windows).

  2. WinMugen era
    When 2003 came, Elecbyte apparently gave up and let their site die down without any new version, never going past the beta version that was only privately distributed for testing. With Elecbyte apparently dying down, the private beta testing version was leaked, and then hacked (limitations for the beta version were removed) around 2004. That version, WinMugen, saw a few more hacks by different people, including versions that allowed high-resolution stages, screenpacks, then both. The popularity of the leak then the hack started low, but the community quickly adapted to it, if only to survive.

  3. Attack of the Clones
    While Elecbyte was away, a few "clone" projects emerged. Some tried to retro-engineer Mugen and offer a clone that could later be improved, some came up with a completely new engine that would be very loosely based on Mugen with various major differences. Few have gained steady support, and fewer have seen steady improvement. Some of them even dropped out with the return of the Jed Elecbyte. The notable ones have been ShugenDo, InfinityCat (which is now discontinued) and xnaMugen (also discontinued).

  4. 1.0 RCx era
    Only in 2009, Elecbyte reopened their site, and have since then released a series of "release candidates" (RC1 to 8 as of the time this is being written) (strictly speaking, an open beta) of "Mugen 1.0", the official Windows version. That version has known several bug corrections, and some major additions, like the "localcoord" parameter which allowed to display creations of any resolution at the same size. Elecbyte has then given information on their being working on Mugen 1.1, which will see some major rewrite for the code to be cleaned up and updated. While this clean-up would mean no visual changes, they are also adding new major features on top of that clean-up, such as the possibility to use full color sprites, a revamped renderer, a zoom feature, named variables, and possibly more. Finally, later in the future, plans have been discussed to completely rework the scripting engine for a 2.0 version.

Back to top
Powered by Engrish        Get Firefox        Scal hosted