The Mugen Fighters Guild
M.U.G.E.N Central => M.U.G.E.N Discussion => Topic started by: Jason Bourne on July 12, 2015, 11:07:14 pm
-
hi,
is there a way to evaluate more or less accurately the AI of a char, without playing against it
for example, could I say in a nutshell, the char A's CMD is ten time bigger then char B's, so its AI is 10 times better
of course that's just an example i know it's certainly not that simple
but you mugen overlords may know of more or less accurate evaluation methods, so please share with the world
-
It's unfortunately not possible at all, because there are too many factors to take into account.
- Two chars could have entirely different levels altogether, so AI wouldn't even mean much. If one char can kill you with 2 hits for example, it wouldn't need much of an AI to beat most other chars.
- Number of attacks/specials, aka the size of the CMD, doesn't mean much about how strong a character is.
- AI can be coded in many different ways, in order to play like a human or play like a computer (with tick reactions). There isn't many ways to tell how the AI is coded unless you watch a AI match.
- You can take two exactly indentical CVS Ryu without AI and apply different AI patches to them. One could be a fair one with different AI levels going from easy to hard (that you could change in the options), while the other AI patch could make the AI do things impossible for the human (impossible combos, recovery or guard when not possible, etc.), and just parsing the code quickly wouldn't tell you which AI patch is cheating or not.
-
I kind of feared this answer. I completely trust you as I know about your skills
There certainly isn't a 100% accurate way, but there could be a way that would work often enough, even 65% would be good enough to me.
Wouldn't it be possible to figure out, at least, a char has little to no AI by measuring the amount of tick reactions?
Also isn't it possible to parse the length of the combos they can pull out and the variety of these combos? (because if it spams always the same combo, I wouldn't call that a good AI either) Maybe that could help differentiating chars which have actually a good AI and chars which are just plainly cheap?
-
Every character has mugen AI, regardless of anything else. You can tell if it has a custom one by a quick check in the .cmd for a bunch of AI commands if it's old, or the trigger ailevel if it's newer. This will tell you if it has AI. It won't tell you what the AI is capable of though
As cybaster said. Some people code AI to be an incredible bastard. Some people code it to be fair. Some people code it to just not be stupid like charging all the time. There are hundreds of interim states. Sometimes even the mugen AI can beat you up if there is enough variety within the cmd for button mashing to work. And if the character is kinda cheap in the first place.
Basically, no, there is no way to tell how good AI will be. However if you want to avoid really cheap AI that is horrible to fight against. Avoid any and all AI "patches" Avoid any shin god evil gold orochi naga super mega cyber dark final characters. People tend to make those cheap with bastard AI's as well.
Beyond that, look for authors. If you find an AI you like, there is a good chance the authors other works are kinda similar.
-
ok so if I get this right, it's not possible to measure the AI "power level", but it is at least possible to determine if there is an AI coded, besides the basic mandatory AI, right?
could you please provide more details, how could we parse this data?
-
Basically, no, there is no way to tell how good AI will be. However if you want to avoid really cheap AI that is horrible to fight against. Avoid any and all AI "patches" Avoid any shin god evil gold orochi naga super mega cyber dark final characters. People tend to make those cheap with bastard AI's as well.
Beyond that, look for authors. If you find an AI you like, there is a good chance the authors other works are kinda similar.
Japanese creators almost always make cheap AI for their chars, which is a shame because their chars play really good...
-
ok so if I get this right, it's not possible to measure the AI "power level", but it is at least possible to determine if there is an AI coded, besides the basic mandatory AI, right?
could you please provide more details, how could we parse this data?
in mugen1.0+ you can search for the ailevel trigger.
-
And like i said, open the .cmd file with notepad or something. If you see a ton of
AI1
AI2
AI3
and so on commands it has old style AI activation (very few people used winanes XOR method)
otherwise AIlevel will indicate, also located in the CMD.
-
And like i said, open the .cmd file with notepad or something. If you see a ton of
AI1
AI2
AI3
and so on commands it has old style AI activation (very few people used winanes XOR method)
otherwise AIlevel will indicate, also located in the CMD.
thanks
I've checked a few winmugen files
some have AI1,AI2,AI3,...
others have AI_01,AI_02,AI_03,...
others CPU1,CPU2,CPU3,...
apparently there's no mandatory name and it can be pretty much anything, I'll have to figure out a way to parse the pattern
regarding 1.0 chars, I guess "AIlevel" can't be changed for anything else
-
Nope. Although some people use AIlevel as the method of using moves, and other people use it to activate a variable.
For the AI commands, no, there is no standard because you generally have no need to read someone elses .cmd, and even less need to read their AI commands. The bulk will be AI1 in that format though because it's the fastest to write.
-
Nope. Although some people use AIlevel as the method of using moves, and other people use it to activate a variable.
thanks for the info Cyanide
do you think there is a way to parse whether AIlevel is used for AI or for something else?
-
if the trigegr isAIlevel = 0 or !ailevel then it's being used for something else.
-
thx Mami !!
-
mami told me i could bump this with relevant stuff
so I found some ai patched chars for 1.0 which have only AIlevel = 0 occurrences
so how do you parse mugen AI in this case
example : https://onedrive.live.com/?id=C0173D3A69BE074B!335&cid=C0173D3A69BE074B&group=0
-
@mami
are you sure AIlevel=0 is never used for AI
it seems to be actually used for AI in above example
please tell me if i'm mistaken
-
AiLevel= 0 means that the ia is not active, does the character has anilevel != 0 ? you can upload some of teh code files toa pastebin or something.
-
sure Mami : http://pastebin.com/mKd057jZ
I checked every occurrence of ailevel and the lines are always the same :
triggerall = Ailevel = 0
I don't see any winmugen ai sequence either
-
I see, ailevel = 0 , since in this case was used everywhere, it means that only the player can perform these moves and the ai has no way to access them; it's pretty much the reverse logic of what most people do; it means that there should be a separate file that has no ai triggers at all (unless he added them somewhere to account for the difficulty) that ahs a bunch of changestates for the actual ai.
-
after looking at other files, yes, one cns has indeed ailevel>0
so AI is not necessarily in command file now D:
-
Although that hasn't been stated explicitly in this thread. It is correct. AI is just something that is checked every tick. It could be in the CMD. It could be under state -2 OR -3 in a generic CNS file or it could be in its own special CNS file, still under -2 or -3.
Mugen and it's community doesn't really adhere to many standards. So AI really is however the author wants to manage it.
-
I put the ai in a separate file and it's a helper changing states that have nothign to do wiht the character's states; then the character's cmd file just checks the helper's current state as if it's a command, so the cmd looks the same as a non ai cmd, except that the triggerall has an || for the command and the helper state.