Forum: PogamutUT2004

Set Accuracy

I may be imagining this, but I seem to recall in a previous version of Pogamut/Gamebots there was an easy way to set the general accuracy of a bot. As it is, if you tell the bot to shoot an opponent, it is always perfect. You can tell the bot to shoot some location near the opponent if you want it to miss, but figuring this out is a bit annoying (though I've done that before too). I'm just wondering if there is an easy to set accuracy parameter that if set low, will make the bot miss sometimes using the default shoot commands.
In method getInitializeCommand, modify the Initialize command - set attribute setDesiredSkill somehere below 3 (it can range from 1 to 7, 7 is the best accuracy). This sets unreal internal accuracy system to be more or less precise.

However there is a small caveat in this - I was speaking with Daniele Lociano on this topic and he told me, they were doing evaluation of how human like the native unreal bots miss when the standart UT mechanism is used. They've found out, that it is not very human like - the bots don't take into account theirs + shoot target velocity (if the bots are standing still they will keep missing the target the same as they are moving). Only thing that seemed to matter was jumping. So just that you know. You can set gamebots server in GAmeBots2004.ini file for bPerfectLocation aim to be true (bot will shoot precisely on the location provied - only location not player targets). This way you can implement your own "missing" mechanism.

best,
michal
Good to know. Thanks for the response.

I assume that bPerfectLocation overrides any skill level setting ... does this setting apply only to bots from GameBots, or to the native bots as well? Also, I assume that bPerfectLocation can also be set in the server launch string, and not just in the INI file. Is this correct?
It does override skill level setting only for Pogamut bots and only if you are shooting a location. If you are shooting a player set by setTarget, then the UT aiming correction will be used nevertheless.
No, bPerfectLocation aim can be set only in GameBots2004.ini in:

[GameBots2004.RemoteBot]
;How far the bot see Items, Projectiles and NavPoints in ut units (1 unit is approx. 1 cm) - does not affect Players, Flags, Bombs, DomPoints and Movers export distances (those are exported when they are visible)!
visionRadius=5000
;wheter the rays visualizing automatic ray tracing should be spawned, has issues
bDrawTraceLines=False 
;if true visible actor will be spawned at the point the bot is looking at
bShowFocalPoint=False 
;if automatic ray tracing - ATR messages - is enabled
bAutoTrace=False
;if the bot is respawned automatically or manually
bAutoSpawn=True
;1.0 is the default speed, 2.0 is two times faster, etc.
MaxSpeed=2.000000 
;Default rotation speed for the bot (pitch - up/down, yaw - left/right, roll - cartwheel)
DefaultRotationRate=(Pitch=3072,Yaw=60000,Roll=2048)
;If the bot should have perfect aim also for location targets and stationary targets. If set to true bot accuracy setting will be used just when aiming to another bot or pawn (by target variable).
bPerfectLocationAim=false