YesNoOk
avatar

[Pseudo-tutorial] How to create something for Ikemen GO (Read 3611 times)

Started by PotS, May 11, 2024, 06:26:07 pm
Share this topic:
[Pseudo-tutorial] How to create something for Ikemen GO
#1  May 11, 2024, 06:26:07 pm
  • ******
    • Portugal
    • network.mugenguild.com/pots/
This will be a short post, but I haven’t seen anything like it yet and I think the community needs it. New people are a bit left in the dark on this simple question.


WHY IKEMEN GO INSTEAD OF MUGEN?

There is nothing wrong with making something for Mugen. It is widely popular and as of this date still has more players than Ikemen GO. So why even bother with Ikemen GO?

One good reason why you would want to create something for it instead of Mugen is if you are making an original game which you want to sell. The Mugen engine cannot be sold with your game, whereas Ikemen GO can.

As for other reasons, they could go on forever. Maybe, like me, you already tried Mugen and just want to try something new, with more features. Or you hit a roadblock in your project after finding out that Mugen lacks a certain feature that Ikemen GO actually has.


WHERE TO START?

Ikemen GO is a new engine made from the ground up, but it was designed to succeed Mugen and with backward compatibility in mind. For that reason, the first things you should search for if you want to create something for Ikemen GO are in fact Mugen tutorials.

I’m not sure which are the best these days and would rather not post some random ones without knowing they're good, so I can’t help much in this regard (anyone feel free to post some recommendations below if you want), but you will see that there is no shortage of them. You can find written or video tutorials for anything you're trying to make. This forum in particular is loaded with written Mugen tutorials.

So, to get started, you can create things for Ikemen GO the same way as if you were making them for Mugen, for the most part, and they will work just fine.

The acts of assembling SFF, SND or AIR files, making palettes or even coding are all the same. It is only when you start exploring the new features that things get different (for the better).

In this phase I would actually recommend modifying existing content before trying to make something new. Make a character overpowered with neon palettes or something, just to get the hang of things.


THEN WHAT?

When you have the basics down you can start exploring the new features Ikemen GO has over Mugen. You can find all of them right here:

Ikemen GO Wiki

In addition to this forum, you can also ask questions and find help here:

Ikemen Discord

Now, there are at least a couple of character features worth knowing right from the beginning because they will make your life easier: Maps and RedirectID.

Mugen gives each character 100-ish (without going into detail) variables you can use for your programming needs. They are numbered, so you have to keep a list (be it written or mental) of what each number does. Maps, however, are essentially unlimited variables that you can name whatever you want. This simple fact alone can make coding easier because you no longer need to keep track of what var(15) is, because now you can simply write map(juggle_points).

RedirectID is another blessing. It allows running code from your character in any other character. If you wanted the enemy to be sent flying for example you'd do this:

Code:
[State Fly Away Now]
redirectID = enemy, ID; this is the important part
type = posadd
trigger1 = command = “holdup”
y = -10

Or the same thing in ZSS:

Code:
if command = “holdup” {
    posAdd{y: -10; redirectID: enemy, ID}
}

That's just the tip of the iceberg. And speaking of ZSS...


CODING LANGUAGES

If it is a character you are trying to make, you will quickly find out that Ikemen GO actually supports two coding languages for them: CNS and ZSS. CNS is the same coding language used in Mugen characters, whereas ZSS is exclusive to Ikemen GO. They both have access to the exact same triggers and state controllers, but the languages themselves have different capabilities.

As for choosing to use one or the other that is up to you. I can however list some pros and cons.

CNS pros:
- Used in every Mugen tutorial and characters, so you have countless references
- The trigger numbering system it uses can be easier to read in longer codes

CNS cons:
- Essentially, lacking the ZSS pros below

ZSS pros:
- Works a lot more like an actual coding language. So if you’re using a project to learn/practice how to code, you will find that the things you learn with ZSS will be a lot easier to transfer into other languages
- Code will generally be more concise than with CNS. You can use one trigger to activate multiple state controllers instead of having to write multiple code blocks
- Can use functions and loops to avoid redundancy
- Actively developed language. If you find a bug in it you can actually report it and see it fixed

You can actually mix and match CNS and ZSS in the same character/game, as long as you don’t mix them in the same file. Once again, the Ikemen GO Wiki is your friend.

As for working examples of ZSS, Ikemen GO comes with Kung Fu Man Z, which is mostly the same trusty old character that comes included with Mugen, except the code is rewritten in ZSS. If you look at classic KFM and KFMZ code side by side, you'll see it's not a hard language at all.

In addition to CNS and ZSS, you can also make external modules and elaborate screenpacks for Ikemen GO using Lua scripts. I’ve never done it myself so I won’t dare teach you how to do it, but it’s worth mentioning here. Lua is a coding language that exists beyond Ikemen GO so you will find many learning materials for it.


CONCLUSION

That’s pretty much the gist of it. The message I wanted to get across is simply this:

tl;dr: google how to create something for Mugen, then read the Ikemen GO Wiki
You can help with Ikemen GO's development by trying out the latest development build and reporting any bugs on GitHub.
My Mugen and Ikemen content can also be found here.
Last Edit: May 11, 2024, 06:34:58 pm by PotS

AJZ

Re: [Pseudo-tutorial] How to create something for Ikemen GO
#2  May 20, 2024, 08:58:34 am
  • *
  • Sup!
    • USA
Thanks PotS! This was exactly what I was looking for. I was last active with anything really mugen related like 4/5 years ago when IkemenGo was barely a thing and paid it no mind so finally coming back and debating what route I want to take and then seeing this definitely helps. Being able to name your maps is DEFINITELY a win for ZSS
Re: [Pseudo-tutorial] How to create something for Ikemen GO
#3  May 22, 2024, 06:45:22 pm
  • ******
    • Portugal
    • network.mugenguild.com/pots/
I'm glad it's helpful. :) To clarify, though, you can also use maps with CNS. Everything to do with triggers and state controllers is the same between both languages. It's language things like loops and local variables that are exclusive to ZSS.
You can help with Ikemen GO's development by trying out the latest development build and reporting any bugs on GitHub.
My Mugen and Ikemen content can also be found here.
Re: [Pseudo-tutorial] How to create something for Ikemen GO
#4  May 22, 2024, 09:13:13 pm
  • avatar
  • **
  • I'm Just Dude
    • Qatar
this is pretty Great and cool but i'll get really confused alot on ikemen go cuz all the features i like, will be hard for me to make. So i guess i gotta try to understand the whole thing before just messing things up. Like edting kamekaze's mvc characters (cuz they work in mugen 1.1 and im not sure how its going to go with ikemen go) cuz i remember downloading ur characters (and i thought they were from mugen 1.1) but i notice they from ikemen go (sorry for the long text i'm doing)
Real reason I'm Called "Dude" Cuz I watched Regular Show WOOOOOOAHH