Course Title: Games and Artificial Intelligence Techniques

Part A: Course Overview

Course Title: Games and Artificial Intelligence Techniques

Credit Points: 12.00


Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2527

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2011,
Sem 2 2012,
Sem 1 2013,
Sem 2 2014,
Sem 2 2015

COSC2528

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2011,
Sem 1 2013,
Sem 2 2014,
Sem 2 2015

Course Coordinator: Dr. John Thangarajah

Course Coordinator Phone: +61 3 9925 9535

Course Coordinator Email: john.thangarajah@rmit.edu.au

Course Coordinator Location: 14.8.10


Pre-requisite Courses and Assumed Knowledge and Capabilities

COSC1076 Advanced Programming Techniques
OR
COSC1295 Advanced Programming
OR
COSC2391/2401 Software Architecture: Design and Implementation


Course Description

This course is an advanced seminar-style course involving a substantial practical component, developing a Computer Game incorporating Artificial Intelligence Techniques. Students will be guided through readings and subject content each week by the course leader(s). Topics include both theoretical topics in selected artificial intelligence techniques pertinent to game implementation, as well as practical tools implementing those techniques. Students will use such tools and techniques to build a specified interactive game over the course of the semester, incorporating intelligent behaviours into the game. This course involves a lot of self-learning and hence it suited to more advanced students.


Objectives/Learning Outcomes/Capability Development

1. Apply various AI techniques and tools in the context of games programming;
2. Design and develop a gaming application, based on existing games engines or platforms;
3. Contribute effectively in a team environment to develop a complex software system.


On successful completion of this course, you should be able to:

  • Demonstrate an understanding of various AI techniques and tools and how they are applied in the context of games programming;
  • Design and develop a gaming application, based on existing games engines or platforms;
  • Work effectively in a team environment to develop a complex software system.


Overview of Learning Activities

The learning activities included in this course are:

  • classes run by academic staff, to introduce you to the key concepts and tools required for successful completion of the programming project;
  • tutorials and/or labs and/or group discussions (including face-to-face and online forums) focussed on projects and problem solving, providing feedback on progress and understanding, and used to discuss technical issues;
  • regular consultation with an assigned project supervisor (i.e. a staff member), providing guidance with learning activities, feedback on progress, and help with resolving any issues;
  • assignment deliverables, as described in Overview of Assessment and Assessment Tasks, designed to develop and demonstrate the practical aspects of the learning outcomes;
  • private and group study, for working through readings and gaining practice at solving conceptual and technical problems.

Total study hours

Teacher Guided Hours: 48 per semester

There will be a 2 hour lecture and 2 hour practical component each week.

This course is run as a seminar course. Students will be provided with a list of topics and associated readings each week; they will be expected to read and analyse these readings before class each week’s class. Topics will include both theory and pointers to practical implementations of the theoretical concepts, which then be deployed inside game implementations.

Learner Directed Hours: 108 per semester

Outside of class time, students will work on a major games programming project in teams, using a powerful games platform introduced in class. Students will program behaviours of characters in the game, including programming artificial intelligent behaviours using techniques introduced in class.

 This course requires significant independent work: while the course leaders will provide descriptions of techniques and pointers to implementations, the students are expected to learn the details of the tools and how to use and integrate them in a games application


Overview of Learning Resources

The course is supported by the Blackboard learning management system which provides specific learning resources.

Prescribed Texts
Artificial Intelligence for Games - 2nd edition, Ian Millington & John
Funge, Morgan-Kauffman (2009)
978-012374731

References
AI Game Programming Wisdom 1-2-3-4, Steve Rabin ed., Charles River
Media (2002-2003-2006-2008)
AI Game Engine Programming, Brian Schwab, Charles River Media (2008)
Programming Game AI by Example, Mat Buckland, Charles River Media
(2008)
Artificial Intelligence: A Modern Approach - 2nd or 3rd edition, Stuart Russell and Peter Norvig, Prentice Hall (2002 or 2009)


Overview of Assessment

Assessment tasks

The course involves a substantial practical programming assignment, involving game-programming platforms and integration of tools implementing artificial intelligence techniques. The programming assignment will be performed in teams; students will be required to submit a breakdown of work tasks carried out by each team member for all assignment work.

Assignment 1: Programming assignment. This includes a presentation that will be done in class and contributes towards a significant portion of the mark.
Weighting : 35%
This assessment task supports CLOs : 1-3

Assignment 2: Programming assignment. This includes a presentation that will be done in class and contributes towards a significant portion of the mark.
Weighting : 25%
This assessment task supports CLOs : 1-3

Final Exam : There will be a final 1.5-hour test.
Weighting : 30%
This assessment task supports CLOs : 1

Class discussion contribution : There will be 4-5 research papers that will be discussed in class. Students will be assessed on the contribution to discussion.
Weighting - 10%
This assessment task supports CLOs : 1 and 3