FlexBot provides an architecture for extending the functionality of the system without rebuilding the central source code. This ability is provided via lightweight, interchangeable modules that can provide customizable interaction with a standard FlexBot game. Dynamically loaded at run-time any number of modules may be loaded simultaneously and all run in parallel.
With the provided template code, a simple functional extension module can be developed with as little as ten new lines of code. While the template code is written in C++, modules can be written in any language that will compile into a standard DLL. Once built, the module is installed simply by copying a file into the proper directory. Modules can be easily distributed and shared between users.
Four different types of modules can be built for the current release of FlexBot: FlexDebug for debugging bot behaviors, FlexMonitor for monitoring a game in progress, FlexStat for live statistical analysis, and FlexControl for external game control.
FlexDebug modules provide a generic interface for developers to build tools for debugging bot behaviors. See the FlexDebug page for more information.
FlexMonitor modules allow users to build custom tools for monitoring in-game action. See the FlexMonitor page for more information.
FlexStat modules receive a live statistics feed from the game. Developers can display or process this data in any manner they see fit. See the FlexStat page for more information.
FlexControl modules can send FlexBot commands (much like the "bot" console commands available in-game) to the FlexBot game. See the FlexControl page for more information.