A bot that does not store any state between ticks.
In David McCoy's perceptual survivalist league, this was specified by prohibiting the following:
- Non-final member variables in the bot class, and any utility classes, including inner and anonymous classes (i.e. Conditions)
- Use of any of the following functions:
- getDataFile(String filename)
- Modification of non-final static variables from built-in classes, directly, or via mutator methods
- Use of static methods from built-in classes to store information in any way
- Encoding information into your bot's state for later retrieval is prohibited. For example, using setMaxVelocity(7.0 + enemyHeading / (2.0 * Math.PI)) to store another bot's last heading is not allowed.
- The addition of a custom event with a Condition that stores temporary values MAY be allowable, provided the Condition is immediately removed once the event has been handled.
As there is presently no active competition for perceptual bots, there is no commonly agreed upon rule set.