There are many potential ways to score a round of Grobots, and many variations of the rules.
- 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.
- A side scores a point if it has any cells left at the end. How many doesn't matter.
- 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.)
- 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.
- How much energy a side has acquired, by any method.
- 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 mean score of rounds the side survived (IOW, score / survival).
In addition to changing the scoring system, the game can be varied by changing the rules.
There are various parameters that can be changed:
- 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 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.
- 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.
- Reproduction is allowed, but a robot may only create other robots of same type. Each side is for practical purposes restricted to one type.
- Full Grobots
- Sides may have as many types as they want. This makes for a complicated game.
Other hardware than the constructor could be restricted. Note there's no support for hardware restrictions yet, so this must be enforced by hand.
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.
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 robots, but also on aesthetic grounds. Some examples:
- Being fun to watch
- Doing something unusual and 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.
- 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
- We want most cells to cost about 1000 energy. 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 comething like this:
Grobots by Devon Schudy (firstname.lastname@example.org)
and Warren Schudy (email@example.com)
|Typical good side||10%||50%||20%||38%||10%||20%
|Not so good||3%||30%||40%||50%||9%||10%