FIT3094 : AI for Gaming

Lecturers:

Dr. Alan Dorin Rm. 135, Bldg. 63 (1st floor, South Wing), Clayton Campus

Lecture time & location:

Caulfield campus
Wednesdays, 10-12pm, room CA_H/HB39
Semester 1, 2013

Tutorial times:

Wednesdays, 1-3pm, room CA_T/T134 (from week 2) - Alan Dorin
OR
Wednesdays, 2-4pm, room CA_T/T131 (from week 2) - Zoe Bukovac

Consultation times: Wednesdays, 3-5pm, CA_H/Mama-Duke's cafe --- make appointments during the lecture, lab or by email

Assessment:

2hr examination 60%, assignment excercises 40%
A pass grade in each of the examination and assignment excercises is a hurdle requirement for successful completion of this unit.

Assignment Due Dates:
6pm, Friday, 26 April 2013 - Assignment part 1 code submission (compulsory demo occurs in the lab session immediately before the deadline)
6pm, Friday, 31 May 2013 - Assignment part 2 code submission (compulsory demo occurs in the lab session immediately before the deadline)


Course Co/Pre-requisite knowledge:

Course materials:

URL: http://www.csse.monash.edu.au/~cema/courses/FIT3094/index.html

Course overview:

This unit will introduce Artificial Intelligence (AI) and Artificial Life (AL) techniques that can be used in games development. General capabilities of AI and AL technology, behaviours/circumstances that need to be simulated/learned/reproduced by the smart non-player characters/environments in smart games, AI and AL techniques (such as evolutionary and neural computations) used in the development of smart games will be discussed at length. This unit will build upon previous programming skills, and provide a strong grounding for further study in this area, especially related to games engine development. The unit will examine intelligent game creation using C++.

Practical assignments and excercises provide ample scope for creative expression and utilization of the theory presented in lectures. Students will be assessed on their ability to think and design innovatively, as well as on their understanding of the theoretical issues presented in lectures.

Course topics include:

Algorithms and Theory

Practice

  • History of Artificial Intelligence
  • History of Artificial Life
  • Finite state automata
  • Expert systems
  • Search algorithms
  • Vector arithmetic
  • Evolutionary Algorithms
  • Behaviour generation
  • Movement strategies
  • Intelligent environments
  • Virtual ecosystems
  • Neural networks
  • Coordinating group behaviour

A full lecture-by-lecture topic listing is available.

A note on texts:

Texts written about Computer Games and AI are in abundance. Some of them are dreadful, some are very good! A few of relevance are listed below although it is not necessary to buy any of these books to complete the course. Each lecture will have a short reading list associated with it. Where this reading is a required part of the course it will be stated so in the notes.

Reference manuals for C++ and OpenGL will be very useful for all students completing the course but they are not strictly required.

Possible reading....

Alex J. Champandard, AI Game Development: Synthetic Creatures with Learning and Reactive Behaviours, New Riders Publishing, 2004

OpenGL Architecture Review Board, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis, OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2.1 (6th Edition), Addison-Wesley, 2007

Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley (any recent edition)


* Students should consult University materials on cheating, in particular:

  1. Student Resource Guide at http://www.monash.edu.au/pubs/handbooks/srg/, particularly the section on cheating
  2. Statute 4.1 on Discipline at http://www.monash.edu.au/pubs/calendar/statutes/statutes04.html
It is the student's responsibility to make themselves familiar with the contents of these documents.



Courseware

© Copyright Alan Dorin 2013