Cogito, ergo sum
Legacy:Mod Ideas/BotReport
Contents
Description
Bot Report is a mutator that runs a botmatch game for pathing and level balancing analysis. It's recommended that the user set a high capture limit so that all bots have ample time to "run the map". At the end of the session, bot reporting is saved to a date and timestamped text file.
Report Features
The report might be best saved as a CSV file for easier analysis. Although a selfreferencing html page might be better. There's a map report which displays map stats and a bot report which breaks down the bots.
Map Report
This shows how much something on the map was utilized.
PathNodeN - # times utilized, % of time utilized
JumpSpotN - # times utilized, % of time utilized, method of utilization (impactjump, transloc, jump, dbljump)
AssaultPathN - # times utilized, % of time utilized
InventorySpotN - # times pickedup, % of time utilized
PlayerStartN - # times someone spawned here, % of time utilized vs other playerstarts
Error Report
Bots that move between the same two nodes more than twice(?)
Bots that translocate more than n times from the same pathnode (ie, missing their target)
Bots that jump more than n times at the same pathnode (ie, they can't get up onto something)
Bot Report
For each bot in the match, a breakdown of how the bots did. Lifetimes will be useful in determining if there's too many or not enough weapons/ammo/health.
BotN - team #, # damage dealt, # damage rcvd, # nodes visited, shortest time alive, longest time alive, avg time alive
If (BR, CTF or DD) then do Team Averages
Map Data
A list of all the relevant properties for the map. Perhaps a config file could come with the mutator so people could edit a text file and pick and choose which properties they want. Nice to have but certainly not necessary.
PathNodeN - forced path 1-4, proscribed path 1-4, ..
JumpSpotN - forced path 1-4, proscribed path 1-4, transloc only, hammerjump, ..
AssaultPathN - forced path 1-4, proscribed path 1-4, return only, ..
Comments
Kerlin: I'm sure it's just me but I'd LOVE to see someone with the "skillz" make something like this happen. Sure, you still have to WATCH a botmatch to see if they round corners appropriately and so on, but this would remove some of the more mundane bot watching and give you a sort of "to do" list.
LedZep: It's a good idea man, might really help mappers out, I think there is already a mutator used for watching botmatches, i think it would be best to incorporate this idea into it. nice thoughts though ;)
Kerlin: Agreed. It's a shoe-in for Spectate Botmatch isn't it? After shipping, I wonder if Mychaeel is even interested in adding something like this. There's always that post-ship burnout. :)
Mychaeel: I could imagine those path node stats as floating beacons in the map above the (visible) path nodes themselves. Maybe even in a top-down generated map overview (DrawPortal on ScriptedTexture). Mmmh... :)
EntropicLqd: I'd not bother with the top down view. For maps with lots of Z it might turn into a nightmare trying to figure out which path is at what level. However, having the stats hovering above each pathnode would be very cool. Being able to "zoom" to nodes that have never been used (or are over used) would be a nice feature too.
Kerlin: You've taken a good idea and turned it into a really good idea. I was just looking for a quick & dirty solution though the elegance you describe has my mouth watering. It could still write a log file, though, right? I can only offer to place my undying gratitude in the readme of all of the marginal maps I will create. ;)