Artificial Intelligence The Plan Goals of artificial intelligence
- Slides: 10
Artificial Intelligence
The Plan ● Goals of artificial intelligence in gaming ● Tools of AI for gaming ● Case Studies ● Sample Source Code
Goals of AI in Gaming ● Add complexity ● Add challenge ● Add realistic behavior ● Reduce monotony
Tools of AI for Gaming ● Probability ● Statistics ● Searching ● Heuristics ● Optimization
Case Studies ● ● ● Catching falling objects – Where do you drop the next object? – How frequently/quickly do the objects drop? Enemy shooting – At what angle does the enemy shoot? – When does the enemy shoot? Game levels – When should the game get harder? – Should the game get easier? How?
Source Code In Beat The Bugs!, enemies shoot randomly: public void set. Auto. Fire(boolean auto) { if(auto && ship. Sprite. is. Enabled()) { double delay=random. next. Gaussian()*fire. Interval; delay=Math. max(delay, 0. 001); Game. Loop. schedule. Relative(this, delay); } else fire. Interval=-1; }
Possible Enhancements to Beat The Bugs! Mixture of random and perfect strategy make for good game AI. Possible ways Beat The Bugs! could be extended include: ● Shoot in the general direction of the hero ● Shoot more often when close to the hero ● Avoid hero bullets
Attractor. Tracker Perfect Tracking toward a Sprite public void advance. Time(double time) { Point 2 D. Double from=moving. get. Location(); Point 2 D. Double to=toward. get. Location(); next. Location. x=to. x-from. x; next. Location. y=to. y-from. y; double factor=speed*time/from. distance(to); next. Location. x*=factor; next. Location. y*=factor; next. Location. x+=from. x; next. Location. y+=from. y; }
Attractor. Tracker How could you partially cripple exact tracking? public void advance. Time(double time) { Point 2 D. Double from=moving. get. Location(); Point 2 D. Double to=toward. get. Location(); next. Location. x=to. x-from. x; next. Location. y=to. y-from. y; double factor=speed*time/from. distance(to); next. Location. x*=factor; next. Location. y*=factor; next. Location. x+=from. x; next. Location. y+=from. y; }
Your Game ● ● Think about what behaviors your game should exhibit. How could you combine random and determined strategy to make a more interesting strategy? ● What would be the parameters to the strategies? ● How can you set and change the parameters?
- Strategic goals tactical goals operational goals
- Strategic goals tactical goals operational goals
- Coordinated plan on artificial intelligence
- General goals and specific goals
- Examples of generic goals and product-specific goals
- Expert system
- Prolog iterative deepening search
- Searching for solutions in artificial intelligence
- 15-780 graduate artificial intelligence
- Knowledge manipulation in ai
- What is declarative knowledge in ai