The Mugen Fighters Guild

Beyond M.U.G.E.N => IKEMEN Releases => Topic started by: SuperFromND on January 16, 2021, 02:56:32 AM

Title: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on January 16, 2021, 02:56:32 AM
In most modern fighting games, there's a feature that allows you to see what the command inputs for a given character's moves are.  This is meant to be a quality-of-life feature, to help out newer players with remembering how to use special moves.

IKEMEN GO added this feature using a movelist file, named movelist.dat.  This file contains a list of special and super moves, along with their command inputs, and some miscellaneous formatting data.  I think it's especially useful for IKEMEN, since by it's nature you're constantly switching between different fighting game styles.

(https://cdn.discordapp.com/attachments/222573230953594881/799808123954659378/unknown.png)

However, since this feature didn't exist in MUGEN, and since IKEMEN GO is still relatively new and not-yet-widely adopted, almost no characters include such a file by default.  Because of this, I wanted to try and make a tool that can generate these kinds of files as quickly as possible.

My tool attempts to read a character's existing .cmd file, figure out what moves have what commands, and then generate a movelist.dat file with those commands, ready to use with IKEMEN GO.

Usage
Here's a step-by-step guide on how to use the generator:

Options
Since MUGEN/IKEMEN content is extremely variable, I've included many options to tweak to help with getting the generated file you want.  The page already includes basic descriptions of what each option does, but I think it's worth going into a bit more detail here.

Remove AI Commands
Removes any move that contains the word "AI" in the name.
Custom AIs in the winMUGEN typically require the character author to duplicate state controllers in the .cmd file, with AI-specific moves (for example, "press X twenty times in the span of two frames", which is physically and technically impossible for a human to do.)  Modern characters don't need such a move (thanks to the AiLevel trigger, among other methods), and are already filtered out by default.

Remove One-Button Commands
Removes any move that only takes one button input to activate.
This is intended to filter out normals, which only require one button press.  Some characters actually do use single buttons to activate specials and supers (as an example, four-button characters that dedicate C and Z to supers).

Compress Motions
Compresses certain combinations of directional motions into single glyphs.
Along with normal directions, IKEMEN GO also includes a lot of dedicated glyphs for common directional motions (quarter-circles, half circles, full circles, Z motions, etc). This should really only be disabled if your character has an unorthodox directional motion (such as the SF2 Tiger Knee motion's tilted half-circle) or for stylistic reasons (like for Mortal Kombat characters).

Use Comment-Based Move Names
Names moves according to a commented line placed above the state controller header.
This applies to a large portion of MUGEN content (and is encouraged by programs like Fighter Factory).  If no comment is found (or if this option is disabled), the generator will use whatever name is in the state controller header itself.  If there isn't a name there either, it'll default to "Unknown Move".

Apply Button Remap
Applies the settings in the [Remap] section to the movelist.
The [Remap] section of a .cmd file allows a user to rebind the buttons of a particular character, without having to modify every single command input to accomodate.  This is handy for incorporating characters with unusual button layouts (such as Nijikaku characters) into rosters with more conventional button layouts.  This usually won't affect characters that haven't been explicitly modified by the user (as very few authors use [Remap] for any purpose besides disabling certain buttons).

Specialized Button Labels
Uses LK, MK, HK, LP, MP, and HP for buttons.
As an alternative to the more universal A/B/C/X/Y/Z, some fighting games display a more specialized LK, MK, HK, LP, MP, and HP button configuration (to denote different-levels of punches and kicks).  Since this is a purely aesthetic choice (and doesn't work well with non-six-button characters), it's disabled by default.

Annotate Palette Requirements
Adds a "requires ##p" string to moves with a PalNo trigger.
This is particularly useful to many-in-one type characters whose movesets change completely depending on the palette you select.  This string is given a unique color (defaulting to #8080FF), which can be specified in the "Color Options" section.

Debug Console Logging
Disabled by default for performance reasons.  There's not much reason to enable this unless you're debugging, or just want a peek at the generator's logs.

Resources
The IKEMEN GO Github wiki has more info on the movelist.dat specifications: https://github.com/K4thos/Ikemen_GO/wiki/Miscellaneous-Info#movelists (https://github.com/K4thos/Ikemen_GO/wiki/Miscellaneous-Info#movelists)

Wish List
This is a list of features I'd personally like to add to this tool in the future.  None of these are guaranteed to be implemented, nor are they listed in any particular order.


The Tool
The tool can be found here:  https://superfromnd.gitlab.io/ikemen-cmdlist/ (https://superfromnd.gitlab.io/ikemen-cmdlist/)
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: XANDERAC on January 16, 2021, 09:04:27 PM
This sounds like a potentially huge timesaver, I only messed around with making some of the command lists for a few characters, but got demotivated to continue making them just because it can be quite time consuming. I'll definitely give this one a shot, seems like a really nice tool to have, thanks for this, hopefully you can just continue on improving upon it!
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on February 12, 2021, 08:39:24 PM
Tool's just been updated!  Here's everything that's changed:

Changelog
Bug Fixes

Same link as usual, https://superfromnd.gitlab.io/ikemen-cmdlist/ .  If you've used the tool recently, you may need to clear the page cache to get the new features.  Enjoy!
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on February 20, 2021, 05:39:50 AM
Minor update today!

Changelog

Nothing too substantial, but it's nice to have.
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: OldGamer on February 23, 2021, 10:58:33 PM
I wonder where is the Moderator. I know this is very important and I think this post should have its own Sticky :O
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on March 12, 2021, 01:15:48 PM
Rise and shine, MUGENites! (or is it IKEMENites now?  IKEMEN GOsts? IKEMEN GOblins?)  Anyways, tool update!

Changelog

Bug Fixes

Same link as usual. (https://superfromnd.gitlab.io/ikemen-cmdlist/)  Enjoy your Fridays, everyone! :D
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on March 17, 2021, 05:43:27 PM
Another minor update today... or is it?

Changelog

Bug Fixes

I've also been experimenting with using Node.js and vercel's pkg (https://github.com/vercel/pkg) to create command-line executables!  They're not quite good enough for me to release them just yet (for an idea of how primitive it is:  you currently have to specify EVERY option for it to even function), but I'll keep all of you up to date on that as new updates to this tool come! :D
Title: Re: IKEMEN GO Movelist.dat Generator
Post by: SuperFromND on April 23, 2021, 04:45:16 AM
I haven't really been working on this project much, I just don't think there's much that I want to add still (not to mention my attention has been divided among several other small projects).  That being said, some more small updates!

Changelog

As for the command-line executables I mentioned, I've managed to get them working somewhat!  Unfortunately, there are two giant drawbacks:

Despite this, I decided to make the repository used to generate the executables public on my GitLab (https://gitlab.com/SuperFromND/igoclg-cmd) if you want to play around with it anyways.  I'd strongly recommend using the web version regardless!