(This is the first of 3 overview posts I'm doing before actual updates in order to have a backlog prepared. I might put up the second part tomorrow, since without it feels like I'm just throwing shade at Action Button for not devoting an excessive amount of time to what would have been an irrelevant feature if VIDEOBALL were as popular as it should be. I'll be happy to answer any questions and hear any feedback.)
The suggestion to use bots online that are superficially identical to the ones in the base game has often come up. The idea has merit; the simplicity of them allows for straight-forward testing of behaviours and reduces the chance of weird, inexplicable bugs from propping up. However, I think they are too limited for the skill found in the online community and I don't believe minor improvements can alleviate this.
With the default bots, decision making (where to go, what to shoot) is decided by a hierarchal list of parameters (ball, teammate and enemy location with respect to home, neutral and away zones) and resulting interactions. Basically it is a (potentially very long) case statement where if multiple reaction conditions are met, it chooses the highest ranked among them, with a very simple action (e.g. tackling) set as a default if none are met.
From what I've observed, the bots essentially have 2 (technically 3 with the bot Ready) interactions:
- Move towards a specific player; tackle that specific player
- move within 1 ball length above or below a specific ball and 2-3 ball lengths between it and home goal; charge to a specific level and fire at the ball.
With regulation rules (2v2, 3 balls) and assuming we don't tackle teammates or tackle using lvl2s or lvl3s (wasteful!), there are 11 possible target combinations (3x3 push, 2x1 tackle). Add in angle of attack (say 22.5° intervals [1/16 of a circle] for simplicity) we get 77 total outcomes from the standard bots (9x5 push [semi-circle, don't want to fire at our own goal!], 2x16 tackle).
I don't know how that number sounds to someone who's never played VIDEOBALL, but to me it is shamefully low for the diversity of approaches and tactics the game can allow. Skilled play by human players can cover for some failings, but there are inherent issues that all the standard bots suffer from when considering them for player substitution. Some improvements can be added to the basic framework:
Bots approach a ball or player then come to a stop. Their shots have less velocity and therefore pushing power. May be able to rectify this by charging before reaching the ball. That would depend on charge type (bigger charges must be started earlier) and angle of approach (may need additional time to maneuver into a good spot).
2 large instances of this.
- The bots create no defensive blocks. if one is spawn they will destroy it (even a friendly one!). This is understandable, the difference between block placement being a hindrance or a help (or both) can be as little as a few units in a particular direction. For a decision system based around major zones the distinction cannot be made. They complicate the geometry of the field and the simplest solution is just to not have them around.
- The lack of indirect shots. That is, pushing the ball toward the goal at an acute angle, so as to throw off an opponent in lvl2 duels or put out a slam that cannot be easily reflected. Generating a random number to add a small change to the shots trajectory might be be a cheap way of simulating this.
Hypothetically, if a team of bots keep at their current hierarchy of decisions when they're down 5-0, they're probably going to lose. Putting in a condition to, say, become more defensive if the score differential is severe would be a positive contribution, even for bots that fall into archetypes like "just tackle like a dummy for the whole match".
This is the major issue with the default bots and I don't think any simple change can fix it. In brief, any amazing play accomplished by the bots is accidental.
Consider this scenario:
(NOTE: board won't let me post more than one image per post, so here's an Imgur album leading to it
VIDEOBALL is built on top of intentional decisions. When to fire dead-on to drive a ball forward or off-side to halt an opponents projectile. Holding off on a shot to line up multiple targets. Sacrificing one ball to gain better positioning on two. The split-second dilemma of going for a lvl2, lvl3 or block. The default bots exhibit these fantastic plays all too rarely, because they do not think and therefore act in a way that is conducive to fine play, just "target ball" or "tackle player".
Next entry I hope to explain how fine, "intentional" play may be explained in terms of data that may be generated and evaluated by a computer.