• 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!

Project M Social Thread

Status
Not open for further replies.

Ecks

Smash Lord
Joined
Dec 16, 2010
Messages
1,211
Brawl AI loves to air dodge. they're always using (trying to use) them so that's probably why you saw them do that. As for stuff like moonwalking, I've seen Link doing them a few times as well.
 

MonkUnit

Project M Back Roomer
Joined
Nov 29, 2009
Messages
6,075
Location
Eau Claire, Wisconsin
As for moonwalking, they are just trying to dash another direction but end up moonwalking. As for L Canceling, they are just trying to shield an incoming attack.
 

BinAly

Smash Apprentice
Joined
Jul 20, 2007
Messages
119
Odd, what causes the AI to psuedo-learn then?
Mostly, human impression. The IA might have several different behaviors that it might chose based on seeds gathered from player input (or any other input), and coincidentaly, in some matches it might have chosen a behavior that made you feel like it was responding to your advanced techniques.

Really, it doesn't leanr.
 

GP&B

Ike 'n' Ike
Joined
May 8, 2009
Messages
4,609
Location
Orlando, FL
NNID
MetalDude
As for moonwalking, they are just trying to dash another direction but end up moonwalking. As for L Canceling, they are just trying to shield an incoming attack.
Is that because the game can't really detect the AI's "virtual controller" and thus can't see if their "virtual control stick" hit neutral position? If the game is just reading AI actions, dashing from left to right really quickly without considering the input would always result in a moonwalk rather than a dash dance because of that.

At least, I think that's the proper theory behind it.
 

BinAly

Smash Apprentice
Joined
Jul 20, 2007
Messages
119
AI's learn in matches but only for that one match then.
I've been working on the game industry for more than 2 years by now, and I can asure you:

Building an IA that learns and reacts accordingly is a ton of work. Really, believe me. It is way easier to give players the impression that it learns.

Smash IA just reads the input given by the opponent, and reacts in accordance with which was programed in it's code.
 

GaretHax

Smash Journeyman
Joined
Aug 30, 2009
Messages
464
Is that because the game can't really detect the AI's "virtual controller" and thus can't see if their "virtual control stick" hit neutral position? If the game is just reading AI actions, dashing from left to right really quickly without considering the input would always result in a moonwalk rather than a dash dance because of that.

At least, I think that's the proper theory behind it.
Come to think of it I can't recall my Cpu's ever dash dancing. I always attributed it to their mindless-aggression. huh...

@Ecks, yeah that would actually make alot of sense.

TBH, I realized how rediculous it would be to attempt to code a true learning cpu, but I figured it might just keep a log of button inputs performed by the player or the cpu (in that situation) that resulted in a successful hit or kill/survival and next time around might use that combination of button inputs instead or revert back to it's vanilla behavior if it doesn't work... Once again that seems like a programming nightmare.
So whats with lv. 9 cpt. Falcons spamming falcon punch after a falcon punch only match? is it really just coincidence?
 

Ecks

Smash Lord
Joined
Dec 16, 2010
Messages
1,211
I think that the ai "buffers" the imputs so they come out wenever possible , thus resulting in "advance" accidental techs.

or something similar.
 

BinAly

Smash Apprentice
Joined
Jul 20, 2007
Messages
119
I think that the ai "buffers" the imputs so they come out wenever possible , thus resulting in "advance" accidental techs.
Also, expert IA tries to use shield in the first frame ever possible. So, it detects when it is about to land, and uses shield, resulting in an L-Cancel sometimes.

It is like when they Jab you perfectly out of any recover. The IA recognizes the opposing maneuver, and when it reads the perfect time-window, it acts.
 

Ecks

Smash Lord
Joined
Dec 16, 2010
Messages
1,211
Also, expert IA tries to use shield in the first frame ever possible. So, it detects when it is about to land, and uses shield, resulting in an L-Cancel sometimes.

It is like when they Jab you perfectly out of any recover. The IA recognizes the opposing maneuver, and when it reads the perfect time-window, it acts.
Yeah I figured it was something like that. thanks for the info.

This live thread really helps discussions.

Might as well go check out the fb page.
 

Vigilante

Smash Lord
Joined
Dec 11, 2010
Messages
1,813
Location
Quebec
AIs don't learn. They best they could do is have a lot of optional inputs, e.g.

If this happens, do this. For example, computers almost always reflect projectiles in Melee because they are programmed to do this is a projectile is sent their way. A very powerful AI cannot learn, but it can choose based on "simple" choices. In other words, if A does not work, try B instead. If B works, stick with B. An AI is also limited to what it is given. For example, unless wavedashing was programmed as a possible option in an AI, it could not, say... emulate you when it sees you do it. It will never learn wavedash because it doesn't recognize it as an option, and never will (Except when Dant and Bero will add this input). And if they emulate, they will fail to use it well because they have no ability to make sense of new concepts. What computers do in Brawl is that they have a set number of options, perhaps more than in Melee, which they are told to perform. They may also have more "reactive" coding. As in, they might more often move in response to what an opponent does rather than independently. Brawl computers are more defensive and play more of a punishment game.

You have conditional branches, so "if A happens....", and then randomly generated options "Lots of Bs". Some can be given priority in an AI, some some may happen more than others. But an AI has no brain, thus cannot learn. Only creatures with a biological brain at the moment, can learn, and only biological brains can think out of the box. Any other example you can conjure up is a hoax. No psychologist or other scientist has been able to create a truly live-like thinking entity form a machine.

Learning belongs to the living and reading some posts here sometimes makes me wonder if it is a capacity of most humans. Jokes aside, Dant will probably simply create options that allow them to use advanced techniques or chain attacks together better.
 

Ecks

Smash Lord
Joined
Dec 16, 2010
Messages
1,211
If playing MUGEN has teached me something, it's that AI's can be made retardedly challenging.

@Spoon
In vBrawl Falco always jumps after landing his down b. it just so happens that this can be made in melee and pm too, hell it's even easier since he can jump earlier than vbrawl by accidentally cancelling his shine. and if he's following you, of course he'll use an aerial.

And by accidentally, I mean he (or it, really) isn't aware it's doing it.
 

Flayl

Smash Hero
Joined
May 15, 2006
Messages
5,520
Location
Portugal
Have you guys figured out if an AI making a poor decision (aka misspaced attacks "on purpose") is due to random seeding - so that when faced with the same situation it can act differently - or is it more complicated than that? Would it be possible to fix the RNG so it always makes the "best" decision?
 

BinAly

Smash Apprentice
Joined
Jul 20, 2007
Messages
119
Have you guys figured out if an AI making a poor decision (aka misspaced attacks "on purpose") is due to random seeding - so that when faced with the same situation it can act differently - or is it more complicated than that? Would it be possible to fix the RNG so it always makes the "best" decision?
Some parts are very complicated, others aren't. The problem is that, once coded, the IA will always behave the same, and humans can learn from that and exploit weaknesses.

Let's take the Melee Meta-Game evolution for an example:

In the first four years of Melee, Peach was considered to be the Top-Tier character, due to many things not discovered (including wave-dash).

If you were to make an IA for the first four years of Meta-Game, it could work very well, but once people learned other techniques, your IA would have fallen behind, and could be utter trash.

Think about it this way: the IA does whatever the coder was capable of coding it to do at that point in time. The efforts to keep upgrading the IA and even making it account for every play-style possible is simple not worth it.

What can be done is make IA reflexes to be super-human, allowing it powershields, spot-dodges, spot-on recoveries, perfect DI/SDI/DSDI, perfect teching, and so on. But in the end, if the computer doesn't miss, players find it boring to play against, since it once again isn't emulating a real player.

Everyone wants to fight against something that has strenghts and flaws. The problem is that with IA, the flaws never change, nor the strenghts, and you get bored of it.

To make IA good, you would need a team to keep upgrading it forever (or until the meta-game settled, which equals to forever).
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
A bunch of stuff
If you don't think its possible for learning AI to be programmed, you are sorely mistaken. AI is my specialty, and programming AI that evaluates its past options and uses that info to make choices is trivial.

In Brawl, I dont really think there is anything of the sort, but saying that there is no way for an AI to learn because "learning is for humans" is incorrect.

In a limited simulation where all possible variables can be recorded, you can easily create something that records everything down and tries to make a correlation between randomized inputs and positive results during gameplay, or after the fact.

I actually wrote a checkers AI that used a combination of previous match data and simulated matches to learn as you played against it. After about a month of playing 1 game per day against it, I could no longer beat it, and matches against itself always ended in a draw.

google genetic algorithms or neural networks to find out more!

Anyways, the way we will end up making Brawl AI good is by hardcoding what we believe to be good decisions. The AI wont know WHEN to wavedash, we will just make arbitrary conditions for it to wavedash until it seems to wavedash at proper times.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
Yeah, AI will get intelligent options. For example, on certain characters at certain percents, we will tell fox uthrow uair is a good option.

Or with marth, options to chainthrow vs utilt vs fsmash.

Obviously it will not need to do this every time, but you get the idea.
 

Scufo

Smash Apprentice
Joined
Mar 13, 2008
Messages
162
Location
Massachusetts
I actually wrote a checkers AI that used a combination of previous match data and simulated matches to learn as you played against it. After about a month of playing 1 game per day against it, I could no longer beat it, and matches against itself always ended in a draw.
Not gonna lie, I'm a little frightened by this.
 

UltiMario

Out of Obscurity
Joined
Sep 23, 2007
Messages
10,438
Location
Maryland
NNID
UltiMario
3DS FC
1719-3180-2455
I would still beat my CPUs because if they played me they'd only get even more predictable.
 

UltiMario

Out of Obscurity
Joined
Sep 23, 2007
Messages
10,438
Location
Maryland
NNID
UltiMario
3DS FC
1719-3180-2455
What about the 3% Chance for European DI and the 1% Chance for Australian DI?
 
Status
Not open for further replies.
Top Bottom