Report
Your submission should include a small report with the following sections:
1. User Guide (2%)
This section should provide information for someone wishing to play your game. This section should include:
- How to play the demo.
- A control guide e.g. key / mouse / controller. A diagram would be effective.
- Known issues / bugs in this release.
- Your filled in implementation check list (see the end of this document).
Note that the mark for this section also considers general report presentation and layout (please see the school report writing guidelines) as well as correctly following the submission requirements.
2. Maintenance Guide (8%)
This section should include information for another programmer working with your code systems:
- A description of the architecture of your game engine
-
- Include UML diagrams.
-
- Indicate design decisions made.
3. Conclusions (4%)
This section is where you can reflect on the work carried out. You should include critical reflection on your final implementation, lessons learned and future enhancements you would like to make to the demo.
Total: 14%
Game Engine Demo
Implementation (50%)
Once the milestones are complete you will continue to build on the game engine and develop a small 2D game to show the game engine functionality is operational.
At the end of this document is an implementation check list. You should complete this (indicate what you have completed) as you create your engine and place it in the user guide section of your report for handing in. This provides you with a useful guide as to your final mark.
If you have completed all the milestones, you will already have 30% (or 40% if you also met the target date of week 6).
The check list is split into four grade level sections, adequate (C), good (B), excellent (A) and extra marks (A*). The last being just some examples of other areas that could be implemented to obtain the very top marks (just examples because there are many things you could implement to get extra marks, if in doubt please ask).
Milestone 3
For this milestone you need to show your engine structure can support a full 2D game.
This should meet the following requirements:
- Realisation of an entity
- Pixel Perfect Collisions or Colliders *
- World system
Further Information
• Not all games require pixel perfect collisions so as an alternative you could implement colliders. Different collider shapes could be useful.
• Again feel free to use an alternative ECS structure.
Milestone 2
For this milestone you need to show your code can support the basic simulation aspects of a 2D game.
This should meet the following requirements:
- Movement controlled by keyboard and / or mouse.
- Rectangle and vector classes*
- Bounding shape collisions
- Graphics system
Further Information
• Rectangle and vector classes should be minimal but complete. The rectangle class will require functions to determine if an intersection with another rectangle has occurred.
• If you wish your graphics system can be implemented via an entity component system (ECS) structure.
* The requirement to create a vector class has been removed due to the most recent version of SFML having a fully featured vector class of its own.
Milestone 1
For this milestone you need to show your code can support the basic graphics of a 2D game.
This should meet the following requirements:
- Can manage / load and render textures efficiently
- Supports animation and can show multiple sets
- Displays a stable FPS
Further Information
• You will need a collection to hold loaded textures.
• You will need a collection of animation sets.