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: Difference between revisions

From BZFlagWiki
Jump to navigation Jump to search
Bulldozer (talk | contribs)
Bulldozer (talk | contribs)
Removing all content from page
Line 1: Line 1:
=Overview=
This page is to collaborate on ideas for the [[BZRobots]] Programmable Computer Player Client


= Implementation ideas =
* [[BZRobots/ShotsAndEnemies]]
= 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)

Revision as of 06:09, 4 August 2009