The Brief
To describe the purpose of this project, an excerpt from the assignment brief:
"The final year project is an individual piece of work based on your own ideas and abilities. The goal of the module is to further develop skills in organisation, timekeeping, research, developing and critically analysing results as well as reporting work verbally and in a written format. There are only a few lectures, instead, this is achieved through independent learning with supervision support. It is thus important to keep in contact with your supervisor and update him or her about your progress. Your supervisor will direct you and provide useful feedback. "
Preview
Skills Developed
-
I improved on my usage of C++ as a result of deciding to place a large emphasis on using it for most of the project. I used C++ to maximise the performance of my project which, especially as a game project, was very important for being able to run it smoothly and to therefore also be able to maintain the project as its complexity increases over the long term.
-
I developed on my proficiency at using the Unreal Engine 4 editor which is the program which provided the tools I needed to develop my own functionalities. Not only did I improve at programming, but I also learned plenty of skills outside of my expected area of expertise. This includes, but is not limited to, the implementation of animations, sounds, VFX and 3D design.
-
To make this all happen, this all required plenty of research in order to properly inform my design decisions.
-
Each detail of the project (design, analysis, testing, etc.) is also fully documented in my dissertation.
-
I used an agile workflow to structure the development of my project to stay on top of frequently changing requirements
-
This relatively long-spanning project particularly helped my further development of organisation, timekeeping, research, developing and critically analysing results as well as reporting work verbally and in a written format
PROGRAMMING
SOFTWARE DEVELOPMENT ENVIRONMENTS
ANALYTICAL THINKING
DOCUMENTATION
AGILE
PROJECT ORGANISATION
Key Features/Functionality
-
Systems designed with C++, with appropriate functionalities using visual scripting (blueprints)
-
Behaviour trees (AI intelligently has docile and hostile modes of behaviour, with particular ways of acting in response to specific stimuli)
-
AI perception (sight and sound)
-
Movement (jog, sprint jump, dodge)
-
Combat
-
Various enemy types
-
Waypoint system (custom-made editor tools to achieve this too)
Development Timeline & Assessment
-
(October 2020) Planning and proposal document
-
(January 2021) Alpha demonstration
-
(April 2021) Beta demonstration
-
(May 2021) Final report/artefact and project viva (oral exam)
Overall, I achieved an A grade for this project based on numerous artefacts including:
-
a software project
-
a thoroughly written dissertation
-
regular blog entries following my development timeline
-
successfully presenting my project orally to examiners (Viva)
I was able to consistently achieve at each milestone of the project's timeline, staying in-line with deadlines and producing an exceptional piece of work.
In the project viva, I presented a video I had prepared to showcase my project to two examiners. I would then go on to answer questions about my project, with the examiners having access to my source code.