Final MoSCoW List
As we neared the end of our project development, we reflected on the original MoSCoW project goals we established during the requirement-gathering stage. It was a moment to consider all the objectives we set out to achieve and to evaluate the progress made throughout the development process.
ID | Description | Priority | State | Contributors |
---|---|---|---|---|
1 | Create an Intuitive User Interface for specific driving games, namely Rocket League and Forza. | MUST | ✓ | Abdullah, Christy, Memoy |
2 | Provide options for user to choose Method of Control (i.e. steering and joystick) and bodypoints (i.e. hands and elbows) to use. | MUST | ✓ | Abdullah |
3 | Complete documentation and user manuals. | MUST | ✓ | Christy |
4 | Handle potential errors in our MFCs. | MUST | ✓ | Memoy |
5 | Create a general driving UI that supports a range of games. | SHOULD | ✓ | Abdullah |
6 | UIs for specific 2D side scroller and 3D action games, such as Sonic and Lego Avengers. | SHOULD | ✓ | Abdullah, Christy, Memoy |
7 | Motion Input UI that does not obscure the screen during gamepla.y | SHOULD | ✓ | Abdullah, Christy |
8 | Descriptive and appealing virtual buttons by integrating skins. | SHOULD | ✓ | Christy |
9 | A general 2D Side Scroller UI that supports a range of such games (Sonic). | COULD | ✓ | Memoy, Christy |
10 | Integrate speech and gestures (i.e. open mouth) to allow more options of triggering in-game controls. | COULD | ✓ | Abdullah, Christy, Memoy |
11 | Implement bodypoint tracking, such as nose tracking to control the movement of the car or game character. | COULD | ✓ | Abdullah |
12 | Implement lower bodypoint control options for users. | COULD | × | / |
13 | Create a general 3D Action Games UI. | COULD | × | / |
Individual Contribution
Task | Christy Cho | Memoy Mishra | Abdullah Saeed |
---|---|---|---|
Project Partners Liaison | 25 | 25 | 50 |
Requirement Analysis | 30 | 50 | 20 |
Research | 25 | 50 | 25 |
UI Design | 25 | 25 | 50 |
Coding | 20 | 20 | 60 |
Testing | 33 | 34 | 33 |
Report Website | 42 | 46 | 12 |
Presentations, Development Blogs, Video Editing | 50 | 25 | 25 |
Work on HCI | 50 | 25 | 25 |
Overall Contribution | 33.33 | 33.33 | 33.33 |
Main Roles | Non-technical Administrator, Report Editor, Tester | Website Report Editor, Researcher, Tester | Lead Programmer, UI Designer, Project Partner Liaison |
Critical Evaluation
Overall
We have successfully fulfilled the initial goals set forth, enabling users to play a variety of FPS, Action and Adventure Games using Motion Input, along with the added functionality of using the same MFC for some particular games (the general driving/side-scroller MFCs). Another significant accomplishment is our development of visual mode (bodypoints visualiser and ghost mode), permitting users to engage with games using their desired configurations. These achievements, along with our other objectives, have contributed to a more integrated and effective solution. However, there are minor challenges that remain and will guide our forthcoming efforts.
Functionality
We created game-specific MFCs for complex 3D games like Lego Avengers and Batman. We created a general driving MFC for driving games like Rocket League and Forza and a general side-scroller MFC for Sonic. Therefore, each of our MFCs have a particular function and each of these utilise JSON files to efficiently store and parse data.
Stability
Our UI uses the Visual C++ MFC Framework which can be used on most computers.
Efficiency
Our game-genre and type specific MFCs make each of them highly efficient. Each MFC also employs exception handling that handles errors and displays appropriate messages.
Compatibility
Since our MFC will be coupled with MotionInput and be made available on Microsoft Store and used on Windows PCs, our choice of using MFC is extremely beneficial. It is also compatible with old and new windows versions.
Maintainability
In the future, uers may download JSONs for newly supported games they would like to play from the Motion Input website and add them to the appropriate folder, after which that game will be available in the drop down menu in our General MFCs. The user may then play these games with Motion Input without any MFC software updates or code changes.
Future Works
Given the time constraints, there are many things we wanted to implement but did not get the chance to. Some of these things included new functionalities and optimisations that we feel would further complete our work and allow for future users to develop upon it more. Here are some of them that could be done in the future:
Enabling lower body parts as bodypoints.
Create unit tests and test MFC components in isolation using Google Test framework.
Enable real-time positioning of on-screen triggers so the user can customise them.