Ai and game programming
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

AI and Game Programming PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

AI and Game Programming. CIS 487/587 Bruce R. Maxim UM-Dearborn. Selected AI Techniques. Deterministic algorithms Heuristic programming Patterns and scripts Finite state machines Production systems Genetic algorithms Neural networks. Deterministic Algorithms. Each clock tick

Download Presentation

AI and Game Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ai and game programming

AI and Game Programming

CIS 487/587

Bruce R. Maxim

UM-Dearborn


Selected ai techniques

Selected AI Techniques

  • Deterministic algorithms

  • Heuristic programming

  • Patterns and scripts

  • Finite state machines

  • Production systems

  • Genetic algorithms

  • Neural networks


Deterministic algorithms

Deterministic Algorithms

  • Each clock tick

    asteroid_x += asteroid_x_velocity

    asteroid_y += asteroid_y_velocity

  • Asteroids follow their course until

    • off screen

    • collision occurs

    • blown up


Random motion

Random Motion

fly_x = rand() % 80

fly_y= rand() % 80

while(~done())

{

fly_count = 0

fly_x_velocity = -8 + rand() % 16

fly_y_velocity = -8 + rand() % 16

while (++fly_count < 10)

{

fly_x += fly_x_velocity

fly_y += fly_y_velocity

}


Tracking and pursuit

Tracking and Pursuit

if (player_x > monster_x)

monster_x++

if (player_x < monster_x)

monster_x--

if (player_y > monster_y)

monster_y++

if (player_y < monster_y)

monster_y--


Tracking and evasion

Tracking and Evasion

if (player_x < monster_x)

monster_x++

if (player_x > monster_x)

monster_x--

if (player_y < monster_y)

monster_y++

if (player_y > monster_y)

monster_y--


Patterns and scripts

Patterns and Scripts

  • Get keys out of pocket

  • Put key in door

  • Open door

  • Get in car

  • Close door

  • Put key in ignition

  • Turn key to start car


Behavioral state systems

Behavioral State Systems

  • Finite state machines

    • give them enough states to be interesting (each represents different goals or motives)

    • lots of inputs (environment attributes and other object states)

  • Some states may need substates or multi-part actions (e.g. move toward opponent and attack 20% of the time)

  • Personality of characters and spheres of influence may also be factored in as probabilistic input values to state entry or transitions


Memory and learning

Memory and Learning

  • Memory is really just a decision to record a few details

    • record changes to frames

    • recording the last few moves

  • Learning is self-improvement

    • neural networks

    • genetic algorithms

    • numerical approaches (e.g. Samuels & checkers)

    • structural approaches


Deciding between ai techniques

Deciding Between AI Techniques

  • Use deterministic techniques for simple behavior (e.g. rocks or missiles)

  • Add randomness and patterns for smart elements (e.g. birds or spaceships)

  • Use finite state machines for important game characters

  • For computer controlled opponents use everything (including memory and learning)


  • Login