Styles: single | academic

Back to home

 

Games Programming III TGP2281

Trimester 1, 2010/2011


Course Instructor(s)

Lecturer/Tutor: John See

Course Description

This course focuses on two main objectives. It aims to introduce game programming in a console-based environment and also teach the fundamental techniques of creating game artificial intelligence (AI).

Students will be using XNA Game Studio (with C# as language) to create games for console/PC. Console/PC game development necessitates the need for attractive game design, effective engagement of controls and interactivity, optimized rendering, and all other skills students have learnt thus far.

Artificial intelligence (AI) is an important, and often neglected element of any computer game. This course aims to equip students with the knowledge of various game AI techniques, including movement and behavioural AI, pathfinding, decision-making, tactical and strategic AI. Some advanced AI topics such as neural networks and learning-based algorithms will also be discussed.

Class and Consultation Hours

Classes: Every Mondays (2pm-4pm) and Fridays (10am-12pm)

My consultation hours are on Thursdays: 2pm-6pm

All other meetings are by appointment (unless pre-arranged/fixed)

Course Schedule / Downloads
Quick Links:

Note: In certain weeks, lecture and tutorial classes may be combined or interchangeable.

[Reed] refers to Aaron Reed's "Learning XNA 3.0" book
Week  Monday Session Friday Session Coursework Matters
1 [Class cancelled] Introduction to Console Gaming and Development
2 Introduction to XNA Game Studio
[Reed] Chapter 1 & 2
[Reed] Chapter 2 & 3 Project Guidelines
3 [Reed] Chapter 4 & 5 [Deepavali Holiday]
4 Game Proposal Presentation Chapter 6 & 7 [Reed] Game proposal deliverables to be handed up before presentation
Proj Checkpoint 1 Mark Distribution
5 Game AI Fundamentals
Movement AI (Part 1) - Basic Techniques ai_fundamentals.ppt
movement.ppt
Movement AI Demos
6 Tutorial 1 (Movement)
Movement AI (Part 2) - Delegated Steering Behaviors & Flocking
7 Tutorial 2 (Movement & Pathfinding) Pathfinding AI (Part 1) - Basic Techniques pathfinding.ppt
Game AI Seminar Topics
MID-TRIMESTER BREAK
8 Pathfinding AI (Part 2) - A* & Other Advanced Methods Tutorial 3 (Pathfinding) Seminar Schedule
Interim Progress #1 on Friday
9 Decision-Making AI (Part 1) - Decision Trees (DT) Tutorial 4 (DT) decisionmaking.ppt
Seminar presenters: Cadrick & Cham
10 Decision-Making AI (Part 2) - Finite State Machines (FSM) Tutorial 5 (FSM) Seminar presenters: Sadegh & Edvinn
11 Fuzzy Logic (for decision-making) Tutorial 6 (Fuzzy Logic) Seminar presenters: Hsin Jo, Faisal, Li Xuan
12 Tactical & Strategic AI Tutorial 7 tactical-strategic.ppt
Coursework Marks (as of 10/1)
13 Term Test (Monday, 2.00-3.30pm, GVGD Lab) [no class] Term test covers all AI topics only.
14 [no class] Final Project Submission Proj Final Submission Mark Distribution


Pre-requisites

Required: TGP2271 Games Programming II (pass or taken once)

Desired: Good programming fundamentals (TCP1241, TCP1311), Above-average delivery in past game projects (TGP2261, TGP2271)


Grading

  5%  Class Hand-ups
10%  Seminar
15%  Test
70%  Game Project

Participation marks may be given at instructor's discretion.


Software

Coursework

Class Hand-ups
To be conducted on ad-hoc basis. Class hand-ups can be in the form of programs/code, short assignment, etc. Please attend the classes if you do not want to miss out on them.

Seminar
All students are to give a short seminar (10-15 mins) on the summary of a specific game AI paper. List of papers TBA. The seminars will start from Week 8 to Week 10. Method of presenting is freeform - you can use slides, notes, codes, video demos, the board, or just, talk.

Written Test
The written test (compulsory to attempt) will be conducted near the end of the trimester. Covers all AI topics taught.

Textbook & Reading

We will use this book as a good training guide to get you started with XNA game programming. We will follow this book intensively for the first 4 weeks, and after that, you'll be on your own. If you find it too basic and you want more bite, you can consider Carter's book (see references below).

We will use this book for the AI topic weeks (Week 5 till Week 13). I may provide some simple slides or maybe nothing at all, though I may opt to give handouts when needed. Unfortunately, the library has only 1 copy and it's with me (sorry!). But I could lend you to make a copy of parts you find interesting.


Other References (XNA & AI)

Interesting Stuff for Work and Play