• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

AI: (Get Well Soon Bero!)

Kei_Takaro

Smash Lord
Joined
Feb 3, 2009
Messages
1,007
Location
Underneath FD
Just reporting up, when I tried playing my desynced replays B+ to vB, I don't think the enemy AI actually replays it, because when my character jumped off FD, the opponent started taunting, (which in the original replay, wasn't supposed to until it reached X time for me to die in B+. And after three desynced deaths, it taunts after every death
 

Kaye Cruiser

Waveshocker Sigma
Joined
Aug 11, 2009
Messages
8,032
NNID
KayeCruiser
Switch FC
0740-7501-7043
Hm...Well not that it really helps much, but here. This is Captain Falcon's AI switched with Ganon's. He fights a bit smarter and doesn't kill himself every 10 seconds now. Plus he works very well with my Onslaught Falcon, and multiple Falcons on a team will actually work together very well as if they're planning against you or something. XD

http://www.mediafire.com/?z2nkjm2yyty

I basically did this just because I want a Captain Falcon that's as hard as he should be. This is a nice step, but still not what I'm looking for. Anyone have any ideas on how to make him harder? >:

Side Note: Hi Dchen! :D
 
D

Deleted member

Guest
ok, if anyone happens to be around, I uploed another lucas file where I zero'd out the ATKD section (dantarion coined that one).

I added a 2 after the name, so don't forget to rename when testing it. I have a feeling this will be an uber dumb AI.
 

Baro

Smash Journeyman
Joined
Dec 7, 2008
Messages
461
Location
LOLhio
So how long before people start making SNK-style boss characters lol
 
D

Deleted member

Guest
ok, added a mario file. hopefully it makes him think to taunt instead of jab.
 

camelot

Smash Ace
Joined
Feb 28, 2009
Messages
597
Location
Northfield, MN
What I've found is that the PSA'd characters can usually learn how to use their movesets, at least to an extent.
Yeah, same here. I was actually experimenting around with Link and gave him the ability to use his clawshot at the end of his aerial up-b, and the computer actually used it.

Zero sure figured his out pretty **** fast (though he just randomly pulls out and puts up his shield, not quite sure what to do with it).
He probably does that because his AI was replaced with Diddy's.

I've noticed that characters can't adapt to certain moves, though. In particular, replacing a charge move with a non-charge move is a big problem.
Giving a move a momentum change can screw around with them, too.
 

JamesRaynor

Smash Apprentice
Joined
May 30, 2009
Messages
82
The Ai does not learn, it takes advantage of changes though due to it's programming. Such as knowing the exact size of the hitbox etc.



The AI is brawl fights with an AI roulette that gets better at higher levels (in experience) so it can sometimes pull off amazing combos and the other half the time screw up even the simplest combo.
 
D

Deleted member

Guest
The Ai does not learn, it takes advantage of changes though due to it's programming. Such as knowing the exact size of the hitbox etc.



The AI is brawl fights with an AI roulette that gets better at higher levels (in experience) so it can sometimes pull off amazing combos and the other half the time screw up even the simplest combo.
this topic isn't about wheter or not the AI learns, but if we can purposefully make it better through editing the AI files.
 

BG3

Smash Journeyman
Joined
May 25, 2009
Messages
294
Is there any way to make them less defensive? IMO, they throw out random perfect sheilds or what not WAY too much.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
I think the key is in...(once again) fighter.pac for most of the stuff we want them to do.

So far we have decrypted 1/3 of the "character_ai" file. We don't know all of what it does, but we can at least read the file. However, theres a lot more to do.
 

brawlshifter

Smash Lord
Joined
Oct 8, 2009
Messages
1,195
Location
If you look at this, you're a stalker: NorCal
I think the key is in...(once again) fighter.pac for most of the stuff we want them to do.

So far we have decrypted 1/3 of the "character_ai" file. We don't know all of what it does, but we can at least read the file. However, theres a lot more to do.
Great! Thanks for getting into this. If you yourself need help with anything, I'll try to help in any way I can.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Big progress.

Well, more of a theory.
Heres my theory.

Lets say that the AKTD files have to do with DODGING.

Heres how the data looks like then.

For each AKTD Entry....

Subaction ID, Threat Min, Threat Max, -X range, X range, -Y range, Y range.

Ranges example.
For example, Mario's UP smash has a small X range (-15 to 13) because it hits on both sides of him. To compare, Mario's Dsmash has a higher range (-17 to 18).

Mario's Upsmash has a HUGE Y range, but it is only above him (6 to 23)
Mario's DSmash has a small Y range. (-1 to 8)

Look below this post, I now think I was wrong.
Threat.
Now, when you look at Mario's data, what are the biggest numbers for Short3-Short4?
Swing4Bat = Home run swing, and Cliff attacks. At this point I was confused. I mean, what do those two things have in common! Then I looked at Bowser. Bowser bomb has HUGE VALUES here. Thats when I came up with an idea.

I think the game uses these values to determine how high a priority dodging these moves are to the AI. One thing that looks interesting is the values for the hammer. They start at 0...and go to a high value. Why? Because if you are on the outside range of the hammer, the AI needs to RUN, not shield. And if the Hammer gets too close, then shield. Small tests with the AI have proven this theory somewhat.


Anyways, this may be right, and it may be wrong.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
No. Read my post, i edited it. I will reupload the dumps soon to my webserver with proper column names.

EDIT: THEORY2.
I thought about it. And I realized that my theory about "Threat Level" doesn't make sense.

I thought about why SlowCliff attack would have such a big number.
Its the DODGE TIMING.

The AI has to dodge before the hitbox comes out, so this makes sense. It also makes the cliff attack anamoly make sense.
 

leafbarrett

Smash Lord
Joined
Jun 8, 2009
Messages
1,388
Location
USA
I think the AI can read the possible range of even hacked characters, because Falcon starts dodging like crazy as soon as he's in range of Kari's dtilt (which is a huge distance from her).
 
D

Deleted member

Guest
No. Read my post, i edited it. I will reupload the dumps soon to my webserver with proper column names.

EDIT: THEORY2.
I thought about it. And I realized that my theory about "Threat Level" doesn't make sense.

I thought about why SlowCliff attack would have such a big number.
Its the DODGE TIMING.

The AI has to dodge before the hitbox comes out, so this makes sense. It also makes the cliff attack anamoly make sense.
so the part we decrypted only changes the defensive behavior of the CPU?
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
I am pretty sure.
I will have to run a bunch of tests, but I believe that might be true.
Test 1: Extra Range Jab Video
I went to training with Marios.
Set 3 Mario's to evade.

Stood at the edge, and did these things.

1. Stood facing away, observed. The CPU's seem to move close up to a certain point, then either move away, or roll a random direction. They also roll when they are far away. If they roll towards mario, past the "certain point" they quickly get away.

2. Stood facing towards. No noticable changed from #1

3. Spammed Fsmash. The bots shield and spotdodge sometimes, even far outside the range of fsmash. One thing to note is that the bots jumped and rolled behind me to get out of the "fsmash range box"

4. Spammed Jab1. However, in the ATKD file, I gave jab1 a ridiculous X range, with the goal of making the AI react to it really far away. It worked. The AI attempts to shield the jab from across the stage, even though the hitbox doesn't reach there.

http://www.youtube.com/watch?v=JfD12ckT1rU
http://www.youtube.com/watch?v=JfD12ckT1rU
 
D

Deleted member

Guest
nice vid.
so the order is start,end, X behind, X front, Y behind, Y front?
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Very nice! Excellent findings... so, when you load up, say, a Human Luigi vs. CPU Mario match, the CPU uses Luigi's AI data to know when to avoid attacks?

That'd explain why there are multiple miscdatas... one to give to enemies for dodging info, one to know how to use your own attacks, etc...

If we find out enough about this, maybe I can give Zero a beastly AI to complete him.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Look at Ganon. He has 2 files in his ganon_ai. I am guessing that only 2 are needed.

NEXT UP AIPD files.

So far, doesn't look like they are simple.
There is an offset table...to asm routines...or something... at 0x170 at every AIPD file.

Theres an AIPD in fighter.pac as well :D
 

brawlshifter

Smash Lord
Joined
Oct 8, 2009
Messages
1,195
Location
If you look at this, you're a stalker: NorCal
Look at Ganon. He has 2 files in his ganon_ai. I am guessing that only 2 are needed
Oh, well I guess I should have checked everyone instead of just three characters before assuming they all had three. *Checks everyone* I wonder what Ike, Captain Falcon, King Dedede, Diddy Kong, Donkey Kong, Falco, Fox, Game & Watch, Kirby, Link, Lucario, Lucas, Luigi, Mario, Marth, Meta Knight, Ness, Peach, Pikachu, Olimar, Pit, Squirtle, Ivysaur, Charizard, Popo, Nana, Jigglypuff, ROB, Samus, Shiek, Snake, Sonic, ZSS, Toon Link, Wario Man, Wolf, Yoshi, and Zelda have that Ganondorf and Wario don't. They both have two, while everyone else has three, except for Pokemon Trainer, who has one. Another strange thing is, Bowser, Giga Bowser, and the Alloys have none. Do they get it from an external file, such as one of the Common pacs or a .rel, or do they use someone elses, or what?

EDIT: Which ones are the AIPD files? BrawlBox is acting up on me and won't let me export, so I can't check it myself.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
AIPD is always the first one, I think.

Bowser and Giga bowsers are both in FitKoopaEtc. I believe one of the common.pac's have the ai for the them.

Look at ..
common.pac (Zelda,Shiek,ZSS,Samus)
common4.pac(Kirby,Ivy..also Bowser and GBowser animations)
common5.pac(Char, Squirt)
^--are those the copies used for the game?
 

brawlshifter

Smash Lord
Joined
Oct 8, 2009
Messages
1,195
Location
If you look at this, you're a stalker: NorCal
AIPD is always the first one, I think.

Bowser and Giga bowsers are both in FitKoopaEtc. I believe one of the common.pac's have the ai for the them.

Look at ..
common.pac (Zelda,Shiek,ZSS,Samus)
common4.pac(Kirby,Ivy..also Bowser and GBowser animations)
common5.pac(Char, Squirt)
^--are those the copies used for the game?
Ah, that makes sense. Since those are all of the ones that transform, they not only have to use the 00.pac and pcs, they also have to load their Etcs externally. I've been wondering why some of those were in the Common pacs for a while now.
 

brawlshifter

Smash Lord
Joined
Oct 8, 2009
Messages
1,195
Location
If you look at this, you're a stalker: NorCal
Goodbye 2

BrawlShifter said:
Well, as I'm sure you all have noticed, I've been on less and less recently, and I've come to the realization that I, just like many others, have no interest left in Brawl hacking, and so this thread will probably never get updated again if I'm the one in charge of doing it. So, if anyone wants to take over this thread, PM me and I'll decide who I want to pass the thread to, and because Bionic Sonic is such an awesomely magical person, he will pass it over to you. But, for me to even consider you, you must have good grammar (that means tsuyoshio will not be taking over), you must be as active as I used to be (before I let the OP get way behind), and you will have a better chance if I know you well, like Razanak or leafbarrett or n64billy or Angelglory. So PM me if you want the job.
The same applies to this thread. I absolutely hate it when people make projects and don't finish them, but, I just have no interest left. PM me if you want to take over.
 

Clai

Smash Lord
Joined
Dec 9, 2007
Messages
1,254
Location
Where men are born and champions are raised
I have PM'd Brawlshifter about receiving ownership of this thread. I've started to run some tests on my own, but I really want this to be a community wide project as there's far more data than I can possibly handle on my own. Ownership should be transferred to me momentarily, and then I'll place on the first post all of my objectives for getting this done. Get psyched, people!
 

IrohDW

Smash Apprentice
Joined
Jun 15, 2006
Messages
101
Location
Foster City, CA
Switch FC
SW-2473-0493-0622
I'm glad to hear that. I am really interested in the possible outcomes of this project. I'd like to help you, but I know next to nothing about hacking.
 

[TSON]

Hella.
Joined
May 7, 2008
Messages
3,422
Location
Macomb, MI
NNID
oTSONo
Before we go any further, we need to get someone interested in coding a program that edits these. I feel it is too much work to manually edit them to do what we want when each character has 27? attacks with 5+ params, and there are over 40 characters
 

Clai

Smash Lord
Joined
Dec 9, 2007
Messages
1,254
Location
Where men are born and champions are raised
Before we go any further, we need to get someone interested in coding a program that edits these. I feel it is too much work to manually edit them to do what we want when each character has 27? attacks with 5+ params, and there are over 40 characters
I could help with the program, but I can't even call myself a novice in coding. If someone can bring me up to speed on how to properly code things, I would love to take care of it. As of now, I'm just trying to get a feel for what each of the data files does so I can try to get a more distinct purpose, then we can go into specifics such as the questions I raised earlier.

Also, silly question, where does the fighter.pac go on the SD card?
 

Bero

Smash Journeyman
Joined
Jan 10, 2010
Messages
409
Location
Japan
I will add support of AI to BrawlLib if you find the way to edit.
 

[TSON]

Hella.
Joined
May 7, 2008
Messages
3,422
Location
Macomb, MI
NNID
oTSONo
I could help with the program, but I can't even call myself a novice in coding. If someone can bring me up to speed on how to properly code things, I would love to take care of it. As of now, I'm just trying to get a feel for what each of the data files does so I can try to get a more distinct purpose, then we can go into specifics such as the questions I raised earlier.

Also, silly question, where does the fighter.pac go on the SD card?
Inside common3

I will add support of AI to BrawlLib if you find the way to edit.
I love you
 

Clai

Smash Lord
Joined
Dec 9, 2007
Messages
1,254
Location
Where men are born and champions are raised
Test #5
Started to mess around with the ai_common files in common3.pac. Started by replacing the entire data file in each MiscData file with FF's to see what happens.

The first MiscData[0] file and the MiscData[1] file don't appear to have many differences, if any at all, between them. The behavior I did notice, though, is that when the player grabs the edge and holds on, the CPU teeters on the edge for a bit before walking off and killing itself. Otherwise, the CPU doesn't attack often (read: almost none) but likes running and jumping around and doing other weird things like rapid crouching and dash-dancing. The CPU would not recover after being sent offstage. This was confirmed with multiple characters.

When I changed all the data in the second MiscData[0] file, the CPU acts very much like a typical unchanged CPU. If there was anything I noticed, it was that the CPU may have been a bit more cautious when sent off stage and trying to recover. I tested this with Yoshi, and the CPU appeared to wait until it was at the proper distance from the ledge before using its mid-air jump. Of course, this is just theory, but obivously something to look into.

This is also on the first page, but I wanted to place this here so people can check it out.
 

brawlshifter

Smash Lord
Joined
Oct 8, 2009
Messages
1,195
Location
If you look at this, you're a stalker: NorCal
wait this thing is still around?
Yes, its still around. It never went away. It kind of died for awhile because my hex editor was being a ***** and didn't let me use it at all for months, and then what I said in my last post above happened. Luckily, Clai PM'd me that he wanted to take over, so now the project will continue!
 
Top Bottom