YesNoOk
avatar

IKEMEN GO Movelist.dat Generator (Read 30580 times)

Started by SuperFromND, January 16, 2021, 02:56:32 am
Share this topic:
IKEMEN GO Movelist.dat Generator
New #1  January 16, 2021, 02:56:32 am
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
Notice: This tool is no longer in active developement and has been succeeded by my new tool, Iguana. Click this text to go to its thread. This thread is kept for preservational purposes.

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.



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. It's not particularly accurate (it flounders in certain situations depending on the character's coding), but I figured it's still useful enough to post here. The source JS file is also available under the MIT license, for those wishing to rehost/modify it.

Usage
Here's a step-by-step guide on how to use the generator:
  • Open the generator.  The link is at the bottom of this post.
  • Click the button labelled Upload .cmd file. You'll be prompted to select a file.
  • Find a character's .cmd file.  Usually it's in the same directory as the .def file (e.g. chars/kfm/kfm.cmd), but it might also be in a "code" subdirectory.
  • When the generator is done, you can click the Download as .dat button to download the generated file.  I'd recommend placing it in the same directory as the .cmd file.
  • To see the movelist.dat file in IKEMEN, you'll need to add "movelist = movelist.dat" to the character's .def file, under the [Files] section.  Adjust the value if movelist.dat is in a subdirectory.

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 era 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

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 ability to auto-denote air/EX moves
  • Reading "commented-move-name" names for moves (which accounts for quite a lot of MUGEN characters) Added 2/12/2021!
  • Better merging of multiple, similar commands Added 2/12/2021!
  • A "Preview Move Display" section
  • A command-line version of the tool, for easy batch-processing See Iguana! (8/22/2023)
  • Swapping A/B/C/X/Y/Z for LK/MK/HK/LP/MP/HP (ideally accounting for both 6-button and 4-button characters) Added 4/22/2021!

The Tool
The tool can be found here:  https://superfromnd.gitlab.io/ikemen-cmdlist/

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Last Edit: August 22, 2023, 07:03:57 pm by SuperFromND
Re: IKEMEN GO Movelist.dat Generator
#2  January 16, 2021, 09:04:27 pm
  • ****
  • Just A Dude...
  • For me, it was Tuesday...
    • Canada
    • chaoticdarkness.deviantart.com/
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!
Re: IKEMEN GO Movelist.dat Generator
#3  February 12, 2021, 08:39:24 pm
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
Tool's just been updated!  Here's everything that's changed:

Changelog
  • Added support for comment-based move naming
  • Added support for held-down directional buttons
  • Improved merging of similar command inputs
  • Made debug console logging more verbose
  • Some miscellaneous CSS changes and mild optimization
Bug Fixes
  • Fixed erroneous detection of one-button moves that were longer than one input
  • Fixed a method of triggering false-positives on palette requirement detection
  • Fixed custom movetype header colors accidentally updating an empty generated movelist
  • Fixed potential oversight of the generator code not being ran as UTF-8

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!

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Re: IKEMEN GO Movelist.dat Generator
#4  February 20, 2021, 05:39:50 am
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
Minor update today!

Changelog
  • Throws are now listed under a separate category (if there are any detected)
  • "Annotate Palette Requirements" now disabled by default

Nothing too substantial, but it's nice to have.

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Re: IKEMEN GO Movelist.dat Generator
#5  February 23, 2021, 10:58:33 pm
  • ****
  • Stages & Screen Pack
  • Mugen Creator
    • USA
    • https://jusmugen.forumotion.com/
I wonder where is the Moderator. I know this is very important and I think this post should have its own Sticky :O
Join My JUSMUGEN Community.
https://jusmugen.forumotion.com/
Re: IKEMEN GO Movelist.dat Generator
#6  March 12, 2021, 01:15:48 pm
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
Rise and shine, MUGENites! (or is it IKEMENites now?  IKEMEN GOsts? IKEMEN GOblins?)  Anyways, tool update!

Changelog
  • [Remap] parameters can now be applied (this can be toggled with the new option Apply Button Remap)
  • Debug log now lists both milliseconds and seconds in "Conversion done!" message
  • Debug log now highlights conversion stages using console.warn();

Bug Fixes
  • Fixed debug log not being fully disabled
  • Fixed broken CSS "height" values when viewed at extreme zoom amounts

Same link as usual.  Enjoy your Fridays, everyone! :D

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Re: IKEMEN GO Movelist.dat Generator
#7  March 17, 2021, 05:43:27 pm
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
Another minor update today... or is it?

Changelog
  • Lots of backend changes to make the code more portable
  • Fancy new scrollbars!

Bug Fixes
  • Fixed a bug where certain inputs in certain orders would conflict wth eachother (a replacement-symbol collision)
  • Fixed "Remove One-Button Commands" not functioning due to erroneous JS function name

I've also been experimenting with using Node.js and vercel's 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

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Last Edit: March 17, 2021, 07:54:53 pm by SuperFromND
Re: IKEMEN GO Movelist.dat Generator
#8  April 23, 2021, 04:45:16 am
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
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
  • A new "Upload File" button, meaning you no longer need to copy-paste a .cmd file using a text editor
  • New option: "Specialized Button Labels", for using LK/MK/HK/LP/MP/HP instead of A/B/C/X/Y/Z
  • More minor tweaks to the backend to make the code more portable

As for the command-line executables I mentioned, I've managed to get them working somewhat!  Unfortunately, there are two giant drawbacks:
  • The executables are utterly MASSIVE (around 26MB, just for some text manipulation!?)
  • There seems to be some non-parity between Node/pkg and in-browser JS, as the resulting .dat files have some differences.

Despite this, I decided to make the repository used to generate the executables public on my GitLab if you want to play around with it anyways.  I'd strongly recommend using the web version regardless!

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Re: IKEMEN GO Movelist.dat Generator
#9  July 26, 2021, 09:50:08 pm
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
A small update today, nothing too substantial... yet!  I've been slowly planning out a rewrite that should, hopefully, make move detection MUCH more accurate.  I've also been debating whether or not to scrap the web version entirely in favor of rewriting the entire generator in C++, or possibly even Golang since IKEMEN GO is written with it.  That way, it could be used to batch-process an entire folder's worth of characters in one swoop.  At the same time though, it's quite a lot easier to iterate and debug the JavaScript version, and I'm a lot more familiar with it than C++ or Golang.  Let me know in the replies what you think I should do, maybe I should set up a poll or something.

Anyways, the changes:
Changelog
  • Renamed "Super Moves" to "Hyper Moves" to reflect MUGEN Database's article labelling system
  • A small tweak to the detection of PalNo requirements and moves with no commands
  • If no moves are detected, the result field will now print "No moves detected."

Thanks to a little bit of Inkscape magic, I've also managed to create this cool logo for the tool!  (Side question: is there any way to scale down an SVG on the forum?  I can't seem to find any working size parameter...)

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart:
Re: IKEMEN GO Movelist.dat Generator
#10  November 08, 2021, 03:38:26 pm
  • ******
  • A living Mugen dinossaur :)
  • 23 years of Mugen O_o
    • Brazil
    • www.brazilmugenteam.com
Oh, nice tool. I gave it a try and some cmd worked, some not. But it's very useful.
Congrats.
Re: IKEMEN GO Movelist.dat Generator
#11  August 03, 2022, 08:20:10 am
  • avatar
  • ****
is there a way for the generator to detect super moves, it keeps detecting them as special moves
Re: IKEMEN GO Movelist.dat Generator
#12  August 03, 2022, 09:11:21 am
  • **
  • Professional Amateur
    • USA
    • superfromnd.gitlab.io/
is there a way for the generator to detect super moves, it keeps detecting them as special moves

Thanks for letting me know this actually! Turns out that I made a mistake in the code which caused Power to only be checked when Annotate Palette Requirements is enabled. I just pushed an update that fixes this, sorry about that!

Creator of the IKEMEN Go Command List Generator and its successor, Iguana.
Also, I make 3D stage ports for Ikemen GO. You can find my stages here. :heart: