This is a Design-Build-Test project to produce a game engine using modern C++.
This would be a DBT project that is primarily focused on Software Engineering and Game Development. Although some kind of demo will be required to showcase the software, producing a playable game prototype would be beyond the scope of the project.
Key challenge: how to design, implement, and verify a performant game engine in C++.
Considerable background research on modern C++ (eg C++ 14) would be necessary to succeed with this project.
Although the artefact (ie your software) will be a key deliverable, we will also need to see:
- a requirements specification and plan, developed through background research/study and discussions with your supervisor
- a detailed and reasoned software design, highlighting any key design patterns that have been employed, and descriptions of how these are implemented using modern C++
- a development plan/log based on the above design (it is normal practice for a design to evolve throughout the development process, especially if using an agile approach)
- a test design/strategy and log, showing the planned approach to verification and the results of your tests.
Your test would probably be best done as a comparison between two engines with the same design, but coded in C# and C++ (hence you could use your engine from COMP2351) as the basis for the C# version. The comparison would probably need to explore some aspect of performance, however, you should also consider portability - a C# program is likely to be better optimised for a Windows-based OS than any others.
NOTE: this is likely to be very challenging for anyone who has never used C++ before!
Please make contact with Marc Price asap if you are interested in this project. Note that this project is not limited to a single student - ie you can still do this project if someone else has already chosen it.