I search for solutions in this order: Past Code, Unreal Source, Wiki, BUF, groups.yahoo, google, screaming at monitor. – RegularX

Legacy:Mod Ideas/BotReport

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

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. ;)