Skip to the content | Change text size
PDF unit guide

FIT2049 Games programming with C++ - Semester 2, 2012

This unit will further develop object-oriented programming skills with the C++ language, and place them into the Games Programming context. Fundamental games programming design principles will be covered, including formal game structures and the game program loop. A number of specific games programming techniques with C++ will be also covered. These include the use of DirectX, games physics, and advanced 3D rendering, expressing these concepts through game creation using C++ and Microsoft Windows DirectX. This provides a strong grounding for further study in this area, especially related to games engine development and artificial intelligence.

Mode of Delivery

Caulfield (Day)

Contact Hours

2 hrs lectures/wk, 2 hrs laboratories/wk

Workload

For on campus students, the weekly workload commitments are:
  • four hours of lectures / laboratory (requiring advance preparation), and
  • eight hours of self directed study - this will include reading and computer based activities.

Unit Relationships

Prohibitions

MMS2804

Prerequisites

FIT2071

Chief Examiner

Campus Lecturer

Caulfield

Elliott Wilson

Consultation hours: Will be made available on the unit website

Tutors

Caulfield

Elliott Wilson

Consultation hours: Will be made available on the unit website

Academic Overview

Outcomes

At the completion of this unit students will have:
  • an understanding of game entities and formal games program structure;s
  • an understanding of the notion of the programming game loop and how to set it up;
  • a working knowledge of basic DirectX, including textures, displaying sprites, animation, text, and rendering;
  • a working knowledge of physics in the games programming context, including basic movement and interaction;
  • a working knowledge of Direct 3D rendering, including geometry, models, cameras, textures and lighting;
  • an understanding of scene management in games;
  • the ability to express these concepts in a working Microsoft Windows game prototype.

Graduate Attributes

Monash prepares its graduates to be:
  1. responsible and effective global citizens who:
    1. engage in an internationalised world
    2. exhibit cross-cultural competence
    3. demonstrate ethical values
  2. critical and creative scholars who:
    1. produce innovative solutions to problems
    2. apply research skills to a range of challenges
    3. communicate perceptively and effectively

Assessment Summary

Examination (3 hours): 50%; In-semester assessment: 50%

Assessment Task Value Due Date
Lab Portfolio Submission 1 15% 23 August 2012
Lab Portfolio Submission 2 20% 20 September 2012
Lab Portfolio 3 and Extra Functionality Submission 15% 18 October 2012
Examination 1 50% To be advised

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning. Focus will be placed on practical implementation and case study in the latter stages of the semester.

Feedback

Our feedback to You

Types of feedback you can expect to receive in this unit are:
  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Solutions to tutes, labs and assignments

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through SETU, Student Evaluation of Teacher and Unit. The University's student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash's educational strategy, and on student evaluations, see:
http://www.monash.edu.au/about/monash-directions/directions.html
http://www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this unit

Previous feedback for this unit has highlighted strengths in its fundamental importance to the BITS (Games) major, its challenging nature, and its real world application. Several improvements were suggested from the last offering that are being taken on board for this offering:

  • The learning curve for DirectX was indicated by some as being too high. More support will be offered in the initial stages of DirectX familiarisation
  • Scope of the final assignment was raised as being quite high. Assignments are being revised to be ones in which concept and functionality is built up over the course of a number of submissions, rather than one big assignment.

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Recommended Resources

This unit will require the use of a personal computer and a suitable IDE for Windows C++ and DirectX development. Visual Studio for Windows will be used in the laboratory environment.

Copies of the Windows operating system and Visual Studio 2010 may be obtained free of charge from http://msdnaa.monash.edu.au/fit.
The latest DirectX SDK may be obtained from the Microsoft website.

Unit Schedule

Week Activities Assessment
0   No formal assessment is undertaken in week 0
1 Introduction to the unit, an introduction to win32 programming, setting up window, com, messages, message proc  
2 Maths for games development  
3 Rendering basics, triangles, lines, textures, x.models loading, lighting, light types, shading, direct 3d surfaces, back buffer, time step  
4 The rendering pipeline, 2d sprites and text, camera setup, direct input  
5 Templates/Generic Programming, Design Paradigms useful in gaming (Entity management, Scene management, State Machines, Message System, Singletons etc) Assignment One: Portfolio Submission 1
6 Basic Collision Detection, entity movement and interaction, area triggers  
7 XAudio2  
8 Particle Systems  
9 Bringing it all together / case study Assignment Two: Portfolio Submission 2
10 Bringing it all together / case study  
11 Lua Scripting Basics: how to and why it can be useful  
12 Revision Assignment Three: Lab Portfolio 3 and Extra Functionality Submission
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your MUSO (Blackboard or Moodle) learning system.

Assessment Requirements

Assessment Policy

Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)

Academic Integrity - Please see the Demystifying Citing and Referencing tutorial at http://lib.monash.edu/tutorials/citing/

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    Lab Portfolio Submission 1
    Description:
    This first submission of the lab portfolio will form the first component of the major game project that will be worked upon throughout the semester. The first part will focus on refamiliarisation with C++ and computer game mathematics, designing object oriented solutions to game programming problems, as well as incorporating basic graphics and rendering.

    Students will be required to compile a portfolio of major laboratory tasks for submission for assessment. Details of each portfolio component are clearly indicated in the laboratory tasks for each week.

    This submission contains the weekly folio tasks for weeks 1-4.
    Weighting:
    15%
    Criteria for assessment:

    Explicit assessment criteria will be provided in the assignment brief, however students will be assessed on the following broad criteria:

    • Meeting functional requirements as described in the assignment description
    • Demonstrating a solid understanding of C++ concepts, including good practice
    • Demonstrating a solid understanding of Game Development concepts, including good practice
    • Following the unit Programming Style Guide
    • Creating solutions that are as efficient and extensible as possible
    Due date:
    23 August 2012
  • Assessment task 2
    Title:
    Lab Portfolio Submission 2
    Description:
    This second submission of the lab portfolio will form the second component of the major game project that will be worked upon throughout the semester. This submission will focus on setting up collision, audio, and particle systems within a game project.

    Students will be required to compile a portfolio of major laboratory tasks for submission for assessment. Details of each portfolio component are clearly indicated in the laboratory tasks for each week.

    This submission contains the weekly folio tasks for weeks 5-8.
    Weighting:
    20%
    Criteria for assessment:

    Explicit assessment criteria will be provided in the assignment brief, however students will be assessed on the following broad criteria:

    • Meeting functional requirements as described in the assignment description
    • Demonstrating a solid understanding of C++ concepts, including good practice
    • Demonstrating a solid understanding of Game Development concepts, including good practice
    • Following the unit Programming Style Guide
    • Creating solutions that are as efficient and extensible as possible
    Due date:
    20 September 2012
  • Assessment task 3
    Title:
    Lab Portfolio 3 and Extra Functionality Submission
    Description:
    This final submission of the lab portfolio will form the last component of the major game project that will be worked upon throughout the semester. The final submission will tie all aspects of previous portfolios together into a complete game. Students will also propose and negotiate their own extended functionality they plan to add to their game which will then be delivered.
    Weighting:
    15%
    Criteria for assessment:

    Explicit assessment criteria will be provided in the assignment brief, however students will be assessed on the following broad criteria:

    • Meeting functional requirements as described in the assignment description
    • Demonstrating a solid understanding of C++ concepts, including good practice
    • Demonstrating a solid understanding of Game Development concepts, including good practice
    • Following the unit Programming Style Guide
    • Creating solutions that are as efficient and extensible as possible
    Due date:
    18 October 2012

Examinations

  • Examination 1
    Weighting:
    50%
    Length:
    3 hours
    Type (open/closed book):
    Closed book
    Electronic devices allowed in the exam:
    None

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz).

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the VLE site for this unit, which you can access via links in the my.monash portal.

Extensions and penalties

Returning assignments

Resubmission of assignments

Students may not resubmit assignments after the due date has passed.

Other Information

Policies

Student services

The University provides many different kinds of support services for you. Contact your tutor if you need advice and see the range of services available at www.monash.edu.au/students. For Sunway see http://www.monash.edu.my/Student-services, and for South Africa see http://www.monash.ac.za/current/

The Monash University Library provides a range of services and resources that enable you to save time and be more effective in your learning and research. Go to http://www.lib.monash.edu.au or the library tab in my.monash portal for more information. At Sunway, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.

Academic support services may be available for students who have a disability or medical condition. Registration with the Disability Liaison Unit is required. Further information is available as follows:

  • Website: http://monash.edu/equity-diversity/disability/index.html;
  • Email: dlu@monash.edu
  • Drop In: Equity and Diversity Centre, Level 1 Gallery Building (Building 55), Monash University, Clayton Campus, or Student Community Services Department, Level 2, Building 2, Monash University, Sunway Campus
  • Telephone: 03 9905 5704, or contact the Student Advisor, Student Commuity Services at 03 55146018 at Sunway