Good AI is necessary to create entities that give players a decent, but beatable challenge, and also to immerse them in our works.
However, one thing I’m interested in is the creation of more intelligent agents. By necessity these can’t be every enemy in a game - that’d be ridiculous. But, some could be.
An idea I recently had was a sort of ‘Genetic AI Script’, where intelligent entities start with a pseudo-script that tells them what things to do. Each enemy, however, applies some mutation to that list of actions. If an enemy succeeds in doing something (say, defeating a player character, or achieving a key objective), the mutation gets applied to the prototype level, such that other entities of that type use those tactics by default, thus leading to a learning opponent.
This has a problem, though - this presupposes that we want our enemies to win. We don’t, we want them to lose in a fun and challenging way.
What are some design considerations for growing a hypothetical system like this, such that it leads to procedurally setting up increasingly fun intelligent agents for our players to interact with?
Note: no code! I’m concerned more with the mathematical constraints that would need to be considered for such a system.