This page contains unapproved theory about bots behavior. Feel free to leave a feedback by commenting this page.
A bot will pick a target and then focus completely on that single target. A target is usually an opponent to kill, but it can also be an object to pick up or a healing orb to walk over. The bot will then move towards the target, taking care to place itself on the same row as the target, possibly running if it's far away. If the bot is a ranged character and the target is too close to shoot, the bot will first distance itself. The target is generally the nearest opponent or object; if another opponent or object comes closer than the current target for long enough, the bot will switch to the closer target. There is a different priority between opponents and neutral objects. The difficulty setting affects how quick their reflexes are (for instance, Easy bots typically stand around dopily for a second before punching), and how liberally they jump and use special moves.
In Easy Stage Mode, bots have only two thirds the normal HP. They are slow to attack, often giving the player enough time to escape.
In Normal, bots react faster when given the opportunity to attack, and thus are not only more likely to hit the player, but there is less chance of escape for the player after getting hit. Bots also start to use special moves more frequently. For example, Freeze likes to use whirlwind when the player is close enough.
In Difficult, bots react quickly, so it requires good positioning and timing to beat them cleanly. They are very likely to use special moves. Davis' dragon punch, for example, becomes a big threat on Difficult or Crazy. Freeze often creates icicles and Firen an inferno when the player is close enough, so diagonal dash attacks must be done carefully or else the player will get frozen or burned. Another remarkable difference is bots running away with milk (or, in some cases, beer) bottles, which makes it extremely difficult to stop them from drinking when there is more than one of the little thieves. They are quite apt to throw their weapons. They are smart but still predictable (they are not, however, deterministic, because jumping is done at random intervals and special moves are done somewhat randomly).
In Crazy, Bots act so similarly to Difficult that many people think they actually act the same. More advanced players, however, should be able to feel the difference, since on Crazy bots spam special moves, and tend to pick up, run away and drink even more often. While Julian uses his explosion fairly often on Difficult, on Crazy, he prefers skull blasts, even when the player is close enough for an explosion.
There are certain things bots can do, by virtue of thinking fast, that are almost impossible for humans. When one executes a special move on a bot one is grabbing, in some cases there is an extremely short window where the bot is falling but the special move is not yet in effect; if the bot happens to have a quick jump attack, it can execute it during that window. Bots can start running with almost no delay. Notably, sometimes a bot will be killed while picking up a weapon, and still manage to execute a dash attack, promptly falling over dead upon landing. Also, they are surprisingly good at dodging when they're trying to get to a safe spot to drink.
In the end, bots are strictly stupider than humans, and after one spends a while learning their patterns, the only way they can be a threat is when there are many of them.
Bots have many exploitable weaknesses, which conspire to make it possible for one human to beat them with ease. The most important one is that they are largely unaware of anything that happens outside the exact row they are currently standing on. This depth-blindness has a twofold consequence: they will hardly bother to attack an enemy who is on a different row (the exception being certain special moves), and they will usually not see an attack coming if it comes from a different row. So, for instance, if one wishes to punch a bot without getting punched back, one need only stand on a row slightly above or below them, just close enough that the punch reaches.
In fact, this is the most reliable way to attack a bot: while standing on, or coming in from, a different row. Dash attacks, projectiles, and area of effect attacks like Flute can all be done quite safely from a different row. Even personal-range attacks like Woody's flip kick or a plain punch can hit opponents who are standing on a marginally different row. When you repeatedly punch a bot, the bot will inch towards your row between your punches; to fix this, hold down the up key or the down key the whole time, and you will inch away from the bot between your punches, maintaining distance.
The second most important weakness is their greed for weapons. If a bot's hands are empty, a weapon is nearby on the ground, and their target isn't nearer, they will all-too-easily switch to pursuing the weapon, unaware of any enemies that are standing just beyond the weapon waiting to pounce. They will ignore weapons that are even slightly above the ground, like a bouncing boulder. Ranged characters don't seem to know what to do with weapons once they have them, as they frequently face away from their enemy.
Bots treat their frozen teammates like obstacles: they hit them if they're in the way. A bot with a bottle can be trapped between the wall and their pursuer, which is a useful trick if one wants to keep a bot occupied while allowing one's teammates to drink in peace. Bots act pretty stupid around shields.
Special Moves By SituationEdit
Since there are so many special moves, and a bot needs to know what to do with them, they are lumped into broad categories according to what situations they are applicable in. Sometimes this results in silly misuses, like Davis doing a strafe when his enemy is too far away for the first punch to connect, but generally the categorization is done pretty well.
Certain moves will only be done by a bots only if his target is very close. These moves are Whirlwind Throw (Louis), Dragon Punch (Davis), Flash Kick (Jack), Uppercut (Julian), and Flip Kick (Woody).
Close Ranged MovesEdit
These moves will be done by bots if it's target is close to them. Bots can use these moves before the player even enters the range of the attack, which is bad news if the player was flying towards the bot with a dash attack prepared. These moves are Strike (Deep), Explosion (Firen), Whirlwind (Freeze), Strafe Kick (Dennis), Thunder Punch (Louis, when running or dashing), Crash Punch (Mark), Wolf Punch (Justin), Phoenix Dance (LouisEX), Mirror Image (Julian), and Big Bang (Julian).
Medium Ranged MovesEdit
These moves will be done by bots if it's target is in a pretty close distance to them (but not too vertically distant). Thus, these moves may cause dash attacks to fail. These moves are Energy Blast (Deep and Justin), Leap Attack (Deep, Rudolf and Davis), Thunder Kick (Louis), Inferno (Firen), Icicles (Freeze), Whirlwind Kick (Dennis), Tiger Dash (Woody), Shoulder Run (Mark), Shaolin Palm (Monk, although with further range limit), Shield (John), Dashing Strafe (Deep), Multishot (Henry and Rudolf), Disaster (Firzen), Volcano (Firzen), Teleport to Friend (Woody), Speed Punch (Bat), and Strafe (Davis).
Distant Horizontal MovesEdit
These moves may be done by a bot if the target is far away but positioned on the same row. They are Energy/Fire/Ice Balls (Davis, Dennis, Woody, Firen, Freeze, John, Jack, Sorcerer), Palm (Henry, Louis, and LouisEX, but not Monk), Super Arrow (Henry), Firzen Cannon, Soul Bomb (Julian), and Laser (Bat).
These moves can be done by bots even when the target is away; however, it mustn't be too far away. These moves are Energy Disk (John), Disappear and Clone (Rudolf), Chase Ball (Dennis), Bats (Bat), and Skulls (Julian).
Woody will still do his Tiger Dash when the target is vertically distant that the attack will miss. The opponent must be positioned diagonally for this to happen though.
Flute (Henry) and Devil's Judgement (Jan) will be used by bots if the target is in a certain radius.
Self HP Based MovesEdit
These moves will be done when the bot has low HP. These moves are Heal (John, Sorcerer and Jan), and Transform (Louis).
Team HP Based MovesEdit
These moves will be done when someone on the bot's team is on low HP. These moves are Heal (Jan) and Heal Others (John, Sorcerer). Heal Others will only be done if the injured teammate is nearby.
Rudolf's Transform is never used.