Levels and Robots (Simplified Version)

All things BZFlag - no [OT] here please
Post Reply
User avatar
Private First Class
Private First Class
Posts: 151
Joined: Tue Dec 04, 2012 10:21 pm

Levels and Robots (Simplified Version)

Post by alfa1 » Mon Apr 13, 2020 6:22 am


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.)

  • 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:
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.
E) Additional information:
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 #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.)
(459.83 KiB) Not downloaded yet
(501.98 KiB) Not downloaded yet

I hope it is useful and fun!

User avatar
Private First Class
Private First Class
Posts: 151
Joined: Tue Dec 04, 2012 10:21 pm

Re: Levels and Robots (Simplified Version)

Post by alfa1 » Sat May 23, 2020 2:47 am

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

User avatar
Private First Class
Private First Class
Posts: 719
Joined: Sun Oct 18, 2015 3:36 pm
Location: Arctic

Re: Levels and Robots (Simplified Version)

Post by Zehra » Sun May 24, 2020 6:37 pm

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.

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

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

Click here to view the 101 Leaderboard & Score Summaries Last updated 2020-09-15 (YYYY-MM-DD)
Latest 101 thread

Post Reply