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 |
|
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.
