Technisch Ontwerp - T3rabyte/Examen GitHub Wiki

General

For our design we wanted to make an educative game that could be played in multiplayer and decided to make it in the style of a quiz. around this we built the idea of having a room with interactive monitors on which the quiz would be played along with some other extra features like the antivirus the, popup and the social media page. we also decided very quickly to use FishNet for the multiplayer.

Quiz & mail system

1st version

At first we decided to make the quiz system system by making an array and having the user be able to set each question in the editor and set for each question whether they are true or false, the contents of which then get displayed in a random order. through use we found out that having to set each question manually was a pain and that it felt a bit too basic as it didn't allow for any markup of the text.

Later when we thought of the emails system we reused the framework from the quiz system and changed it a round a bit to suit the new function.

2nd version

because of our findings in the initial version we decided to change it to use JSON to fetch the text we needed from separate filees put in StreamingAssets which did allow for markup and made it easier to set the true or false values since it gave a better overview of which is what.

3rd version

We have incorporated a valuable feedback mechanism based on user tests, where participants expressed their desire to receive feedback regarding their incorrect answer choices. They emphasized that such feedback would greatly enhance their learning experience, allowing them to understand their mistakes better and gain insight into the appropriate actions to take. To address this feedback, we have leveraged our existing popup mechanic, which enables a popup GameObject to appear whenever an incorrect answer is selected. To facilitate this implementation, we have extended the functionality of the existing script to accept an additional argument for feedback.

In order to provide the necessary feedback, we have utilized the JSON explanation field which we added in this version, which contains explanations for each statement as to why they are true or not. We have integrated this information into the newly added text field on the popup, ensuring that it displays the explanation associated with the loaded statement from the array. Consequently, whenever a new statement is presented to the user, the corresponding explanation is automatically retrieved from the JSON data and displayed in the text field of the popup which activates on an incorrect answer being chosen. This approach ensures that users receive immediate and informative feedback to help them comprehend their errors and guide their future decision-making process effectively.

By incorporating this feedback mechanism, we aim to enhance the overall learning experience of users, enabling them to grow from their mistakes and develop a deeper understanding of the subject matter. This iterative improvement aligns with our commitment to user-centered design and continuous enhancement of the quiz application.

4th version

To accommodate different reading speeds, we implemented a feature in which, after answering a question incorrectly, the game waits for the player to close the explanation before moving on to the next question. This allows players to read the explanation at their own pace and ensures they have sufficient time to comprehend the information provided.

More detail can be found in quiz & Mail system

We also added a system for the user to add, edit and remove questions and emails from the game. Due to the passing of time certain cyber risks might become a bigger problem or hackers find different ways to hack people. Since we won't be able to keep updating the game with these things in mind its now possible for the user to do it through the game and not by editing a file in a maybe hard to reach location in a coding language they might not understand. They can find this by pressing options in the main menu.

To make it easier for people to understand what objects they can interact with we added a system that shows the outline of intractable objects when they hover over such object. This should give clearer feedback to what object they can interact with.

intro cinematic

1st version

in this version the intro cinematic always plays at the beginning of the game and has to be watched until completion

2nd version

in this version we added the ability to skip it and added a UI element notifying the player of this. we decided to add this becausee after looking back at the product we had in the retrospective and during usertests we realised how annoying it can be to have to watch it for nteenth time even if the cinematic was well received.

Lobby & MP system

This aspect of the game uses Fishnet, we chose fishnet because it suited our needs the best. This feature took the longest to complete because of it's sheer complexity which we severely underestimated at the time we started our project, we only realised how much time it took during the second sprint which was also where we decided to change to unity relay but not stop focusing on it which was something we should have done to free up time for other aspects of the game.

68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f313038393833353339353039383836393832322f313131303138383239383732343434323139342f657a6769662e636f6d2d766964656f2d746f2d6769665f 68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f313038393833353339353039383836393832322f313131303138303530363532353531393931322f657a6769662e636f6d2d766964656f2d746f2d6769665f 68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f313038393833353339353039383836393832322f313131303137393634353834353935303437342f657a6769662e636f6d2d766964656f2d746f2d6769662e