• No results found

4.3.7 3D Visualizations of Formulas

4.3.9 Quiz System

In escape rooms, players are often required to solve a set of tasks and combine their results to progress. The concept of the quiz system was to make users find cartridges loaded with quizzes while progressing through topics. The user needs to win each quiz and place the cartridges together to complete the application. A thorough design was planned and implemented.

Design

The multiple-choice questions from Phase 1 worked well. New ideas for how to make the quiz more engaging were drafted. It was decided to split the quiz into a small series of questions for each topic, to balance time spent learning and doing tasks. It was also decided to integrate more interactive 3D elements in the quizzes to increase motivation for doing this type of task in VR.

4.3 Design and Implementation Elements of the quiz system:

Figure 4.16 shows the quiz system.

• Quiz System Area:This is the area the user is led to after learning about neurons. A manual explains how the quiz works, but it should be intuitive enough to use without reading it.

• Cartridge Player:In the Quiz System Area, a cartridge player is placed next to a projector. This indicates that what the user puts into the cartridge player, will be displayed on the screen next to it.

• Cartridges:For each topic, there is a cartridge. Cartridges are inserted in the car-tridge player. Each carcar-tridge contains a quiz that is displayed on the big screen in the quiz system area. The user completes the cartridge by answering correctly on most questions. The cartridge will then turn green to indicate that it is completed, and the user can proceed to the next topic.

• Physical buttons:When a cartridge is inserted, physical buttons will appear on the floor in front of the big screen. The user interacts with the buttons to respond to the questions.

Implementing new tasks and interactions in VR can be a time-consuming process. The quiz system was designed to be easily extendable with new quizzes, to facilitate the ar-chitectural quality attribute extensibility. The quiz system was carefully planned and is illustrated in a simple ER model in Figure 4.15.

Figure 4.15:Simplified ER model of the quiz system

While designing the quiz system, inspiration was drawn from the MVC (Model-View-Controller) design pattern [61] to enable modifiability. In Figure 4.15, think of the Phys-ical buttons and Canvas as the View. The View is what the user sees and interacts with.

The Quiz Handler and cartridge player together is the Controller, since the Quiz Handler handles user input and quiz progress, while the cartridge player fetches the quiz and for-wards it to the Quiz Handler. Each cartridge parses data from the JSON Quiz Object into C# list elements and provides the necessary data for the current quiz (Model).

To keep a fair balance of learning and doing tasks, it was decided to keep the number of questions for each quiz low (3-8 questions per quiz). The decision to use cartridges and physical buttons were made with hope for engaging the user since he needs to bring the cartridges to complete the overlying tasks of the escape room. The physical buttons were added as an attempt to give a more immersive experience, instead of interacting with a 2D screen. The final design of the quiz system (see Figure 4.16) was made with inspiration from games like BUZZ! [62] and Kahoot [63].

Implementation

The implementation turned out to be one of the more complex implementations of the application. It required a high level of extensibility, modifiability, and usability.

The first step was to implement cartridges so that they could parse JSON data into C# ob-jects. A NuGet package was imported to Visual Studio, and all necessary code for parsing JSON data was written, but this did not work in Unity. That was because Unity is running on an older version of Mono and since Unity generates its Visual Studio solution, which wipes out any NuGet packages [64]. The problem was solved by importingJSON .NET For Unityfrom the Asset Store. After that, the JSON reader was set up to correctly read the JSON files from the correct path on both Android (Oculus Quest) and Windows/Mac.

Figure 4.16:Quiz system with inserted cartridge

The second step was to set up the canvas and models in the Scene, like in Figure 4.16.

A script was written to handle the quiz game flow. When a user responds to the quiz, a new view gives feedback on the response’s correctness (see Figure 4.17). A strong color shows if the user’s response was correct or not. Since some questions had multiple correct answers, these were indicated with a weaker green color. The first version had no sound effects, but this was added after minor user tests to follow Don Norman’s design principle for feedback [30, chap. 1]. In the initial design, the user was meant to press any button again to go to the next question. During the minor user tests, some users did not find it intuitive to press the same buttons to proceed, since the interaction was confused with responding to the quiz. The answer feedback was instead shown for 2 seconds before going to the next question, to improve the affordance of the physical buttons.

4.3 Design and Implementation

(a)Correct quiz response (b)Incorrect quiz response Figure 4.17:Quiz response feedback

Finally, a threshold for the minimum amount of correct answers was set. It was set to a minimum of 80%, to make users retry if the score was too low, but not lose motivation if only one answer were wrong. A bookshelf was placed with one spot for each cartridge to indicate the application’s final goal (see Figure 4.18.

Figure 4.18:Bookshelf indicating the final goal of the application