Introductory Assignment (10%)

One of the primary purpose of the introductory assignment is to familiarize you with the code. Your task is to take the code and implement a more realistic perception model for the NPCs so that characters can hide from NPCs. When an NPC can't find see a character, it should do something sensible, such as going to where it last saw it or searching. For debugging and evaluation, you should provide some way to visualize your perception model. This visualization mode should be activated by pressing the letter "d" on the keyboard.

Submission Instructions

Midterm (15%)

The midterm will test your basic understanding of the lecture material up to that point.

Project (50%)

Game AI is fundamentally about programming great AI effects. So the bulk of your mark for the course will be based on a project. You are encouraged to work in teams, but the more people in your team, the more impressive results you will be expected to produce.

There is obviously a lot of code on the internet that can help you with the projects. If you do use anyone else's code make sure you:

Using other people's code (subject to the conditions listed above) for a goal that is incidental to the main purpose of the project is encouraged. But if you use other people's code for the center piece of your project, you will obviously not receive nearly as much credit as if you wrote the code yourself. If you're ever unsure, then ask the instructor before you use someone else's code.

Draft Proposal (5%)

Your initial draft proposal should consist of a web site that carefully describes:

Revised Proposal (5%)

Your initial draft proposal should be modified based on the feedback you get.

The mark for the revised proposal will be proportional to the subjective probability that, given all I know about your past performance, you will get full marks for the final project. For example, if after looking at your revised proposal, I predict that you have an 80% chance of getting full marks for the finished project, then I will give you 4 (= round(5 * 0.8)) marks for the revised proposal. After your final project is marked, I will go back and revise your mark to be based on the higher of my prediction or your actual mark. So in the example, if you actually score 90% for the final project I will increase your mark for the revised proposal to 5 (full marks).

The only exception to this is if you were late in handing in your revised proposal. In which case, your mark for the revised proposal will not be upgraded no matter how well you do on the final project. In addition, I am likely to count your lateness as an indication that you will also probably have problems getting the final project finished on time. And so my belief that you will get a high mark will be diminished which will, in turn, diminish your mark for the revised proposal.

Checkpoint (15%)

Your project will be assessed on how closely you have met the milestones you set yourselves.

Once again, your mark will be determined based on my degree of belief (represented as a conditional probability) that you will receive full marks for the final project. For those of you who are on time, the mark will be upgradable once the final project is marked.

Completed Project (25%)

Your project should have a web site to describe the final results. You will also be expected to give a 5-10 minute presentation about your project in which you should demonstrate the capabilities of your code.

Final Exam (25%)

The final exam will test your basic understanding of the entire course.

Style Guide Complaince

Any code that you write for the initial assignment, in the midterm, for the project, or the final exam should conform to the style guide. Some of the reasons for using a style guide are:

Marks will be deducted for failure to comply with the style guide.

Last edited Thu Jul 13 22:14:46 2006 by John Funge.