A tournament is a scored collection of rounds where each side is scored on its overall achievements and statistics, such as survival and combat success.
All current tournaments involve ten sides in the world at a time, chosen at random from among all sides loaded. Tournaments with only two sides at a time have been run occasionally over the years but not recently.
To run a tournament:
- Start Grobots and load at least ten sides
- Set the "tournament" flag in the "simulation" menu, which causes a new round to be started (as if the new round menu item were selected) as soon as the previous round finishes.
- Start the simulation ("run" in the simulation menu). Adjust the speed as desired if you're watching the tournament; otherwise set to unlimited (the usual case).
- Open the tournament window to view the status of the tournament.
- After enough time has passed for on the order of a thousand rounds (e.g. overnight) stop the simulation and look at the results.
Warning: the rest of this page dates from before Grobots was implemented. It describes some features that were never implemented and is otherwise quite out of date.
Rules and ParametersEdit
Every tournament's environment and sides can be altered.
The world can be changed in the following ways:
- World size: Smaller worlds lead to more combat and fewer robots. This has the nice effect of speeding up the simulation. Larger worlds leave more room for huge, organized sides to develop.
- Number of sides: There are usually ten sides at once.
- Manna spawn rate: Lots of manna makes energy readily available, so robots will be numerous, growth fast, and heterotrophy unappealing. Little manna makes a leaner and meaner population.
- Time limit: Since a round could easily last forever, a time limit should be imposed. Varying time limits might affect strategy. Larger worlds may need longer time limits for their potential to show.
There is no support for hardware restrictions yet, but some manually-enforced "game modes" may alter strategies drastically:
- Full Grobots: Sides may have as many types as they want. This makes for a complicated game. (Default)
- Single Combat: Reproduction is disabled entirely. A side therefore consists of a single robot. Annoyingly, this prevents use of missiles. Perhaps creation of robots without constructors could be allowed.
- Clones: Reproduction is allowed, but a robot may only create other robots of same type. Each side is for practical purposes restricted to one type.
Each side starts with some robots costing a constant amount. Varying this could be useful. Allowing a larger or smaller seed would allow Little League and Titan variants of Single Combat. Larger seeds would let the game get started faster, and would have an interesting effect in Clones: if a side starts with one robot of each type, the types act as genetically independent teammates.
There are multiple ways to score a tournament:
- Biomass (Value): A robot's biomass is its cost plus its current energy minus its initial energy. Biomass is a more accurate representation of worth than cost, because it includes energy that hasn't been made into robots yet.
- Survival: A side scores a point if it has any cells left at the end. How many doesn't matter.
- Kills: How much enemy biomass a side has destroyed, minus how much of its own it has destroyed. (Experience in other games has shown this correction to be necessary, lest sides kill their own robots to deny enemies credit for killing them.)
- Damage: A robot damaging an enemy scores the cost of the target times the fraction of the target's initial armor that was destroyed. Example: doing 100 damage to a robot costing 1000 energy with 250 initial armor scores 400 damage. As with kills, damage to friendly robots is deducted.
- Income: How much energy a side has acquired, by any method.
- Carnivory: How much energy acquired through heterotrophy.
Regardless of measure, scores are normalized so the total score awarded is the same for every round. (In other words, scores are expressed as percentages of the total.) This prevents high-scoring rounds from having more influence on a tournament.
A side's score in a tournament is the mean of its scores in individual rounds. The "Fraction" statistic is the mean score of rounds the side survived (IOW, score / survival).
Large tournaments might be held in stages to reduce the quick-kill problem and to favor sides that are good in the presence of other good sides. In each stage, many rounds are run - enough that each side has been in 20-30 rounds. After each stage, the lowest-scoring sides are removed, and the rest enter the next stage. The first stage would remove only 10-25% of the sides; later stages would remove more.
If anyone ever runs a tournament with prizes or other special recognition, they should be given not only to high-scoring sides, but also on aesthetic grounds. Some examples:
- Being fun to watch
- Doing something unusual and/or difficult
- Best unarmed side
- Most readable code
Most tournaments are run in batches, but continuous ones (such as the CoreWar King of the Hill tournament and its RoboWar imitation) offer fast response and retain only the best sides. They are easy to run when automated. However, they're demoralizing to newbies, whose best entries tend to come in last.
There are some issues that have a destabilizing effect on competition:
- Roster Effect: The performance of sides varies dramatically depending on what other sides they face. This should be less of a problem when there are a wider variety of good sides.
- Excessive Buildup: If a side doesn't suffer from resource limitation or combat losses, it can accumulate hundreds of cells, slowing the simulation down. This happens most with autotrophs, since they're not limited by food supply.
- Cell Size: Large cells usually have equally large combat advantages. Most cells should cost about 1000 energy, but balancing this is tricky.
- War and Peace: Some sides are agressive. This can be fun to watch, but if they're too successful they'll kill off other sides that would have been even more fun.
Once the game is balanced properly, scores should look something like this:
|Side||Score||Survival||Early Death||Late Death||Early Score||Fraction|
|Typical good side||10%||50%||20%||38%||10%||20%|
|Not so good||3%||30%||40%||51%||9%||10%|