Syllabus Fall 2019/2020
GMAP 368: Artificial Intelligence in Gaming
Fall Term 2019-2020
Meeting Time: Wednesdays 12:00 – 14:50, URBN Center 252
Instructor: Prof. Stefan Rank [stefan.rank (AT) drexel.edu]
Office Hours: by appointment
Course Description
This course covers common AI techniques used in different game genres and provides students an opportunity to gain experience by investigating and prodding existing tools and games. Apart from covering common control methods for Non Player Characters (NPCs), the course will help you to understand the potential and the limitations of different AI methods, giving you the means to decide when to use simpler methods and when to go deeper into traditional or recent AI techniques, based on the design goals of a particular game.
The main purpose of this course is to prepare students with the knowledge to assess the usefulness of different AI methods, and to provide opportunities for gaining practical experience with a selection of AI tools and methods. The choice of skill specialization, or research in the case of graduate students, is up to you.
Learning Objectives
Understand AI methods commonly used in Gaming
Understand Artificial Intelligence as a scientific discipline vs. AI in gaming
Enable the assessment of AI methods based on design goals of a game
Develop skills in or in-depth knowledge about a chosen field of AI
Format
Classes will be a combination of presentations, class discussions, individual and group assignments, and lab. Class participation is an important part of your evaluation and grade. In addition, students will be required to work outside of class, doing research online and in books and journals, and hands-on exposure to various tools.
Over the whole course, you will contribute in the following ways (see also the schedule):
Two Topic Presentations (length TBD, about 15 minutes):
Present and demonstrate your chosen tool, technique or research topic to the other students.
In a first presentation, you will teach your colleagues the basics of the topic that they need to understand how it works.
In a second presentation, you will present a practical example that you put together to help others understand it. The instructor must approve your choice of topic beforehand.
For undergraduates, this presentation needs to be accompanied with a practical software demonstration that you have programmed, adapted, or put together yourself.
Graduate students can choose to focus on a more research-oriented approach and provide a package of information resources instead of a practical demonstrator.
One Topic Summary:
A report about your chosen tool, technique, or research topic.
Topic discussions and presentation feedback during class. Students enrolled in the class will comment on and offer feedback regarding peer presentations and assigned readings (see below).
Submission and Formatting
Submission of slides and related material will all be handled via email.
Unless otherwise noted, submissions of draft slides and demonstration code are due four days before class at 11:59 (noon) and the submission of the final version is due on the day before class at 23:59 (midnight).
Any submission must have your name, a date, a title, and the name and number of the course on the first page/slide.
Group Assignment
Group A:
Tejas S. (Group AI)
Daniel C. (Survival-Horror AI)
Jackson R. & Devin D. & Greg L. (Procedural terrains/levels)
Robert J. (Procedural characters)
Group B:
Nazifa N. (Chatbot AI towards VUIs)
Li G. & Gregory J. (Programming with behavior trees)
Rowan B. & Ryan K. (Behavior trees in games, history)
Ambrose K. & Saiabhinay Y. (Speech and language interaction)
Group C:
Cyrus M. (Difficulty Scaling)
Zhichun Y. (Board Game AI Algorithms)
Alexander B. (Smart Environments, Generated?)
Dimitri C. & Wen Han W. & Lisa M. (Procedural Animation)
Nasir S. (Computer Vision with OpenCV)
Texts:
Suggested reading:
[Russell Norvig 2009] Stuart Russell, Peter Norvig (2009): Artificial Intelligence - A Modern Approach. 3rd Edition, Pearson.
[Buckland 2005] Mat Buckland (2005): Programming Game AI by Example. Wordware Publishing Inc.
http://www.amazon.com/Programming-Example-Wordware-Developers-Library/dp/1556220782
[Mark 2009] Dave Mark (2009): Behavioral Mathematics for Game AI. Charles River Media.
http://www.amazon.com/Behavioral-Mathematics-Game-AI-Applied/dp/1584506849
[Millington Funge 2009] Ian Millington, John Funge (2009): Artificial Intelligence for Games. 2nd Edition, Morgan Kaufmann Publishers.
[Rabin 2002-2008] Steve Rabin (Editor) (2002-2008): AI Game Programming Wisdom 1-4. Charles River Media.
[Rabin 2013-2015] Steve Rabin (Editor) (2015): Game AI Pro(2) - Collected Wisdom of Game AI Professionals. CRC Press.
Suggested media: (non-scientific but very useful)
AI and Games channel on youtube
Crashcourse AI (though it is really mostly machine learning) on youtube
Other suggested reading material may be provided by the instructor on a weekly basis.
Suggested Topics:
Topic suggestions will be adapted after the initial course units.
Procedural content generation, behavior trees, speech interfaces, chatbots, natural language processing, emotion modeling, agent control architectures, embodied conversational agents, personality modeling, user modeling, finite state machines, path finding, search algorithms, intelligent sensing interfaces, experience management, procedural animation, reasoning, history of enemy AI in games, ...
Requirements and Grading Policy
Class Participation: Active and informed class participation is expected and mandatory. This includes participation in discussions and providing feedback to classmates.
Late Policy: All work must be submitted on time. Any work 1 day late will be penalized 15% and 2 days late will be penalized 30%. No work will be accepted beyond 2 days.
Plagiarism and Academic Integrity: For the benefit of those who may not have been told before, cheating or plagiarism are violations of both personal and academic integrity. Such violations are punishable with a failing grade on the work and may also result in a failing grade for the course and disciplinary actions on the part of the University. In this course in particular, plagiarism, including cutting and pasting from the internet without proper citation, will result in an F grade for the class
Students are responsible for checking their **Drexel email account** daily for course announcements. If you have any question about an assignment, please email the instructor at least **24 hours** before the deadline.
Two unexcused absences will constitute a loss of 20% of the final grade. 3 absences, without a valid excuse will result in an F grade.
Students receiving an “A” grade will be active and constructive participants in class discussions, deliver high-quality class presentations, and an instructive summary paper.
Grading System
20 points - Class participation, active and informed, constructive criticism of peers (10 + 10, per half-term)
50 points - Class Presentations including demonstration material/code, informed and informative, responsive to feedback (25 + 25)
10 points - Mid-term Test
20 points - Summary Paper
A+: 100-97, A: 94-96, A-: 90-93, B+: 87-89, B: 84-86, B-: 80-83,
C+: 77-79, C: 74-76, C-: 70-73, D+: 67-69, D: 60-66, F: 0-59
Schedule (may be updated during the term)
Drexel University Code of Conduct
Academic Integrity, Plagiarism, and Cheating Policy
http://drexel.edu/provost/policies/academic_dishonesty.asp
Drexel University Student Handbook
http://drexel.edu/studentaffairs/community_standards/studentHandbook/
Students with Disability Statement
http://drexel.edu/ods/student_reg.html
Course Drop Policy
http://drexel.edu/provost/policies/course_drop.asp
Course Change Policy
The instructor reserves the right to change the course during the term at his or her discretion. These changes will be communicated to students via the syllabus, website announcement, or email.