Re: AI
- Posted by Hawke <mdeland at NWINFO.NET> Oct 07, 1998
- 501 views
Noah Smith wrote: >and I've got my concept, my interface, game-play and so on. >What I don't have is a clue about AI. >How do I get the little bugger to fight back? (snip) well, to develop an AI, or to help develop it, I would need to know the rules of the game, and how to play it. (and yes, those 2 _can_ actually be different things, rules vs how2play that is :) however, we can also talk in generalities about AI, if you like. things I look for when I'm looking at computer AI: is it adaptive, responsive, natural and adjustable? adaptive: can it change it's attack and defense based upon the patterns portrayed by it's foe? (can be real tough to implement, but very valuable in AI) responsive: can it sense the level of experience of it's foe? (this actually should go before the adaptive question, as this is the trigger for adaptiveness to begin, and it's not the same as 'adjustable'...) natural: does it play with cold calculating logic? (which can be beaten way too easily, usually) or does it seem to have a 'warmth' associated with it's decisions? (warmth, here, does not mean simply tagging a random number when faced with a set of choices (strengths)... there's more to it... when 2 humans play, there are certain cues each give out, like a poker face not being held fast, that reveal tidbits about the overall strategy and even the next move that the foe is using and considering... those tiny cues make up 'warmth' and the reading of those cues helps determine 'responsiveness' and 'adaptiveness') adjustable: does it have a directly settable level of difficulty(LOD) that actually behaves as if it *was* that level? (too often, simply setting the LOD means you're simply setting the depth of lookahead, and that is _not_ a true imitation of the behavior of a player for a particular LOD. amateurs often lookahead nearly as far as experts, but that doesn't define you as either one. experts generally have other qualities about their reactions/playing that make them win:sneakiness and cunning 4ex... neither are defined by lookahead) so with these qualities (at the least), you can begin to flowchart your AI responses. there are at least 2 schools of AI code, that are often implemented together. the first is "have a reaction for every action" or the classic "textbook responses" type of coding. the other involves making the machine "think" as you would about a problem. one way to do this is by creating a set of 'strengths' for each valid move you are facing on each turn. this is a very popular method as well, often used after examining your valid moves against 'textbook masters moves'. the combination of holding a set number of 'masters moves' to try/apply first, and falling back on 'thinking' usually provides AI that fits the above 4 definitions well. we'll stop here for now, letting you reply, and perhaps in that reply you may wanna include the way the game is played so that discussion of AI techniques for that particular game can become specific... :) --Hawke'