User Interface

Originally we decided to go for a sci-fi themed UI, however, after completion we concluded this was not aesthetically pleasing. Therefore, we switched to a cartoon UI. We have changed the majority of the UI features. Some features proved much more difficult to change due to the limited capabilities of the asset pack we purchased from the Unity Asset store, therefore is still integrated under the sci-fi theme. Overall the user experience is much improved from what it once was, however, work is still needed in this area. This area would benefit greatly from someone with artistic abilities, a skill our team lacked.

Functionality

Viewing our game from the perspective of a computer scientist, it is easy to see we have made some great strides in our functionality development. We have integrated the game with IoT devices using Node-Red, allowing us to communicate information to the players through the likes of Amazon Alexa. We have implemented IBM Watson’s Personality Insights so that we can garner the characteristics of our users, we then use this to personalise the game by adjusting the attributes of the player accordingly. Our in-game chat has also been supplemented with IBM Watson’s Speech to Text, this allows players to talk into their microphone and have this translated into text for other players in the game to read.

However, from a user standpoint functionality may seem lacking, the gameplay of the game is currently slightly underwhelming, it is playable, however, it is lacking a story or quests, it is currently just a space empire game with one mission, conquer the universe.

Stability

Our codebase seems to be very stable, throughout the process we have done testing on our game components in search of bugs. This means that the current game version is free of most bugs and is relatively stable.

Efficiency

As a whole the efficiency of our program is optimal, when we have used algorithms we have tried to reduce the time complexity where possible, however, there are certain areas that could do with improvement. These problems are not to do with a lack of ability to reduce the time complexity, but because the path to reducing time complexity comes with unforeseen complications. This is especially prevalent when it came to database handling. Over the course of the project, it has become transparent that there are flaws in MongoDB, that circumvent our ability to improve the efficiency of the program.

Compatibility

Our game is compatible with all operating systems. If we were to extend compatibility in the future, we would extend its capabilities to include mobile phones, as the hardware requirements of our game are low.

Maintainability

We have made every effort to improve the maintainability of our software. Due to the abstraction, we have performed, extending the codebase is very simple. For example, all player attributes can be obtained by accessing the Attributes class. If you need data from the databases, we have a network package containing a DBController which has static methods for accessing each of the databases independently. We have kept all our functions short and concise, and we have commented code as applicable. If other software developers were to extend our code, they would do so with ease.

Project Management

Where possible we have always applied the best practices in all sectors of project management. When concluding research, we made sure our test user group was varied, and we rigorously adhered to the best interviewing practices. Once we performed our requirement gathering, we consistently scrutinised the requirements to make sure they were adequate and would stand the test of time. Of course however even with the best planning, issues arise, and we have had to readjust as necessary. But we stood together as a team and performed this to the best of our abilities. Which has resulted in excellent project management.