home

about

team

projects

papers

downloads

manual

messageboard

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 ]

  gdunham@northwestern.edu