This wiki is archived and useful information is being migrated to the main bzflag.org website
Editing BZRobots/Ideas
Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.
The administrator who locked it offered this explanation: Archived wiki
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
=Overview= | =Overview= | ||
This page is to collaborate on ideas for the [[BZRobots]] Programmable Computer Player Client | This page is to collaborate on ideas for the [[BZRobots]] Programmable Computer Player Client | ||
+ | |||
+ | = Implementation ideas = | ||
+ | * [[BZRobots/ShotsAndEnemies]] | ||
= Suggested ideas = | = Suggested ideas = | ||
+ | ==Scripting== | ||
+ | * Be able to load multiple modules. | ||
+ | |||
==API functions== | ==API functions== | ||
* Provide an API for visual targets based on the same rules a player would see. | * 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. | * 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 == | == Input == | ||
* Allows input of coordinates/properties from stdin, so info from other apps, gps, etc. can be pumped into the bot | * Allows input of coordinates/properties from stdin, so info from other apps, gps, etc. can be pumped into the bot | ||
− | |||
= Accepted ideas = | = 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 = | = Rejected ideas = | ||
Line 21: | Line 38: | ||
* Have methods to compute travel paths to desired locations, with updates for moving targets. | * 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) | ** (Rejected as it defeats the purpose of BZRobots as an AI learning tool) | ||
− | |||
− |