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
Jump to navigation
Jump to search
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:10, 4 August 2009
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)