## Levels and Robots (Simplified Version)

All things BZFlag - no [OT] here please
alfa1
Private First Class
Posts: 133
Joined: Tue Dec 04, 2012 10:21 pm

### Levels and Robots (Simplified Version)

Introduction:

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).
Evaluation servers can be used to determine players' real levels; in the meantime, estimations can be used.

B) Simple Scores System:
• Deaths:
• Positive points: kills.
• Negative points: selfkills and teamkills.
• The total amount per player is divided by his level.
Details: since a robot can't be increased on its level but it has to be made part of a group of robots to reach it, then, the human player of that level needs to kill all of them to really obtain 1 point. This means the human's score needs to be divided by his level. Example: a level 3 player needs to kill 3 robots to obtain 1 point (3 (raw score) /3 (level) = 1 (final score)).

• Captures:
• Positive points: captures.
C) Matches:
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).
Note: in the case there is only 1 human playing, join 1 'solo' robot as his opponent to replace 1 'autopilot' one (in this case, the human will have to add 0.33 to his level to make both be equal).
.
• 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.
D) Improvements:
• 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 .

* 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 #1: any user can create these servers locally (not online, unless modified, due to the robots restriction stated above) and have fun, do evaluations, researchs, etc.
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.)
CTF.png
FFA.png

I hope it is useful and fun!

alfa1
Private First Class
Posts: 133
Joined: Tue Dec 04, 2012 10:21 pm

### Re: Levels and Robots (Simplified Version)

Corrections:
• Captures:
• Positive points: captures (it includes self captures by the opposite team).
• robotS ('solo'):
• priorities: 1st) following and shooting opponents; 2nd) keeping current state;

Zehra
Private First Class
Posts: 662
Joined: Sun Oct 18, 2015 3:36 pm
Location: Arctic

### Re: Levels and Robots (Simplified Version)

I like the concept and the way you implemented it. It's solid and basically takes two previously existing concepts and merges them into a single unique and innovative design.

The main issue is the lack of server-side bots which are capable of playing the game, which has prevented this from being a more widespread option or more widely seen.

-Zehra
Those who are critical of me, I'll likely be the same of them. ~Zehra
The decisions we make are the ones we look forward too and the ones we regret. ~Zehra
There's a difference between knowing my name and knowing me, one shows respect to my name and the other is to who I am. ~Zehra

Note: Plug-in developing and requests currently on hold due to technical issues until further notice.

See where I've last been active at Strayers.
Visit BZList.net for a modern HTML5 server stats site.