Before you start developing agents, it is worth reading the manual: [].
It is also useful to read some of the API documentation such as the YabAPI documentation, even if you do not intend to build on the YabAPI, as it includes general ideas about developing agents.
Finally, have a look at the supplied dummy agents in the libraries.
You can write your RR agents in any language of your choice; they interact with the kernel over TCP using a specified protocol. It is practical, however, to build on one of the supported libraries (rescuecore in Java or librescue in C++). These libraries implement basic agent functionality and interact with the kernel. In this sense "supported" means that they should be updated alongside with any protocol changes in the kernel.
Any good robocup rescue strategy will include the following:
- Search over the map (applicable to all platoons)
- A communication / information-passing infrastructure with prioritisation and no wastage of bandwidth
- A path planner
- Individual strategies for police, fire, and ambulance platoon agents
- Handling of communication and coordination when there are no centers
- Good degradation if centers, communication infrastructure, or agents of a particular type are not there
- Computational efficiency on all of the above!
Is the refuge accessible?