Creating "AI/bots" for games comes in three parts/flavors/divisions:
First, and the most critical to most games, is basic behavioral AI. This includes things like pathfinding, locating targets, attacking, and otherwise making an entity in the game interact with the environment in the game.
Second, you've got the more abstract parts, the "high-level decisionmaking". This is the AI's strategies and tactics, such as communicating with other AI, coordinating with squad members to circle an enemy, deciding when to change weapons or throw a grenade or pull back to reload, etc. In most cases, developers put in many crude heuristics here either because they don't have time to think of anything better, or for performance reasons. This will look like "if known nearby enemies > 2 and ammo < 20%, find safe point to fall back, reload". The developer thought up this quick rule of thumb and told the AI to do this, without having to code the AI with the intelligence and information the developer used when making up this rule of thumb.
Third, bot creation (for the usual "hacker" version/meaning of the term, as in e.g. bots used by AFK players to farm) is significantly different than making an "official" AI as a developer or writing a replacement AI using available scripting in some games. For most games, bots will involve various hack techniques for retrieving information about the game world (occasionall literally involving visual pattern recognition, which is a whole other ball of yarn (and separate type of "AI") you don't want to mess with just yet). Bots will also usually involve indirect control of the game character by using some third-party program to "send" keys to the game using OS functionality. This is probably not what you're interested in, and you'd need to learn at least some basics of the first two to be able to achieve anything here.
One thing that was rather popular a while ago is to just dive into a game like Robocode[1] and work up your way until you can code one robot that will on its own beat various competition-grade robots without user input to adjust for the opponent's strategies.
Building off of your #3) An example for this would be the botting programs made for Runescape. Developers wrote an application that would sit on top of the game client and then use reflection in Java to see what's happening in the game: Various objects being created that are now on screen, the players direction, the map grid, etc.
The developers of this botting program would then expose their own API and scripting language that would allow other developers to interact with the game through their program. The could then write scripts such as: Go to this location via map coordinates, pick up some object, solve a puzzle, fight some boss, eat when below a certain health, etc.
Note: I used to run a VPS company that would specifically cater to those that were botting in Runescape; this allowed them to run their bots 24/7 without using their own hardware.
Right. I wrote one of the earlier RuneScape 2 bots around 8 years ago (example script https://clbin.com/71NIX).
It's worth noting that these were very easy identifiable as bots by behavior. Making AI for a game (that actually seems human and is fun to interact with, past just target selection and pathfinding) is another (much more difficult) set of problems entirely.
Comments
Creating "AI/bots" for games comes in three parts/flavors/divisions:
First, and the most critical to most games, is basic behavioral AI. This includes things like pathfinding, locating targets, attacking, and otherwise making an entity in the game interact with the environment in the game.
Second, you've got the more abstract parts, the "high-level decisionmaking". This is the AI's strategies and tactics, such as communicating with other AI, coordinating with squad members to circle an enemy, deciding when to change weapons or throw a grenade or pull back to reload, etc. In most cases, developers put in many crude heuristics here either because they don't have time to think of anything better, or for performance reasons. This will look like "if known nearby enemies > 2 and ammo < 20%, find safe point to fall back, reload". The developer thought up this quick rule of thumb and told the AI to do this, without having to code the AI with the intelligence and information the developer used when making up this rule of thumb.
Third, bot creation (for the usual "hacker" version/meaning of the term, as in e.g. bots used by AFK players to farm) is significantly different than making an "official" AI as a developer or writing a replacement AI using available scripting in some games. For most games, bots will involve various hack techniques for retrieving information about the game world (occasionall literally involving visual pattern recognition, which is a whole other ball of yarn (and separate type of "AI") you don't want to mess with just yet). Bots will also usually involve indirect control of the game character by using some third-party program to "send" keys to the game using OS functionality. This is probably not what you're interested in, and you'd need to learn at least some basics of the first two to be able to achieve anything here.
One thing that was rather popular a while ago is to just dive into a game like Robocode[1] and work up your way until you can code one robot that will on its own beat various competition-grade robots without user input to adjust for the opponent's strategies.
[1]http://robocode.sourceforge.net/
Building off of your #3) An example for this would be the botting programs made for Runescape. Developers wrote an application that would sit on top of the game client and then use reflection in Java to see what's happening in the game: Various objects being created that are now on screen, the players direction, the map grid, etc.
The developers of this botting program would then expose their own API and scripting language that would allow other developers to interact with the game through their program. The could then write scripts such as: Go to this location via map coordinates, pick up some object, solve a puzzle, fight some boss, eat when below a certain health, etc.
Note: I used to run a VPS company that would specifically cater to those that were botting in Runescape; this allowed them to run their bots 24/7 without using their own hardware.
Right. I wrote one of the earlier RuneScape 2 bots around 8 years ago (example script https://clbin.com/71NIX).
It's worth noting that these were very easy identifiable as bots by behavior. Making AI for a game (that actually seems human and is fun to interact with, past just target selection and pathfinding) is another (much more difficult) set of problems entirely.
Holey shit it's Regex :). Old ARGA dev here :).