Course Numbers: CS 4731 / LCC 4731 / CS 8803 GAI
Time & Location: Monday & Wednesday, 4:35-5:55pm /Klaus 2443
Instructor: Dr. Mark Riedl (email@example.com)
Office hours: Friday 4:30-6:00 (or by appointment), TSRB 234
TA: Hong Yu (firstname.lastname@example.org)
Office hours: Tuesday & Wednesday 2:00-3:00 (or by appointment), TSRB 235
The purpose of this course is for undergraduates in Computer Science and Computational Media to gain a breadth of understanding in the toolbox of AI approaches employed in digital games. This involves learning some basic topics covered in other AI courses, but with a focus on applied knowledge within the context of digital games.
Game AI is distinct from "academic AI" in that the end behavior is the target. Game AI programmers are less concerned with the underlying algorithms and more so with the end result. For example, if having an AI ‘cheat’ provides a more entertaining experience, than cheating will likely be a main component of the design. There are also characteristics of many games that focus Game AI on specific problems, like navigation through a virtual world, tactics, and believable behavior. Academic AI researchers are more concerned with rational behavior, knowledge representations, robust multi-agent communication, etc. However, there are overlaps between the two domains, where the desired behavior requires less cheating and more realistic decision-making. This course will survey topics related to this overlap, with a focus on applying what we review in depth through implementations in digital games
This course also observes the difference between AI as a technical challenge for opposing forces AI in games and the integration of AI as a key aesthetic component of the gaming experience. Lectures and projects will explores both of these views of Game AI.
This syllabus should be considered a living document subject to change throughout the course of the semester. There are multiple places in the class schedule to accommodate student interests in particular subjects.
Students are required to have solid programming skills. Experience with Java or the ability to pick it up as part of the course is required. Development using SVN or other version control methods is highly encouraged, but not required or supported by the class. Students are expected to pick up pre-existing code bases and develop their AI code within that code base as part of the class.
Millington’s Artificial Intelligence for Games and Buckland’s Programming Game AI by Example. Books have been ordered at campus Barnes & Nobles Bookstore.
The assignments will be weighted as follows: Assignment 1 (10%), Assignment 2 (20%), Assignment 3 (25%), Assignment 4 (35%). Class participation and good teamwork on team projects will account for 10% of your grade.
Projects are due at 11:55pm via T-Square on the Sunday of the week they are due. Late work will not be accepted under any circumstances.
At various points throughout the semester, competitions may be performed pitting assignment solutions against each other. Winning a competition will receive an extra 3 points to the final grade. Second place will receive an extra 2 point to the final grade. Third place will receive an extra 1 points to the final grade.
Experiment Participation for Extra Credit
Additionally, there may be opportunities to participate in experiments run by graduate students performing AI research. I will announce opportunities as I become aware of them. Meeting certain criteria as a participant can result in additional 1.5 extra points added to your final grade. This cannot be used more than twice, although you may participante in as many experiments as you wish.
See Experiment extra credit policy for more information.
We will use Piazza as our main method of electronic communications and announcements. All students should join the "CS 4731" course. Students will be responsible for any announcements made there. The use of the group is a resource for technical and design issues. For assignment submissions, we will use T-Square.
Regrade Request Policy
If you feel like the grade for a given project was not fair, please submit within 1 week via email of receipt of your grade a word document or PDF containing the following: (a) no more than 1 page of information, (b) a comparison between what you submitted and the grading criteria given for the assignment and the feedback given for your assignment, and (c) what you feel your grade SHOULD be given this comparison.
Please keep in mind that a requested regrade will prompt me to revisit your project in much greater detail. Your grade may change for the better or worse depending on what I see, but will be responsive to any reasonable and well-founded requests. Requests submitted a week after your grades have been returned to you will not be accepted.
Students are expected to follow the GT honor code as described here. Some points to keep in mind: Plagiarizing is defined by Webster’s as to steal and pass off (the ideas or words of another) as one's own: use (another's production) without crediting the source. If caught plagiarizing, you will be dealt with according to the GT Academic Honor Code (http://www.honor.gatech.edu/plugins/content/index.php?id=9). Submitting any unattributed work other than your own is a violation of the Academic Honor Code.
I encourage you to discuss the assignments, ask questions about how to program, etc. with the instructor, TA, and other students, especially on Piazza. But the code you submit must be your own. Unauthorized copying of anyone else's code is a violation of the Academic Honor Code. Unauthorized reuse of code from online is a violation of the Academic Honor Code. You’re taking this class to learn how to think about and create Game AI code on your own.
Learning about algorithms from text or online sources is permissible. Copying code verbatim from online or another student is not permissible.
I heavily encourage students to use assets that encourage fair use (e.g. Creative Commons licensed audio, textures, images, etc.) or to produce their own. Unattributed use of other instantial assets, such as graphics, text, or audio, or use of such assets without reappropriating them in a meaningful way to make a clear unique contribution on the student's part is a violation of the Honor Code. Reuse of outside instantial assets is permissible, in other words, but must be done in a manner that makes it clear that you have made a major and significant contribution to the project in question. Failure to do so will result in a failing grade.
Failure to cite your sources is an Honor Code violation. Unauthorized use of any previous semester course materials, such as tests, quizzes, homework, projects, and any other coursework, is prohibited in this course. Using these materials will be considered a direct violation of academic policy and will be dealt with according to the GT Academic Honor Code. For any questions involving these or any other Academic Honor Code issues, please consult me or visit http://www.honor.gatech.edu.