Students

COMP2160 – Game Development

2022 – Session 2, In person-scheduled-weekday, North Ryde

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor/Lecturer
Cameron Edmond
Contact via Email
4 Research Park Drive, Office 365
See iLearn
Lecturer
Malcolm Ryan
Contact via Email
4 Research Park Drive, Office 356
By arrangement
Credit points Credit points
10
Prerequisites Prerequisites
(COMP1150 or COMP111 or MMCC1011 or MAS111) and (COMP1010 or COMP125)
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description
This unit covers the production processes involved in the development of videogames. Students will learn how to apply software engineering principles to develop a game in a 3D game engine, focusing on specific programming problems that arise in the context of game development. Practical exercises emphasise agile team-based production process for project management.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Identify, articulate and adapt the key methodologies, theories and practices involved in game development.
  • ULO2: Demonstrate knowledge of project management within the context of game development.
  • ULO3: Apply software engineering principles to develop a game in a 3D game engine.
  • ULO4: Apply good programming practices in the context of game development.
  • ULO5: Identify and reflect upon the ethical issues that arise in the development of games.

General Assessment Information

Late Assessment Submission Penalty

From 1 July 2022, Students enrolled in Session based units with written assessments will have the following late penalty applied. Please see https://students.mq.edu.au/study/assessment-exams/assessments for more information.

Unless a Special Consideration request has been submitted and approved, a 5% penalty (of the total possible mark) will be applied each day a written assessment is not submitted, up until the 7th day (including weekends). After the 7th day, a grade of '0' will be awarded even if the assessment is submitted. Submission time for all written assessments is set at 11:55 pm. A 1-hour grace period is provided to students who experience a technical concern. 

For any late submission of time-sensitive tasks, such as scheduled tests/exams, performance assessments/presentations, and/or scheduled practical assessments/labs, students need to submit an application for Special Consideration 

Assessments where Late Submissions will be accepted 

In this unit, late submissions will be accepted as follows:

  • Weekly Quizes - NO, unless Special Consideration is granted

  • Weekly Practice Exercises - NO, unless Special Conisderation is granted

  • Game Development Task 1 - YES, Standard Late Penalty applies

  • Ethics Essay - YES, Standard Late Penalty applies

  • Game Development Task 2- YES, Standard Late Penalty applies

Assessment Tasks

Name Weighting Hurdle Due
Ethics Essay 20% No Week 9
Weekly Quizzes 10% No Weekly
Game Development Task 1 30% No Week 7
Game Development Task 2 30% No Week 13
Weekly practical exercises 10% No Weekly in class

Ethics Essay

Assessment Type 1: Essay
Indicative Time on Task 2: 20 hours
Due: Week 9
Weighting: 20%

 

A short essay exploring one of the key ethical issues that arise in game development practice.

 


On successful completion you will be able to:
  • Identify and reflect upon the ethical issues that arise in the development of games.

Weekly Quizzes

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 5 hours
Due: Weekly
Weighting: 10%

 

Weekly quizzes based on lecture material.

 


On successful completion you will be able to:
  • Identify, articulate and adapt the key methodologies, theories and practices involved in game development.
  • Demonstrate knowledge of project management within the context of game development.
  • Apply software engineering principles to develop a game in a 3D game engine.
  • Apply good programming practices in the context of game development.
  • Identify and reflect upon the ethical issues that arise in the development of games.

Game Development Task 1

Assessment Type 1: Programming Task
Indicative Time on Task 2: 30 hours
Due: Week 7
Weighting: 30%

 

You will develop a videogame to meet a specified design, and report on the software architecture employed and the performance of the game in terms of time and memory usage.

 


On successful completion you will be able to:
  • Identify, articulate and adapt the key methodologies, theories and practices involved in game development.
  • Apply software engineering principles to develop a game in a 3D game engine.
  • Apply good programming practices in the context of game development.

Game Development Task 2

Assessment Type 1: Programming Task
Indicative Time on Task 2: 30 hours
Due: Week 13
Weighting: 30%

 

You will work in pairs to develop a videogame to meet a specified design. Emphasis will be placed on good project management following an agile methodology. You will report of the software architecture employed in the game, and the QA testing you performed.

 


On successful completion you will be able to:
  • Identify, articulate and adapt the key methodologies, theories and practices involved in game development.
  • Demonstrate knowledge of project management within the context of game development.
  • Apply software engineering principles to develop a game in a 3D game engine.
  • Apply good programming practices in the context of game development.

Weekly practical exercises

Assessment Type 1: Participatory task
Indicative Time on Task 2: 0 hours
Due: Weekly in class
Weighting: 10%

 

Weekly game programming exercises

 


On successful completion you will be able to:
  • Identify, articulate and adapt the key methodologies, theories and practices involved in game development.
  • Apply software engineering principles to develop a game in a 3D game engine.
  • Apply good programming practices in the context of game development.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

Lectures

Lectures in this unit will consist of pre-recorded videos as well as live lecture sessions. Students are expected to watch these pre-recorded videos before attending the live sessions.

Practicals

Each practical class in this unit will be supported by a worksheet. Studentsa re expected to attempt these practical tasks before coming to class, where they will be able to seek help and advice from their demonstrator.

Additional Materials

From time to time, this unit will involve additional materials such as book chapter readings and industry interviews. Students will be expected to work through these materials in the weeks they are allocated.

Technologies Used and Required

This unit will focus on game development within the Unity Game Engine. Check iLearn for information on which verison of this engine to use. You will have access to the lab computers which have Unity installed on them.

The unit will also require the use of version control software via Github. In regards to Git clients, the lab computers have both GitKraken and Github Desktop. You can use whatever Git client you wish when working on your own device, but it is your responsibility to understand how it works.

In order to complete these assessments and practical tasks, you will be required to work with Unity outside of classtime, often on a personal device. Unity works across Windows, Mac and Linux (Ubuntu) devices.

Unit Schedule

Provisional time-table. Details may change.

Week Lecture topics
1

C# programming, Event-based programming, Behaviour-based programming & modularity

2 2D & 3D geometry: Vectors and Quaternions, The Transform Hierarchy / Scene Graph, Lerping & Tweening, Handling input
3 Prefabs, Instantiation & Destruction, Singletons and Factories, Finite state machines
4 Code Architecture, Trigger colliders & Kinematic Rigidbodies, Raycasting
5 UI implementation, Scene Management
6 Quality Assurance, Game Analytics / Game User Research
7 Code Review, Ethical issues in the games industry
8 Version control for teams
9 Artists as game devs, game devs as artists
10 Game Physics, Collision handling
11 Camera control, Coroutines
12 Path planning, NavMeshes
13 No lecture

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

The Writing Centre

The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via AskMQ, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.


Unit information based on version 2022.02 of the Handbook