The purpose of the project is to expose you to three-dimensional graphics programming and
user interfaces. You will develop and evaluate a simple game using Unity. You are free to
choose any type of game that your group would like to develop, and we are happy to discuss
these possible projects with you before you begin implementation.
Your task will involve questions of:
1. how to facilitate user interaction,
2. how to create and render objects/entities,
3. how to effectively manage the graphics pipeline so that it runs without substantial lag,
4. how to evaluate your game with participants, and make improvements based on the
As with project 1, an important part of this project is not just the submission itself, but the
collaborative process. You will use the version control software Git (via Github) to track changes
to the project and allow each group member to easily make remote contributions. It is
important that all group members commit their changes to Github from early on in the
process. Furthermore, ensure your repository is kept as small as possible by only committing
what is necessary to build and run the project, and taking care with binary assets.
Specifications and marking criteria
As stated above, we have provided you with a great deal of freedom in what you make. In
particular, you are not necessarily required to implement all of the entities and functions present
in your intended game if you choose not to. For example, you may choose to only utilise a core
subset of functionality. However, the game must still be usable/playable, as well as polished.
● Gameplay (14 marks):
○ Instructions are well specified within the game and controls respond as expected
○ The game has a clearly defined objective, with the player being able to progress
towards and achieve that objective
○ Gameplay is well executed, bug-free, and operates at a reasonable frame rate
(sufficient to play the game)
○ The gameplay and control scheme are polished, easy to use, enjoyable and suit
the design of the game
○ A video demo effectively and creatively captures the key gameplay elements
(see below for details).
● Graphics (12 marks):
○ Objects and entities are clearly visible, and clearly distinguishable.
○ Objects, entities, textures, lighting and user interfaces should suit the style of the
game, and there should be consistent aesthetics employed throughout the game
○ Camera orientation, positioning and motion should be comfortable and
○ At least one object or game environment should be procedurally generated in a
manner that enhances the game’s visuals. Give a high level overview of the
technique and/or algorithm used in your report.
● Shaders & Special Effects (16 marks):
○ At least two clearly distinct custom Cg/HLSL vertex or pixel shaders should be
present which appropriately enhance the game’s visuals. At least one shader
should produce a non-trivial effect not explored in the labs. For example, Cel
shading, water effects, fog, or other artistic effects as desired. Descriptions of
how the shaders work must be clearly detailed in the report, along with the paths
to the source files. If you write more than two shaders, specify exactly which two
should be marked. It should also be made clear how the use of a shader provides
a benefit over an equivalent CPU based approach, if applicable.
○ A particle system should be used to create suitable effects within your game.
Clearly specify in your report which particle system should be marked (if there is
more than one), and how to locate it in your Unity project.