Replay FlexBot games that have been recorded by Herodotus in the BigBrother game-viewing environment.

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

  1. Download ReFlex here.
  2. 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.
  3. Make sure that the BigBrother Perl server script is running locally.
  4. Open the BigBrother Flash player.
  5. Double-click "ReFlex.exe" to run the program.
  6. Enter "sample.xml" (without the quotes) as the path to the Herodotus file.
  7. 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 finish. 

Planned Features

  • 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 features. 


  • 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.