This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.

BZRobots/Ideas

From BZFlagWiki
Revision as of 06:10, 4 August 2009 by Bulldozer (talk | contribs) (Undo revision 6589 by Bulldozer (Talk))
Jump to navigation Jump to search

Overview

This page is to collaborate on ideas for the BZRobots Programmable Computer Player Client

Implementation ideas

Suggested ideas

Scripting

  • Be able to load multiple modules.

API functions

  • Provide an API for visual targets based on the same rules a player would see.
  • Provide global, team, admin, and report chat APIs so bots can communicate just like players, perhaps with some parsing helper functions.
  • Have methods to compute travel paths to desired locations, with updates for moving targets.
  • Add a getTank(callsign) function

Input

  • Allows input of coordinates/properties from stdin, so info from other apps, gps, etc. can be pumped into the bot

Accepted ideas

  • Add support for getShots() in BZAdvancedRobot - return a list of shots (class Shot)
  • Add support for a Shot class
    • getPosition(dt) -return position after dt seconds as is assumed
    • getType() - normal? gm? laser? ...
    • getHeading() - which way is the shot heading?
    • getShooter() - who shot it? at least own shots should be distinguished because on no-rico servers we could just throw them away when doing collision forecasts
    • unique identifier so that frontend and backend can refer to individual shots: can be composed using player id and shot id
  • Add support for getPlayers() in BZAdvancedRobot - return a list of players (class Tank)
  • Add support for a Tank class
    • getPosition(dt) - return position after dt seconds as is assumed
    • getVelocity() - return current velocity
    • getAngularVelocity() - return current angular velocity, i.e. how fast it is turning
    • getHeading() - which way the bot is heading?
    • unique identifier so that frontend and backend can refer to individual shots: can be composed using player id and shot id

Rejected ideas

API functions

  • Have methods to compute travel paths to desired locations, with updates for moving targets.
    • (Rejected as it defeats the purpose of BZRobots as an AI learning tool)