Replay FlexBot games that have been recorded by Herodotus in the BigBrother
What is ReFlex?
ReFlex is a lightweight program that reads the contents of HerodotusML
files, which are recordings of a FlexBot game, and simulates real-time game
output to the BigBrother game-viewing utility. This
effectively allows the user to "replay" a recorded game for analysis
at any time.
What is the current feature set?
In its current state, ReFlex is a Win32 console application. Upon running the
program, the user is prompted to enter the path to a Herodotus file for replay.
The game data that is stored in the file is then streamed to the BigBrother
server in "real-time" (game-time). The game is replayed from beginning
to end unless the program is terminated.
How To Use ReFlex
- Download ReFlex here.
- Unzip the files to any directory on your computer (keeping them together).
Note: Included in the directory is a sample Herodotus file named
"sample.xml". It is 10MB because it is recorded at an extremely
high frame-rate (100 fps). Please trust me on this and do not be foolish by:
a) trying to open the XML file in Internet Explorer; or b) trying to open
the XML file in Notepad.
- Make sure that the BigBrother Perl server script is running locally.
- Open the BigBrother Flash player.
- Double-click "ReFlex.exe" to run the program.
- Enter "sample.xml" (without the quotes) as the path to the
- The game will now be replayed in BigBrother. Note that the sample file has
some down-time at the beginning as the bots were being added and set up in
the game. The sample file takes about three minutes to replay from start to
- VCR-like control of the game replay viewing. Features like pause,
fast-forward, rewind, and slow-motion would intuitive.
- GUI interface for controlling playback.
- Support for new versions of the HerodotusML as they emerge with richer
It looks as though the game is replayed
in fast-forward. This may be an issue with the Herodotus FlexMonitor module
logging incorrect time codes rather than an issue with ReFlex.
ReFlex currently only works with
HerodotusML version 0.1 files, which are not true XML. See the Herodotus
page for details and updates on the file format.
Malformed files are not handled
by ReFlex and may result in either a program crash or invalid data being
sent to BigBrother.