Re: The ultimate aiming algorithm ? -
15-01-2004
My bot enhancer aiming does not use feed back but the results in terms of accuracy are very good.
Although not always human like, some of it is. The bots will aim directly at bone coordinates, which is what skilled people tend to do. For example, when a human wants to aim at a players head, he aims directly at the head, he does not estimate where the head is as some aiming algos do. Also, the bots will use tactics that humans use and weapons knowledge, such as burst firing depending on distance from target and type of weapon. The bots will stop moving, and crouch (sometimes) when aiming (depends on target distance and weapon type), for sniping, the bots will use the scope much like a human would - rarely zooming 100%, and not zooming when at close range, waiting for target to stabailze before firing, etc.
The problem with all the methods I use, other than the bone coordinate aiming, is it has to be painstakingly programmed into the code, which requires a lot of knowledge of the dynamics of weapon firing, and a lot of trial and error testing. The results are very good, but the coding and testing is a huge effort, and not transferable to other games, and it can be broken if the game dynamics changes after a new release of the game.
If true feed back can be done, then I'd modify the aiming algo to introduce learning, so that the feed back would be used to adjust some of the firing parameters based on distance, weapon used, etc. Perhaps a simple nerual net would do the trick, or evolved parameters.
I do know that you could easily detect what part of a player was hit (in games like CS anyway) using a traceline, but that does not help for shots that completely miss. Also, the traceline method may indicate a perfect hit, but the random game dynamics may lead to a miss, meaning the traceline method won't always produce valid results. You could however, look to see if a players health dropped as a means to tell if the shot hit the target, but that would be very unreliable.
Perhaps you could look for messages that say where the impact sprites are to be displayed?
A good place to look is to see how those stats programs are able to tell how many shots hit a target, etc.
Maker of the (mEAn) Bot.Admin Manager
"In theory, there is no difference between theory and practice. But, in practice, there is." - Jan L.A. van de Snepscheut
|