Current Specs
Matches are fought between two bots, each programmed in advance and fully autonomous. Bots may fire various weapons at each other, doing damage according to the weapon type. The battle continues until one bot is destroyed or the maximum battle time is reached, in which case the winner is the bot with the least damage.
Bot Architecture
The bot is approximately cubical, 3 meters x 3 meters x 3 meters. It consists of two parts: a base section which provides locomotion, and a turret which houses the weapons. The base can move forward or backward, or rotate in place (tank style). The turret can rotate freely relative to the base.
Weapons
Current weapon ideas include:
- A laser which fires a beam of energy in a straight-line path. It is mounted on the front of the turret and always fires in the direction the turret is facing.
- A cannon which fires explosive shells in a ballistic trajectory. The cannon is mounted on the turret and always fires in the direction the turret is facing, but it can be adjusted to point from horizontal (0 degrees) to vertical (90 degrees).
- Missiles which fire from the front of the turret, but can thereafter be guided in different directions.
- Mines which can be dropped from the back of the bot and then remain stationary. They explode when touched by any bot.
Some weapons will be in limited supply, for example a bot will only carry a fixed number of shells (20?).
Playing Field
The field is 100 meters x 100 meters. Bots cannot travel past the boundries. The field includes various buildings and other objects randomly placed. Bots cannot pass through any of the objects. Most of the objects will block lasers, but some of them can be destroyed by shells or missiles.
Time Scale
Time is measured in units of 1/100th of a second, known simply as a "tick". All bot movements and sensor readings are updated once per tick. The bot's CPU runs at approximately 10,000 instructions-per-second, which roughly translates to 100 lines of code per tick, so a lot of code can be run in between updates. All motions occur in realistic scale and independent of code execution, for example if a bot is moving forward by one meter it will take 100 ticks to complete the action during which approximately 10,000 lines of code will be executed.
Programming
Bots are programmed in a language called FHP, which is derived from PHP and should be immediately usable by all programmers. For a complete description, see the
FHP Language Overview.
Sensors
The only sensor currently defined is the turret-mounted range finder, which determines the distance to any object directly in front of the turret. Future sensors will probably include additional range finders, proximity sensors, and satellite imagers which can provide overhead data of the battlefield.
Speed Data
Base: Forward or backward at 1 m/s; turns at 38.2 deg/s
Turret: Rotates at 100 deg/s
Cannon: Raises/lowers at 100 deg/s
Shell: Initial velocity can be set from 1 m/s to 99 m/s