Another tool I built at the same time (but never shared it on the forums) was my PHP port of rrlog. The original rrlog tool is included in the BZFlag source code but isn't distributed as a binary; running it is also kinda weird as it doesn't really show you much useful information.
For my final project in a spatial statistics grad school class, I picked BZFlag to perform some spatial analysis. I used my rrlog port to translate a replay of a match into JSON and then I was able to perform an analysis using that JSON data.
Here's an example of player movement from a replay
Code: Select all
{
"playerId": 0,
"state": {
"order": 19,
"status": 1,
"position": [
207.28,
-216.76,
0
],
"velocity": [
-22.5,
10.88,
0
],
"azimuth": 2.6910541722610244,
"angularVelocity": 0,
"physicsDriver": -1,
"userSpeed": 0,
"userAng_Vel": 0,
"jumpJetsScale": 0,
"sounds": 0
},
"packetType": "MsgPlayerUpdate",
"timestamp": "2020-04-25T02:51:24+00:00"
}
Code: Select all
{
"playerFromId": 0,
"playerToId": 253,
"message": "\/lagstats",
"packetType": "MsgMessage",
"timestamp": "2020-04-25T02:51:26+00:00"
}
Github: https://github.com/allejo/rrlog
Downloads: https://github.com/allejo/rrlog/releases