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 collected information.
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 well-polished.
○ 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.