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

A Brief Look Into Computer Player Behavior

Simna ibn Sind

THIS IS unMODNESS!
BRoomer
Joined
Apr 20, 2002
Messages
4,534
Location
1108 R St. Sacramento, CA 95811
Slippi.gg
SIND#745
Don't worry this won't be one of my long reports, just a small tidbit to think about. Really this thread is so I can bounce ideas off of other users and see what conclusions can be drawn.

Through some messing around with the Soul Breaker glitch I have found some interesting info on CPs. What I have done is taken a Human Bowser and a CP Mewtwo in training mode to Battlefield. I set the Mewtwo to Human and did the soul breaker glitch on the human bowser. At first I was doing this to up my combo record with Bowser via Soul Stunner on a second CP Mewtwo, but then I remembered "DUH! CPs in training mode can't hit each other!"

Instead, I got a funny idea and set the CP Mewtwo to EVADE. The Mewtwo stood in place and repeatedly turned around in place. It kept doing so and didn't stop. Then, I set it to ATTACK.

At this point Mewtwo was on a platform where he immediately dropped through. Before landing on the stage underneath he double jumped back up. He did this repeatedly each time moving each time slightly towards the closest edge whether it be in front of him or behind him(not the closest grabable edge, just the closest edge of any platform). Because of the platform arrangement in Battlefield, Mewtwo often got into a seemingly infinite loop of jump/double jump; he was caught between the edges of two platforms or sometimes between the edge of the platform and the edge of the stage. It seemed infinite, but eventually Mewtwo would use a dodge-roll and continue moving in the same manner until caught in another long loop between two edges. Mewtwo would attack every so often as well between jumps.

Here are some statistics on what Mewtwo was doing:

-Jumps used(not counting jump and double jump separately, just counting each time Mewtwo was moving upward): 526
-A: 18, times used consecutively: 3
-AA: 41, times used consecutively: 0
-dodge-roll: 5, times used consecutively: 0
-ftilt: 2, times used consecutively: 0
-all other attacks: 0

Im going to try doing this with more characters(other than Bowser) and on stages other than battlefield and see if the actions taken are similar, but for now I'll post these results.

I guess this post turned out longer than I thought.

Please discuss.

EDIT: for a small time (about 20 jumps) I turned on 2 other computer mewtwos to see how they would change the situation of the first mewtwo. Not much changed, but the main Mewtwo did end up doing some things it didn't do previously. During that time(20 jumps) mewtwo did an uptilt and even walked a bit(about the width of one mewtwo) before jumping again.

Comparing all of this info with the actions of a Mewtwo set to attack without his opponent attached to him I have concluded the following:

-CP Mewtwos in training mode are set to never use aerials or grabs or smash attacks and they will never run
-they wil use uptilt only if you are above them (in the air) and downtilt only if you are below them in an area where they cant reach(holding a ledge)
-They are set to use a non-movement action at seemingly regular intervals. These actions are mostly attacks, but sometimes are dodge-rolls
-When not using a non-movement action they will be moving towards their target.
-If they are out of range for any form of attack, they will not use a non-movement action even if the time comes that they normally would
-If they are outside of the range for all of their standing A attacks and the time comes that they would use a non-movement action, they will fire a shadow ball.
-If the time comes for them to use a non-movement action, they are within range of a standing A attack, and they are in the process of walking towards their target, they will use a forward tilt.
-They will never jump into the air after an opponent unless there is a platform the opponent is above that will bring Mewtwo closer to the opponent.


Contradictions:
during the 2 hour time in which I was gathering data from a CP mewtwo set to attack against a human bowser the mewtwo did one downsmash on bowser when he was above 250% and used one uptilt on bowser while he was standing in from of mewtwo with his back turned away
 

Wave⁂

Smash Legend
Joined
Feb 16, 2006
Messages
11,870
The contradictions can probably be explained by a random number generator.
 

muesli

Smash Journeyman
Joined
Jul 16, 2007
Messages
235
Location
Germany, Waldkirch (nobody knows this place)!
In many moments a CPU is doing the same attack every time, like on Hyrule Castle on the little plattform. If you're standing on the ledge that your character is swinging onto the ledge a Marht CPU is everytime doing a Dair continued with a SD, the same thing are doing I think Ganondorf, CF, Link, Y. Link, Luigi (not really often), G&W (but he survives it sometimes), Falco, Fox etc. too.

They're in some cases simply programmed.

[VERY SIMPLE EXAMPLE (the situation is on Hyrule) ]


Event: "enemy on a grabable plattform"
Condition: "swinging or very near to the ledge"

RUN TRIGGER:
Action: "downwards air attack"

As I said only a simple example, nothing special.



muesli :)
 

behemoth

Smash Journeyman
Joined
Dec 11, 2006
Messages
454
Location
San Marcos, Tx, USA
Okay, this is coming from the perspective of a programmer, who has done rule-based AI which I think is the way Melee works:

Their decisions are based on rules (checking input from the main game engine) such as proximity to an enemy, current state (standing, dashing, falling, etc.). These rules are given a mathematical priority which determines each action.For example:

A CP is within striking distance of an enemy, but instead jumps. why?

because it is off the edge, and that state takes priority over "enemy within striking distance".

What your mewtwo had was a conflict of interest. Putting it in "attack" mode gave attack opportunity rules higher priority. So it moved to attack, but that move forced it into a second, higher priority move, which made it jump back to the ledge.

...was that understandable? I was having a hard time phrasing that. :psycho:
 

behemoth

Smash Journeyman
Joined
Dec 11, 2006
Messages
454
Location
San Marcos, Tx, USA
^this is because of a mis-prioritized rule. Instead of being programmed to know when an attack ends, they only know when it begins. So your falcon punch has already ended, according to their code. :laugh:
 
Top Bottom