Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
CSE4AT3 Artificial Intelligence and Artificial Stupidity Major types of AI for games • • • • • • • State Machines and Fuzzy Logic Case Statements (Sadly are still in use) Random Decisions Neural Networks Genetic Algorithms Hybrids Artificial Life (similar to GAs) State Machines and the Fuzz hFSMs • Hierarchical Finite State Machines Or Fuzzy state machines Pseudo Random Number Generation • Typically in C++ the RNG is seeded with time, or some other flux value • Seeding with a Number will produce a repeatable sequence. – Given time is not in effect on the problem Emergent AI • Danger! • It can create very different and dynamic behaviours • It can also be really hard to keep under control • Some players may enjoy repeatable behaviour • Debugging Joy! Navigation • The A* Tree searching algorithm is fantastic – Not always the way a human would go, but that is mostly due to the implementation of the algorithm(s) – Reducing the load on the engine by vastly simplifying the view of the world. Neural Networks Genetic Algorithms Expert Systems • The Knowledge based approach – This can lead to wrong and hilarious assumptions – Bad inference • If all birds can fly and all birds are animals then all animals can fly. – Missing links • A red person is dangerous, so all red ppl are dangerous • This ignores the fact that a red Tank is also pretty bad The Application of AI • So now you know of many types of AI • Where do you use them? • Currently you use them not very creatively Typical Uses of AI • Unit AI / Squad AI • Pathing / Planning • Dynamic Difficulty Better uses of AI • • • • Player ability detection Better Dynamic Difficulty Assisting the Core Mechanics Improving the Players Experience – Flow – Rhythm – Difficulty – Interface – Hooks Error Correction / Detection • SPM Quality Management – Basically you can’t afford to have your AI running its own show – Getting good quality metrics requires good measures • Testing player health is not THE indicator of player ability Example Detecting A Player Is Lost Once you have a good metric (input values) • You need to have a good process to create your output Expected Output • Does your AI behave in the expected Manner? – Is this a good behaviour: – Input Attack : Output Retaliate NPC AI • Critical NPCs don’t die, they don’t take damage from the player, we are pretty much happy to accept that. – Players are happier if the NPC’s react to you, even if it isn’t by their head exploding Artificial Stupidity • It is incredibly easy to make an AI which can obliterate the player • Creating an AI system which balances the gameplay, whilst retaining the challenge is a far harder goal • Humans make dumb mistakes – But with a perfectly good reason Don’t be reliant on AI • Good AI working well can enhance your game • When someone makes your AI fail the gameplay should still be there That’s the end of this course!