Skip to content

Instantly share code, notes, and snippets.

@jackpoz
Last active March 22, 2024 13:51
Show Gist options
  • Save jackpoz/7632461 to your computer and use it in GitHub Desktop.
Save jackpoz/7632461 to your computer and use it in GitHub Desktop.
WoW bot AI research
AI:
- genetic algorithm
- Microbial GA http://www.codeproject.com/Articles/16286/AI-Simple-Genetic-Algorithm-GA-to-solve-a-card-pro
- Immune A http://www.codeproject.com/Articles/27551/Artificial-Immune-Algorithm-in-C
- Roaches https://msdn.microsoft.com/en-us/magazine/mt632275?f=255&MSPPError=-2147217396
- neural network
- http://www.codeproject.com/Articles/16419/AI-Neural-Network-for-beginners-Part-1-of-3
- http://natureofcode.com/book/chapter-10-neural-networks/
- Markov decision process to change from 1 state to another (Q-learning/reinforcement learning). Neural Network could be just for the combat part.
- state machine (if/else)
- http://natureofcode.com/book/chapter-10-neural-networks/
- http://www.codeproject.com/Articles/28858/AI-Life
- http://www.codeproject.com/Articles/54575/An-Introduction-to-Encog-Neural-Networks-for-C best NN example
- https://github.com/encog/encog-dotnet-core allows to easily create neural network with training support
- http://www.amazon.com/dp/1584506849/?tag=stackoverfl08-20 Behavioral Mathematics for Game AI
- http://www.codeproject.com/Articles/477689/JavaScript-Machine-Learning-and-Neural-Networks-wi
- http://xyclade.github.io/MachineLearning/
Draft:
- learn what spells do, save it based on level, learn what creatures do, decide the strategy based on the 2
- layered AI, higher chooses what to do(Markov decision process), lower chooses how to do it.
- start with a finite state machine as fallback till all the data for a proper neural network has been retrieved
- code methods to basic tasks like walk, run, cast spells
- then code methods for medium tasks like loot, eat, drink, buy
- then code advanced tasks like quests, bosses, instances, full-player experience with bgs and professions
- support player interaction, like inviting bots to group
- instead of letting the whole AI choose the spell, it's easier to classify spells in categories like heal, damage, bind/stun to attack, bind/stun to evade
- the inputs of the Perceptron could be hp, enemies count, level gradient (something like a Danger factor).
- fuzzy logic for some parameters, like level gradient.
- % of actions (stun/heal/damage) and order of actions (stun, dmg, dmg, heal, stun, dmg, dmg, etc)
- time since last type of action can also be used as input
- they could learn by pvp! maybe with some players there too, 5v5 arena/battleground or even duel
@jackpoz
Copy link
Author

jackpoz commented Oct 27, 2016

@3588
Copy link

3588 commented Oct 8, 2019

Hey, do you have any updates on this topic? Thanks

@matheo151
Copy link

IMG_20210417_103311_775

@matheo151
Copy link

Hahahahaha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment