Posted December 19th, 2011
I'm sure if you're reading this, then you've probably noticed our new layout. :) We recently updated the forum also, so there might be some broken things still hanging around. If you notice anything, please let us know.
Now, off to get some much needed sleep....
- dfw
Posted October 2nd, 2011
As you might know, we've had problems with bots, spammers, etc on the forum. Over the next few weeks, we're going to start implementing mods and enhancements in hopes that it'll keep the forum running smoothly.
So, if you notice the forum going down for maintenance that means we're updating. :)
It won't happen all at once, but we'll post in the forum when new stuff is available.
- David
Posted August 16th, 2011
Wow, it's been a while! Without getting into too much detail, a number of things happened that slowed down development. It was that so-called "real life" thing we all hear about. But, we're still working on M.U.G.E.N so don't worry!
Posted October 15th, 2010
I noticed there hasn't been much news from us lately. But don't worry, we're still here and monitoring the webpage and forums.
So, what about MUGEN?
Posted May 5th, 2010
You know Suave Dude as Kung Fu Man's long-time elusive nemesis. But did you know they'd once faced off long before Suave even kidnapped KFM's girlfriend?

Posted April 14th, 2010
The next upcoming feature of CNS that we'll look at is named variables. A particularly tedious and error-prone characteristic of the current version of CNS is the fact that there is a fixed set of variables that can only be accessed by number. With named variables, you'll be able instead to declare your own variables and address them by name; e.g.,
$foo := 1
would set the variable named "foo" to 1.
One-dimensional arrays can also be declared. In fact, arrays are used to handle legacy accesses to Var, FVar, etc. For example, Var(12) + FVar(4) would be internally translated to $_var[12] + $_fvar[4].
Variables can be declared either as int or float, or as a flexible numeric type that takes on the type of whatever is assigned to it. Another new type of variable is the player variable. A redirection keyword, or a recursive series of redirection keywords, can be thought of as returning a pointer to some player or helper. In trigger redirection, triggers use this player pointer to determine whose values to return. Player variables will allow you to save player pointers, making it easy to refer back to the same player later on. Note, however, that player variables can go stale (e.g., due to a helper destroying itself), so you will need to check whether the player variable has become invalid before using it.
By default, variables are not visible via redirected access from unrelated players (where "unrelated" means they do not descend from the same root player). Public visibility must be explicitly enabled in the variable declaration. This allows you to expose only those variables that are necessary for signaling or communication according to a well-defined standard.
- R.
Posted April 13th, 2010
As previously outlined in the Roadmap for M.U.G.E.N, new CNS development will be discontinued in the eventual 2.x engine. But before then, we'll look at adding some features that help improve CNS usability for developers without being too much of a problem in terms of backward- or forward-compatibility. In the "CNS's Last Hurrah" blog post series (which may be sporadically updated), we'll take a look at CNS features that are in the planning or development stages for 1.1.
Today we'll be looking at recursive redirection. Triggers can currently be redirected once, as in
helper(<helperID-expression>), stateno
This would evaluate <helperID-expression>, find PLAYER's helper with that ID, and then get its stateno. Another example would be
enemynear(var(1)), stateno
which would get the stateno of PLAYER's var(1)'th nearest enemy. But there is currently no way in CNS to get PLAYER's helper's nearest enemy's stateno (or any other such trigger evaluation).
Recursive redirection solves the problem by allowing us to write expressions of the following form:
helper(<helperID-expression>), enemynear(var(1)), stateno
Recursive redirections can be nested to arbitrary depth (actually, a very large fixed number). The order of evaluation is left-to-right. Thus each redirection is relative to the player that was computed by the keyword binding to it on its immediate left.
Now, consider var(1) in the preceding expression. Whose var(1) is it -- PLAYER's or PLAYER's helper's? The answer is that since var(1) is not directly bound by a redirection keyword, it is evaluated in the original context, i.e., it is PLAYER's variable. To get the helper's var(1), you would have to redirect that access as well.
- R.
Posted April 11th, 2010
The blog is a little quiet right now, but expect some more information about version 1.1 soon.
Until then, here's a small update: StageVar("info.name") trigger will be coming in the next RC! Now 1.0 based characters will be able to use it to detect what stage they are on.
- dfw
Posted March 24th, 2010
This is an update of the *EXPERIMENTAL* BGM branch that began with RC3 EX + alpha.If you didn't know about the EX + alpha series, it is an alpha/testing/unstable branch of the RC series that is intended to overhaul BGM handling. It features more robust MP3 and Vorbis support, an extensible plugin architecture, and loop point specification for BGMs, as well as miscellaneous improvements to sound handling in general. You can see the original blog post for more details.
Since this is a testing release, your feedback on problems (or on lack of problems!) is appreciated. If all goes well, the EX + alpha code is planned to be folded into the stable release of M.U.G.E.N 1.0.
New in RC7 EX + alpha:
- Ogg plugin (vorbisplug) supporting loop points and ReplayGain.
- Engine now provides high-quality resampling services (for plugins that require it) using libresample.
- Optional high-quality resampling for sound effects.
- Support for WAV, MP3, and OGG removed from sdlmix plugin, since there are better alternatives.
- Plugin API finalized.
Download here: M.U.G.E.N 1.0 RC7.01 EX + alpha (UPDATED)
Make sure to read README-ALPHA.html in the distribution archive for details and instructions. For those of you who are interested in creating plugins for your favorite file formats, an SDK will be released on this blog Sometime Soon (TM).
UPDATE NOTICE: The distribution archive has been updated to RC7.01a, which addresses wave loader incompatibilities that were reported in RC7a. If you previously downloaded RC7a, you can either redownload the full distribution using the above link, or just get the fixed executable here.
- R.
Posted March 7th, 2010
A test of the new rendering engine. (settings: kfm vs. kfm720, stage0-720, 1920x1080, windowed)

Software renderer

GL renderer
* Actual results may vary on your hardware.
- R.
|