FlexStat
A system to dynamically load statistical analysis modules for FlexBot at
run-time.
Summary
The tracking of statistics during a FlexBot game can add another dimension to
the spectator experience. It can also provide helpful developer feedback. In the
early pre-release versions of FlexBot, all statistical analysis functionality
was hard-coded into the FlexBot system. This limited the user to the provided
statistical tool. Additional features required modification of the FlexBot
source code, forcing the developer to work with a non-standard build of the
FlexBot system that was not easily upgradeable.
FlexStat provides a framework for the user to create custom statistical
analysis modules that can be loaded by FlexBot at run-time. Any number of
FlexStat modules may be loaded simultaneously and all modules run in parallel.
FlexBot updates each FlexStat module every time a statistic changes. Because
modules are compiled into DLL's, their implementation is language-independent.
FlexStat modules are simple to develop because they can easily be compiled in
Microsoft Visual Studio using the provided template code.
Control Flow
Details
- The FlexStat architecture is built into the FlexBot Beta 1 release.
- Modules are compiled into DLL's.
- C++ template code provides the framework for creating a simple module.
- Compiled FlexStat module DLL's are placed in the FlexBot/dlls/FlexStat/
directory. All modules in this directory are loaded by FlexBot at run-time.
- Modules can be easily distributed for use by other users without
recompiling or reconfiguring any parts of the system. The module will work
on a different FlexBot-equipped machine as soon as the user drops the file
into the appropriate directory.
- There is no limit to the number of FlexStat modules that may be running
concurrently.
- The FlexStat system is complete with a well-documented API.
Existing FlexStat Modules
StatLog
The StatLog module logs all FlexStat events to a text file on the host
machine. This simple example of how to use the FlexStat module framework was
written with about 20 lines of code.
[ Screenshots | Source
Code | Download ]
FlashStat
The FlashStat module displays critical statistics about the FlexBot game in
an interactive browser window controlled by Flash technology.
[ not yet available ]