(View gifs here if any of the embeds aren't working)
Currently working on an all-encompassing AI system which allows bots to perform tasks in different gametypes. Lots of work to be done still.
The AI is currently programmed to seek out targets such as rings and enemies. Basic tracking behaviors and action inputs have already been coded, although the majority of character specific abilities have not been started yet.
Support for MapPaths is already implemented, allowing bots to use waypoints to figure out how to reach certain points of interests on the map. This image demonstrates 30 AI trekking through CEZ2, using a rudimentary start-to-finish path constructed for testing purposes.
One of the more challenging aspects of orienting an AI to its terrain and surroundings is ensuring that the game doesn't run slowly on large maps or when multiple AI are running simultaneously. Fortunately, the current implementation for this AI is highly efficient. Since MapPaths does a lot of the work in telling which waypoints are connected and how, a single search and pathbuild is usually all the AI needs in order to get the job done.
For all other objects, the AI uses a series of blockmap searches within its "line of sight" to quickly seek out a nearby object of interest.
The image is a little outdated, because I have since coded player tracking, although the method is still a work in progress.
The finished AI will have certain elements of polish, such as aim smoothing to reduce jitter and make ringslinger bots less "perfect" with their aim.
A long term goal of this project is to offer a way to interface with other addons. Other characters and game modes will often require unique instructions for their AI, but it is difficult to combine their scripts without one AI overriding the other. I will probably post ideas later on how to counteract this. Later on, I may also post some previous prototypes I had experimented with before starting on this specific project. For now I'll open the floor for discussion.
Currently working on an all-encompassing AI system which allows bots to perform tasks in different gametypes. Lots of work to be done still.
The AI is currently programmed to seek out targets such as rings and enemies. Basic tracking behaviors and action inputs have already been coded, although the majority of character specific abilities have not been started yet.
Support for MapPaths is already implemented, allowing bots to use waypoints to figure out how to reach certain points of interests on the map. This image demonstrates 30 AI trekking through CEZ2, using a rudimentary start-to-finish path constructed for testing purposes.
One of the more challenging aspects of orienting an AI to its terrain and surroundings is ensuring that the game doesn't run slowly on large maps or when multiple AI are running simultaneously. Fortunately, the current implementation for this AI is highly efficient. Since MapPaths does a lot of the work in telling which waypoints are connected and how, a single search and pathbuild is usually all the AI needs in order to get the job done.
For all other objects, the AI uses a series of blockmap searches within its "line of sight" to quickly seek out a nearby object of interest.
The image is a little outdated, because I have since coded player tracking, although the method is still a work in progress.
The finished AI will have certain elements of polish, such as aim smoothing to reduce jitter and make ringslinger bots less "perfect" with their aim.
A long term goal of this project is to offer a way to interface with other addons. Other characters and game modes will often require unique instructions for their AI, but it is difficult to combine their scripts without one AI overriding the other. I will probably post ideas later on how to counteract this. Later on, I may also post some previous prototypes I had experimented with before starting on this specific project. For now I'll open the floor for discussion.