I'm working on a mod project which calls for an AI controller that just makes the character move along a series of pathnodes and not to react to any other players in any way at all (i.e. not hear or see them or react to being shot by them).
Our plan is to extend the AIController or Controller class rather than the UTBot class, since we're under the impression that the UTBot class is mainly there to tell the bot to react to actions made by other players. We're thinking that we'll only need to use a few functions for the bot to work as we want it to...
One function to find the closest pathnode to the current pathnode that the bot is currently on. This will be our MoveTarget.
Once we've found the closest pathnode, we want the bot to start moving toward the MoveTarget. This requires a MoveToGoal function. Once it has reached the goal, we repeat the GetMoveTarget function in order to find the next pathnode.
Lather, rinse and repeat.
One issue with using only these two function is that the bots might be unable to avoid each other if one of them blocks the path to the target pathnode. During experiments using UTBot we found that the bots were very profficient in passing by one another in order to reach pathnodes. Will this behaviour be eliminated if we mutate the AIController or Controller instead of UTBot?
Purely from a theoretical standpoint, how does our plan sound? We're not experienced UnrealScript programmers so this might be a super obvious question to some of you, but we'd really appreciate some feedback on our way of thinking about our AI. If you have any suggestions on how to simplify or improve things, please share!
Thanks! (We'll probably make another thread on how to make the implementation of the bot efficient and super sweet, since we'll most likely run into some issues when it comes to the coding)
Our plan is to extend the AIController or Controller class rather than the UTBot class, since we're under the impression that the UTBot class is mainly there to tell the bot to react to actions made by other players. We're thinking that we'll only need to use a few functions for the bot to work as we want it to...
One function to find the closest pathnode to the current pathnode that the bot is currently on. This will be our MoveTarget.
Once we've found the closest pathnode, we want the bot to start moving toward the MoveTarget. This requires a MoveToGoal function. Once it has reached the goal, we repeat the GetMoveTarget function in order to find the next pathnode.
Lather, rinse and repeat.
One issue with using only these two function is that the bots might be unable to avoid each other if one of them blocks the path to the target pathnode. During experiments using UTBot we found that the bots were very profficient in passing by one another in order to reach pathnodes. Will this behaviour be eliminated if we mutate the AIController or Controller instead of UTBot?
Purely from a theoretical standpoint, how does our plan sound? We're not experienced UnrealScript programmers so this might be a super obvious question to some of you, but we'd really appreciate some feedback on our way of thinking about our AI. If you have any suggestions on how to simplify or improve things, please share!
Thanks! (We'll probably make another thread on how to make the implementation of the bot efficient and super sweet, since we'll most likely run into some issues when it comes to the coding)