This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "BZRobots/Ideas"

From BZFlagWiki
Jump to: navigation, search
Line 1: Line 1:
 
=Overview=
 
=Overview=
This page is to describe the community ideas for the BZRobots API that is to be provided as part of the Programmable Computer Player Client project for the Google Summer Of Code
+
This page is to collaborate on ideas for the [[BZRobots]] Programmable Computer Player Client
  
 
= Implementation ideas =
 
= Implementation ideas =
 
* [[BZRobots/ShotsAndEnemies]]
 
* [[BZRobots/ShotsAndEnemies]]
  
= Feature ideas =
+
= Suggested ideas =
 
==Scripting==
 
==Scripting==
* Integrate python as a scripting language on top of C++
+
* Be able to load multiple modules.
* Be able to load C++ or python modules transparently.
+
  
 
==API functions==
 
==API functions==
* Provide global, team, admin, and report chat APIs so bots can communicate just like players, perhaps with some parsing helper 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.
 
* 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.
 +
* 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
  
=See Also=
+
= Accepted ideas =
* [[Google_Summer_of_Code|Google Summer of Code]]
+
* Add support for getShots() in BZAdvancedRobot - return a list of shots (class Shot)
* [[BZRobots/About]]
+
* Add support for a Shot class
 +
** getPosition(dt) -return position after dt seconds as is assumed
 +
** getType() - normal? gm? laser? ...
 +
** 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
 +
 
 +
= 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 05:59, 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? ...
    • 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

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)