CSIS 5895: Artificial Intelligence Methods for Game Design

Instructor:

Dr. John R. Sullins

Office hours:                

Monday 9:00 – 10:00, 4:00 – 5:00

Wednesday 9:00 – 10:00, 4:00 – 5:00

Friday 11:00 – 12:00

Or by appointment

Office: 333 Meshel Hall

Phone: (330) 941-1806

Email: john@cis.ysu.edu

Web site: http://cis.ysu.edu/~john/

   Check the web site regularly, as assignments and announcements will be posted here.

Description:

This course will cover artificial intelligence techniques for designing and programming intelligent non-player characters (NPCs) for a variety of different types of game genres, including finite and fuzzy state machines, terrain analysis and path planning, board games, language understanding, and learning.


Objectives:

     

Prerequisitses:

Etiher CSCI 6901, CSIS 3726, or CSIS 2617 and at least 3 s.h. of upper division CSIS courses. There will be some programming assignments in C++ or Java, and a substantial implementation project (in the language of your choice).

 

Textbook:

Artificial Intelligence for Games
Ian Millington, Morgan Kaufmann, ISBN 978-0-12-373661-3.


Programming Assignments:

There will be a few small programming assignments during the first half of the course covering topics such as finite and fuzzy state machines, intelligent movement, and terrain analysis. I tentatively plan to provide you with a partial game engine for those assignments (in both C++ and Java), and you will add the “intelligence” to the system.

As with any other programming course, Work on these assignments must be your own. See the policy sheet for more details.

 

Game Programming Project:

The latter portion of the course will involve applying one of the AI-based techniques covered in the course to a game of your own choosing (or design), possibly as part of a group. More details will be provided later.

 

 Grading:

Exam 1 (date TBA)

15%

Exam 2 (date TBA)

15%

Exam 3 (date TBA)

15%

Programming Assignments

30%

Final Project (due final week)

25%

      Last day to withdraw with a "W": Thursday, November 2.

The course grade will be based on the required material:

 

Tentative Course Outline:

WEEK

TOPICS

8/25

Introduction to AI and gaming: problems and basic approaches

9/1

Representing simple NPCs as finite state machines and decision trees
(no class Monday)

9/8

Temporal, hierarchical and probabilistic finite state machines

9/15

Fuzzy logic and fuzzy state machines for realistic character states

9/22

Robotics-based approaches to character movement

9/29

Complex character movement; Coordinating multiple NPCs

10/6

Path planning, waypoint creation, and the A* algorithm

10/13

Influence maps, Terrain/battlefield analysis, “Smart” terrain

10/20

Implementing NPC goals and planning using search

10/27

Board games and the MinMax algorithm

11/3

Simple learning and iterative approaches for predicting player actions

11/10

Keyword analysis and simple grammars for NPC/player interaction

11/17

Game design for specific genres

11/24

Practical issues: Messaging, execution and sense management (no class Friday)

12/1

Project beta tests; Advanced topics (time permitting)

12/8

Project presentations