Difference between revisions of "BZRobots"

From BZFlagWiki
Jump to: navigation, search
(merging content from BZRobots/History)
(See Also: removed link which redirects back on to its own page)
Line 53: Line 53:
=See Also=
=See Also=
* [[BZRobots/Ideas]] - Community suggestions for and enhancements changes for BZRobots
* [[BZRobots/Ideas]] - Community suggestions for and enhancements changes for BZRobots
* [[BZRobots/History]] - Some of the history behind BZRobots

Latest revision as of 20:31, 1 December 2016

About BZRobots[edit]

(Note that the following information applies to the BZRobots in the upcoming BZFlag 3.0 release)

BZRobots is a programmable computer player client that is compatible with the BZFS server. It is designed to be an artificial intelligence training and development tool that operates under the BZFlag platform.

BZRobots requires that you have already configured and are running an instance of BZFS, that allows one or more bots (using the -botsPerIP setting). Also, BZRobots is a "headless" client (i.e. there are no graphics, it is only text-based), so if you want to watch your bots in action, you will also need to join as an observer or player using the BZFlag client.


The BZRobots Programmable Computer Player Client was originally developed by Brigham Young University as a project called BZRC

In 2007 it was further developed by Jørgen Pedersen Tjernø (AKA daxxar) as part of the Google Summer of Code. Information about his work can be found on his GSoC blog at http://gsoc.daxxar.com

This work was continued in 2009 by Mathew Eis (AKA Bulldozer and KingRobot), again as part of Google Summer of Code.

The current BZRobots code can be found in the BZFlag subversion system at http://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag/src/bzrobots

Quick Start: Building[edit]

Linux/OS X[edit]

The BZRobots client (and support for C++ bots) will by default as a standard part of the bzflag trunk build. However, if you want to build Python bots, you will need to run ./configure with the option --enable-bzrobots-python (and of course have the necessary dependencies)


Open the bzrobots solution, then build the bzrobots and testbot projects.

Quick Start: Running[edit]

(Note: This quick start assumes that you will be testing bzrobots from within the build directory, have already run 'autogen.sh', 'configure', and 'make' and have not run 'make install')

Linux/OS X: Shared Library [.so][edit]

(Due to the use of libtool, the binary TestRobot.so is in the .libs directory)

# cd bzflag/src/bzrobots
# ./bzrobots -team red sobot@localhost .libs/TestRobot.so

Linux/OS X: Python [.py][edit]

# cd bzflag/src/bzrobots
# ln -s .libs/bzrobot_pyext.so ./bzrobot_pyext.so
# ./bzrobots -team red pybot@localhost ../../bots/python/TestRobot.py

Linux/OS X: LUA [.lua][edit]

# cd bzflag/src/bzrobots
# ./bzrobots -team red luabot@localhost ../../bots/lua/bzbot.lua

Windows: Shared Library [.dll][edit]

# cd bzflag
# bzrobots.exe -team red dllbot@localhost TestRobot.dll

Windows: LUA [.lua][edit]

# cd bzflag
# bzrobots.exe -team red luabot@localhost bots\lua\bzbot.lua

Developing Robots[edit]

See Also[edit]

  • BZRobots/Ideas - Community suggestions for and enhancements changes for BZRobots