If you completed your 2nd year games module with a more-or-less complete game engine architecture, you might enjoy the challenge of creating a component-based (ECS) game engine for your 3rd year project.
This would be a DBT project that is primarily focused on Software Engineering and Game Development. You can use any programming language of your choice, however, you might find it less challenging to use a language that you are already familiar with. Although some kind of demo will be required to test and showcase the software, producing a playable game prototype would be beyond the scope of the project.
Key challenge: how to design, implement, and verify an engine with the component-based paradigm.
Considerable background research on the component-based approach would be necessary prior to starting this project.
As this is a DBT, the question is what would be an appropriate test? To a certain extent, this is something that you would have to answer yourself, via secondary research. However, the most often cited reason for opting for ECS architecture over an OO entity-based architecture, is performance. This isn't the only lens you can take, but if you choose this, then your test could be a comparison between a newly created ECS engine and an OO entity-based engine. Your secondary research would then need to also look at benchmarking tests to see how comparisons have been done by others, and which would be most suited in this context.
Another comparison test might be to look at software analysis of ECS vs OO (eg in terms of Cohesion and/or Coupling). In this case, your secondary research would need to also look at how others have measured these things.
Although the artefact (ie your software) will be a key deliverable, we will also need to see: