FIT2096 - Game Programming 1
Updated: 15/03/2022
ASSIGNMENT 1 [20%]
MicroGame and Debugging Tasks
Learning Outcomes
Completion of this assignment demonstrates the following learning outcomes:
● Describe the geometric meaning behind vectors and matrices, and create code
that demonstrates how these can be applied practically in game programming,
including for object movement and collision
● Create game programs that demonstrate an understanding of the
programming game loop and how to set it up
● Create game programs that demonstrate an understanding of physics in the
games programming context, including basic movement and interaction
Brief
For this assignment you must complete the lab tasks for weeks 3 & 4, their listed
extension tasks and some debugging tasks as outlined in more detail below.
This assessment involves the same three activities weeks 3 & 4:
● Follow and complete the guided lab exercise, pushing the result to a GitLab
repository so that you have a working game you can demo
● Research related classes/libraries and utilise these to implement an extension to
the lab tasks.
Task
The main lab tasks each week are structured as a step-by-step guide to assist in their
completion. The extension tasks are provided with an overview of the task to be
completed with general pointers to get you started along the path.
The extension tasks are intended to be more difficult and require some enquiry and
initiative on your part. If you get stuck on the extension activities, you can of course seek
assistance from your demonstrator, via the Ed forum or during consultations.
For the debugging tasks you are required to add debug logging for each of the major
functionalities created through the Weeks 3 & 4 labs + extension tasks. This should be
done utilising the UE_LOG functionality as discussed in the Week 4 pre-class activities,
ensuring that these are correctly logged to file and displayed to screen where relevant.
1
FIT2096 - Game Programming 1
Updated: 15/03/2022
For example when a tank shoots a projectile you should log which Controller and Tank
fired the projectile in addition to the tank’s location and rotation. When a projectile
collides with an object you should log information about its location, rotation and what
it collided with.
You should use your judgement as to what should be logged in this manner. A
non-exhaustive list is included below:
● When a tank spawns
● When player input is detected
● When a tank is possessed
● When a projectile is spawned
● When a projectile collides with something
● When a projectile gets destroyed
● When a waypoint or location is reached
● When a rotation has finished occuring
Submission Requirements
Students are required to submit the completed tasks in a single zip file containing all
relevant files. Students must ensure that the zip file is named using the following
naming convention:
FirstnameLastname-A1MicroGame.
When compressing your Unreal Project you must ensure that it does not contain any
auto-generated files. To zip the project without issue use the “Zip Project” option from
within the Unreal Engine editor’s file menu
Unreal Engine 5 File Menu
2
FIT2096 - Game Programming 1
Updated: 15/03/2022
Assessment Criteria
Your assignment will be marked on the following criteria listed below. This is graded
based on the quality of the submitted work, not just completion. Use of best practices
and code quality are considered as part of this.
● Week 3 Lab Tasks (5 Marks)
Completion of the guided lab tasks with a functional game at the end of the tasks.
Proper variable and class naming conventions should be followed. Variable
naming should be consistent with PascalCase preferred.
● Week 3 Extension Tasks (4 Marks)
Completion of all additional extension tasks is expected here. This is marked both
on completion and quality of solution. Best practices and code reusability should
be considered here during development.
● Week 4 Lab Tasks (5 Marks)
Completion of the guided lab tasks with a functional game at the end of the tasks.
Proper variable and class naming conventions should be followed. Variable
naming should be consistent with PascalCase preferred.
● Week 4 Extension Tasks (4 Marks)
Completion of all additional extension tasks is expected here. This is marked both
on completion and quality of solution. Best practices and code reusability should
be considered here during development.
● Debugging Tasks (2 Marks)
Debugging and logging tasks should be completed with students demonstrating
logical decision making in where these should be utilised and what should be
logged.
General Note on HD grades:
The Monash University assessment advice is that if you are getting an HD for
assessments (80%+) you are "demonstrating extended knowledge, skills and attributes
at an exceptional level, showing fluency, originality and integration of concepts.".
For assessments this means that you have considered the instructions provided and
gone beyond those to resolve any potential issues / bring the work closer to a
professional standard.
SUBMISSION DUE: Friday Week 5, 11:55PM