CISC 489 - Artificial Intelligence in Games - Fall
2018
M/W/F 2:30 pm-3:20 pm, 209 Smith Hall
Instructor: Daniel Chester |
TA: Debarati Roy Chowdhury |
Office: 101G Smith Hall |
Office: 203 Smith Hall |
Hours: Tu/F 3:30 pm-4:30 pm and by appt. |
Hours: Mondays 10:00 AM to noon |
Phone: 831-1955 |
Phone: none |
Email: User: chester Domain: udel.edu |
Email: User: droyc Domain: udel.edu |
Textbook
Programming Game AI by Example, by Mat Buckland, Wordware Publishing,
2005.
Note: This book can be downloaded for free from several places on the Internet,
such as
At beginnersheap; click on submit button near bottom
IT ebooks
While the software associated with this textbook was originally written in C++,
we will use a version that is written in Java. The code can be downloaded from
sallyx
In the chapters section, download "All chapters". You will need NetBeans to run
this code. It can be downloaded for free from netbeans.org. The original C++ code is available, but you need an old version of Visual Studio to make it work.
Course Description
Artificial Intelligence is becoming an increasingly important part of
computer and video games. The techniques that are often used in games
for movement, pathfinding, decision making, tactics and strategy, and
learning will be examined and implemented in several turn-based and real-time
games.
Topics (tentative, not necessarily in the order to be covered)
-
Intrduction
-
Chapter 1: A Math and Physics Primer
-
Chapter 2: State-Driven Agent Design
-
Chapter 3: Autonomously Moving Game Agents
-
Chapter 4: Sport Simulation--Simple Soccer
-
Chapter 5: The Secret Life of Graphs
-
Chapter 6: To Script or not to Script
-
Chapter 7: Raven
-
Chapter 8: Practical Path Finding
-
Chapter 9: Goal-Driven Agent Behavior
-
Chapter 10: Fuzzy Logic
Grading
-
homework assignments (mostly implementing, testing, reporting results) 48%
-
midterm (Friday, October 12) 24%
-
final exam (Monday, December 10, 1:00 pm, 209 SMI) 24%
plus four percent for doing the online course evaluation
http://www.udel.edu/course-evals/
at the end of the semester.
The numerical scores will be combined, not the letter grades.
Since the assignments and exams are not standardized, your
course grade will depend not only on the weighted score you
receive, but also on how your score compares with the score
distribution for the whole class.
Policies
-
All assignments are due by midnight ending the due date. Combine all
files, if more than one, into one tar file or one zip file and email it to the TA.
-
Homework will be accepted at the following class period after the due
date, but the score will be reduced by 10 percent of the maximum possible
score. The homework will not be accepted more than one week after the
due date except in extreme and verifiable circumstances.
-
All work on assignments must be your own. Do not collaborate
with other students or copy their work. Do not copy from a book or other
source unless I say otherwise. You may consult with each other about conceptual problems, but
see the TA or me for help with details or debugging.
If you get text or code from any source, including webpages on the Internet,
books or other students, and present it as if it were your own, that is
plagiarism. If the TA or I discover that you have plagiarized, I
am obligated to report the incident to University authorities above the
CIS Department. You must acknowledge and document such borrowings if
you do use them. If they significantly reduce the amount of work you
have to do for an assignment, you will lose points [this part of the
policy may change; I will tell you if it does]; the grade you get
is for your work, not somebody else's.
-
If you can't come to scheduled office hours, please send me email; I'll
be happy to schedule a meeting at some other mutually-agreed-upon time.
Assignments
assignment 1 Due September 17.
assignment 2 Due October 1.
assignment 3 Due October 8. Late homework
will not be accepted after 6:00 PM on October 10 so that I can get
my model solution to you before the midterm.
review 1
assignment 4 Due October 29.
assignment 5 Due November 5.
mab.zip java code: monkey gets the banana.
bt.zip simple behavior tree example.
btp.zip behavior tree example using parallel task.
assignment 6 Due November 26.
mabrules.txt rule set for monkey gets bananas problem
Mabps.java implementation of a simple rule based system
assignment 7 Due December 4.
review 2
Resources
roguebasin.roguelikedevelopment.org Roguelike games.
www.digital-eel.com/deep.htm Overview and links to dungeon crawl games.
Understanding Steering Behaviors
Lots of game programming stuff
Conga line bug Unintended emergent
formation behavior in first 5 minutes of this video.
A* search algorithm (Wikipedia)
A* Algorithm with Python-Pygame
A* in Python Try various distance measures
quick pathafinding in a Dungeon
Incredible power of Dijkstra Maps
anticipating wall-following pathfinder
December 7, 2018