The University of Queensland Homepage
School of ITEE ITEE Main Website

 Course Profile

The University of Queensland
School of Information Technology and Electrical Engineering
Semester 1, 2004

COMP7300 - Advanced Games Programming

Course Profile

Version

This is version 1.0 of the COMP7300 course profile, dated 25 February 2004.

Changes since the last version

Not applicable.


Course Summary

Course Code(s): COMP7300
Unit Value: #2
Contact Hours: 5 hours per week (5C)
Purpose:

This course deals with state of the art programming techniques for the development of interactive computer games. Topics focus on current relevant programming environments for computer gaming, and many of the relevant technologies associated with computer gaming (such as graphics, sound, input devices, AI and simulation). After completing this course, you will be aware of many of the issues associated with games programming, and will have mastered a significant skill base relevant to implementation of computer games.


Teaching Staff

Gordon Wyeth
Office: 78-626 (Until mid-semester break)
Phone: (07) 3365-3770
Fax: (07) 3365-4999
Email: wyeth@itee.uq.edu.au
Consultation Time: See consultation policy


Course Goals

In general terms, you are expected to demonstrate that you have the necessary skills to write an engaging computer game in a DirectX environment.

 In more specific terms, I intend for you to accomplish the following by the end of this course:

Module 0: Introduction to Game Programming

·        to understand what constitutes a game, what makes a successful game, and what makes a successful games programmer;

Module 1: Windows Programming

·        to thoroughly understand the Windows environment particularly notation, classes, events, resources and GDI (review material),

·        to be able to use COM objects;

Module 2: DirectX and Basic DirectDraw

·        to be able to use DirectX COM objects,

·        to be able to use DirectDraw to make surfaces, draw on surfaces and manipulate colour,

Module 3: 2D Graphics in DirectX

·        to master games programming techniques for 2D graphical environments under DirectX,

Module 4: DirectInput

·        to create user input using the DirectInput features of DirectX;

Module 5: Sound and Music

·        to be able to generate sound effects and music for a computer game environment;

Module 6: Artificial Intelligence

·        to understand the basic AI techniques used in agent programming in computer games,

·        to be able to code an AI agent for a computer game;

Module 7: Simulation and Modelling

·        to understand the techniques used to model physical laws in computer games,

·        to understand the principles of kinematic equations for describing motion.


Assumed Background

COMP2301 is highly recommended. Students in the course are expected to have substantial previous experience with Windows programming using C or C++ on entry. A solid knowledge of mathematics is expected, as well as knowledge of basic Newtonian physics.


Resources

Textbook

Andre LaMothe, "Tricks of the Windows Game Programming Gurus", Second Edition, 2002, ISBN 0-672-32369-9 is the compulsory text. It is available in the library at call number QA76.76.C672 L3615 2002.

Reference Texts

Ian Parberry, “Introduction to Computer Game Programming with DirectX 8.0” is available from many book retailers.

Handouts

Before each of the Modules is presented, I will provide a set of study notes for that Module – the study guide. The guides will only be available from the subject WWW home page. They will provide a basic coverage of the content for the module, as well as providing any scanned material and sometimes a list of further readings. The notes will reference the textbook and any scanned material in context, with a reading symbol to indicate that you should address that material at this point in the guide. The study notes will also contain questions and exercises throughout, some of which will be in the text. You should perform these exercises before you come to class. If you do not prepare for the class you will not got the full benefit from the workshops.

The study guides are not a complete set of lecture notes. They are simply there to highlight material in the text and to bring in any other material in context.

Facilities

Students will be provided with access to suitable computing facilities to complete their assignments.

Consultation

I will be available for the ten minutes before and after each class for brief questions. This is the best time to see me about COMP7300. If you require a longer meeting, this is the best time to arrange one with me. If you are unable to contact me in person, send me email.

Apart from this time, I have an open door policy that allows student consultation (on any matter) at all times. If I am in my room, simply come to the door and knock. Otherwise, my presence on campus can be determined by a simple system. If the light is on and my door is open then I am somewhere nearby and will return shortly. If the light is on but the door is closed, then I am on campus and will be back in my room at some stage during the day. If you come to my room and I am in consultation with another student or staff member, please wait until I have finished with that meeting before knocking.

Please understand that I have a number of roles in the department (fourth year student supervision, postgraduate student supervision, research, writing publications, collegial meetings, departmental meetings, robot contests, lab supervision, course advising, curriculum development etc.) and I may not be always be in my room or able to answer your question on the spot. If you need a meeting, see me at the lecture or send me email.

Distribution of Notices

Please read the newsgroup uq.itee.eng on a regular basis for announcements about COMP7300. This is also a good forum for general discussion or questions about the subject. I will endeavour to respond to posts where appropriate. Anonymous postings will be disregarded.

Web

The course web site is available at http://www.itee.uq.edu.au/~comp7300.

Newsgroup

The course newsgroup is uq.itee.comp7300. This group is available on both the University and School news servers (news.uq.edu.au and news.itee.uq.edu.au).

Students are free to post questions (and answers!) to the newsgroup. Copies of announcements will also be posted to the newsgroup. The teaching staff will monitor the newsgroup.


Teaching Activities

Workshops

Monday 9am – noon and 1pm – 3pm

Teaching Plan

Week

Starts

Content

1

1/3

Module 0: Introduction to Games Programming

2

8/3

Module 1: Windows Programming

3

15/3

Module 2: DirectX and Basic DirectDraw

4

22/3

Module 3: 2D Graphics in DirectX

5

29/3

Module 4: DirectInput
Module 5: Sound and Music

6

5/4

Module 6: Artificial Intelligence

7

19/4

Module 7: Simulation and Modelling

8

26/4

Anzac Day - Holiday

9

3/5

Labour Day - Holiday

10

10/5

Game Proposal

11

17/5

Hand-in Exercises

12

24/5

Game Development

13

31/5

Provisional Assessment


Assessment

The first component of assessment is to ensure that you complete the exercises in the Modules. The other components of assessment are based around a single project that involves the design and implementation of a complete, playable game demo of your choice. There are two assessment phases for the project – the assessment of the game proposal, and the assessment of the game itself.

Module Exercises (20%)

The module exercises will be assessed in Week 11. You will demonstrate working binaries and hand in all of the source for the exercises that are marked for hand-in in the Modules. You will be evaluated on the demonstrability and completeness of the work. Your source code will be checked for readability, maintainability and style. Detailed criteria will be provided during class. The work will be graded on a 1 - 7 scale.

Game Proposal (30%)

The game proposal will be assessed in Week 10. The proposal will consist of both oral and written presentations. The oral presentation will take place during the week 10 workshop. You are to provide your written report on your game proposal to me at the start of your oral presentation. You will be assessed on how thoroughly you have thought through the design of your game, and how well you have planned its implementation. Detailed criteria will be provided during class. The work will be graded on a 1 - 7 scale.

Final Game (50%)

The game itself will be assessed over the examination period. A provisional assessment of your game will be performed in the final week of semester to give you some direct feedback on your game before final assessment. The final game (including the source, binaries and user manual) will be handed-in in the examination period at the time designated in the exam timetable – you can think of it as a semester-long take home exam. The principle criterion for assessment purposes is how well your game plays. To this end, I will be principally concerned with your binaries and your user manual. Your source code will be checked for readability, maintainability and style. Detailed criteria will be provided during class. The work will be graded on a 1 - 7 scale.

Determination of Final Grade

The final grade will be determined by rounding (to the nearest grade) the sum of the weighted grades from the three assessment components.

1. Serious Fail
Fails to satisfy most or all of the basic requirements of the course.

2. Fail
Fails to satisfy some of the basic requirements of the course.

3. Pass Conceded
Falls short of satisfying all basic requirements for Pass but can be granted concession for deficiencies through being close to satisfactory overall, or having compensating strengths in some aspects of the course, or having compensating strengths in other courses, or other mitigating considerations.

4. Pass
Satisfies all of the basic learning requirements for the course, such as knowledge of fundamental concepts and performance of basic skills; demonstrates sufficient quality of performance to be considered satisfactory or adequate or competent or capable in the course.

5. Credit
Demonstrates ability to use and apply fundamental concepts and skills of the course, going beyond mere replication of content knowledge or skill to show understanding of key ideas, awareness of their relevance, some use of analytical skills, and some originality or insight.

6. Distinction
Demonstrates awareness and understanding of deeper and subtler aspects of the course, such as ability to identify and debate critical issues or problems, ability to solve non-routine problems, ability to adapt and apply ideas to new situations, and ability to invent and evaluate new ideas.

7. High Distinction
Demonstrates imagination, originality or flair, based on proficiency in all the learning objectives for the course; work is interesting or surprising or exciting or challenging or erudite.


Assessment Policies

Submission

Assignments should be submitted during the workshop in the indicated week.

Late Submission

Late submissions will not be accepted, except where accompanied by an appropriate medical certificate.

Notification of Availability of Feedback

Feedback on assessment will be provided during the workshop. An opportunity for non-graded feedback on the final project is provided in Week 13

Return of Assignments

Assignments will be assessed during the workshops, and returned then.

Academic Merit, Plagiarism, Collusion and Other Misconduct

The School and the wider academic community in general takes academic integrity and respect for other persons and property very seriously. In particular, the following behaviour is unacceptable:

  • Submission of plagiarised work, i.e. work that contains content copied from an unacknowledged source.
  • Submission of work without academic merit, i.e. work that adds little or nothing to material available from reference sources such as textbooks, websites, etc., even where this is appropriately acknowledged.
  • Engaging in collusive behaviour, i.e. inappropriate working together with other students where individual work is required, or working with people outside your team where team work is required.
  • Copying work done by other students.
  • Failing to adhere to the School's regulations concerning behaviour in laboratories, in particular occupational health and safety regulations.

Penalties for engaging in unacceptable behaviour can range from cash fines or loss of grades in a subject, through to expulsion from the University.

You are required to read and understand the School Statement on Misconduct, available on the ITEE website at: http://www.itee.uq.edu.au/about/student-misconduct.jsp

If you have any questions concerning this statement, please contact your lecturer in the first instance.


Graduate Attributes Developed

The University of Queensland has defined a set of graduate attributes to specify broad core knowledge and skills associated with all undergraduate programs (http://www.uq.edu.au/hupp/contents/view.asp?s1=3&s2=20&s3=5). This course addresses these attributes as follows:

Attribute Contributions from this Course
In-depth knowledge of the field of study In-depth technical knowledge of computer programming, simulation and modelling techniques relevant to games programming.
Effective Communication The proposal which forms 40% of the assessment is presented orally and in written form, fostering effective communication skills in this domain.
Independence and Creativity The assessment is based around an independent, creative design project: namely, the open-ended design of a computer game.
Critical Judgement In choosing an appropriate game design, critical judgement will necessarily be exercised in scoping the project and in choosing the best tools to carry it out.
Ethical and Social Understanding Designing a computer game requires an understanding of the society that might wish to use it. Ethical issues of gaming will also be addressed during the game design process.

Support for Students with a Disability

Any student with a disability who may require alternative academic arrangements in the course is encouraged to seek advice at the commencement of the semester from a Disability Adviser at Student Support Services.