Based on the ideas stated/referred on Making Even Teams and thanks to the years of working with robots, both for personal and for other people's fun, I was able to make some hypothesis/thesis about the game in general that can be of use for all (they are rather tested already but still on development/improvement somewhat). The basic idea behind robots is to make them replace players, specially when there are not so many to play with us on a given situation. The system, then, helped me to see and determine several stuff: a levels system to classify players' skills, balanced teams for matches (with these levels), maximums of players and Saturation of Shots for maps and a simplified scores system.
We have 2 kinds of robots, already present on BZFlag (their codes and, then, their behaviours are different from each other): 'autopilot' and 'solo' ones. We have, basically, 2 kinds of maps, where they can run rather well: default randomly generated CTF and FFA ones (I have not tried Rabbit Chase style a lot since I realized I didn't like it very much (at least for now; more info: Faster Rabbits )).
The System:
A) Levels System (about players' skills):
1) Beginner; 2) Intermediate; 3) Expert I; 4) Expert II; and 5) Expert III.
('Autopilot' robot: level 1; 'solo' robot: level 1.33.)
Method:
- CTF: on an ideal map, a lonely player's skill level will be equal to the amount of opponent robots he can win against plus 1. The winning amount is: 3 captures of difference per 10 minutes.
- FFA: Idem. The winning amount is: 10 kills of difference per 10 minutes.
- The recommended final level is the average of both.
Example: if a player wins against 2 robots, he obtains the level 3 (2+1).
B) Simple Scores System:
- Deaths:
- Positive points: kills.
- Negative points: selfkills and teamkills.
- The total amount per player is divided by his level.
- Captures:
- Positive points: captures.
Note: all robots are 'autopilot' ones unless told otherwise.
- CTF (shots:2; ricochet: yes; superflags: no; jumping: no; maximum of players: 10; Saturation of Shots: 8 or more players; number of teams: 2 (on opposed sides)):
- Join 1 robot player on each team.
- Join humans (balancing by amount of them).
- Balance teams according to Levels System (unless Saturation of Shots is reached; in this case, only balance by amount of players).
- In the case teams levels do not match, add as many robots as necessary (though, for comfortability, the less robots, the better).
. - FFA (shots:5; ricochet: yes; superflags: yes; jumping: yes; maximum of players: 6; Saturation of Shots: 5 or more players; number of teams: 2):
The same like CTF except for the note.
. - Limits:
- CTF: since robots get stuck on 90-or-less-degrees buildings: 1) choose the maps which have good buildings, at least, on the center area between both bases; and 2) place flags always at middle of bases.
- FFA: for the same reason: choose the maps which have good buildings, at least, on the center area.
- Preferably, plug-ins to deal with: automatized scores system, pausing robots, stuck robots, automatized storing/restoring levels, assigning temporary levels, etc.
- On-demand decreasing of levels: a player can, eventually, ask for his level to be reduced by 1 (or more) because of some reasonable causes, to make his playing more confortable; in example: by sickness/tireness, because of not using the preferred game control, because of the evaluation being hard (then, playing will be hard too), etc.
Obtained from my server, DiverSion (a non-24-hours one).
* Reference: bzfs modification - questions .
About Robots:
* Robots were modified to be able to run publically (more precisely, the server).
- robotA ('autopilot'):
- aiming: between certain angle (it can fail);
- doing bounces: no;
- objectives detection range: following and shooting opponents and picking flags up: 25% approx.; only shooting opponents: 67 % approx.; recovering own flag: 100% approx. (of a normal map);
- priorities: 1st) following and shooting opponents; 2nd) using flags; 3rd) only shooting opponents; 4rd) patrolling/going to the corner;
- picking flags up (and capturing) and jumping: yes;
- avoiding to kill mates: no;
- others: if someone (of any team) picks the robot team's flag up, the robot will capture (there are exceptions); if its flag is not at the base, it will recover it (there are exceptions); being on a non-floor level, it can't shoot (except with Super Bullet (SB)); it gets stuck: a) on a 90-or-less-degrees object; b) sometimes, when wanting to pick a flag up; c) sometimes, without any cause (it is killed by the plug-in);
- level: 1.00.
- robotS ('solo'):
- aiming: perfect;
- doing bounces: no;
- objectives detection range: 100% approx. (of a normal map);
- picking flags up (and capturing) and jumping: no;
- avoiding to kill mates: yes;
- others: if an opponent picks the robot team's flag up, the robot takes him as its only objective;
- level: 1.33.
General Note #2: I, possibly, write a non-simplified version of this work in the future.
Some screenshots to show how it looks like:
(alfa1 - level 3.17 (evaluated; CTF: 4.33; FFA: 4.00; average: 4.17; reduced by 1 (I'm nowadays testing about reducing all players by 1 for comfortability); most used matches lenghts: 15 minutes.)
I hope it is useful and fun!