## 2 Materials and Methods
### System
#### 2.2.3 Game Development  
Unity 3D [61] was selected as the game engine [60], in which the entire software was developed. Based on a rapid prototyping methodology, there was a functioning prototype in a very short span, enabling the team to interact with and improve the system dynamically. Figure 5 shows the systemic approach created demonstrating the inputs of the system, the outputs and how they interacted with the MOCAP elements described previously. Knowing the framework that would be used and marking off the environment where the user could interact with the power substation elements, the following points were taken into account. Every object in the virtual world had to have a boundary box, where the user could not pass across the physical elements of the station, as a worker could not cross a machine in real life. To this end, the basic physics colliders provided by Unity 3D were used, giving a quick and efficient solution to create boundaries. Taking advantage of the provided colliders, interaction with the different machinery was designed so that they would be used through a ray-casting approach, where the user \"pointed\" to the element to interact with. This element was highlighted and, by pressing the defined button, the element performed the intended interaction. For interactions to be achievable, the system required inputs to be given at any time by the user. By definition, the simulation should work on three defined platforms, namely, a CAVE environment, an HMD and a desktop computer, thus limiting the options to the 6 DOF wand controller, USB gamepad and keyboard/mouse, respectively. In this work, evaluation (see Section 3) was only performed on the CAVE version. Future works could include a comparison with the HMD version. The game was designed following a first-person perspective with an explorative interaction typology [26]. This typology allows the user to explore and to interact freely with the virtual environment. Usually, it requires the complete development of the VR environment (which was the point of using a BIM model). Two kinds of interaction methods were defined, trying to keep simplicity and usability in an environment unknown to the test users. These methods were used to perform all the tasks in all of the missions. First, there was the \"point and click\" interaction, that was identified with the change in the colour  
Figure 5: Game logic structure implemented in the game engine. of the object. This interaction showed how the elements were displayed and how the user could understand the purpose those objects served inside the particular mission. Figure 6 (top) shows an example of an interactive whiteboard, where the mission to be performed was explained to the player (technicians must use it in real operations). The whiteboard was only filled after user interaction with this element. This was a method to guide the user during the game. Another interaction created inside the system was the \"point and select\" used by the operators to select an option inside a graphic user interface (GUI). These elements were displayed on screen when there was a decision to be made but no \"real\" element to interact with. Figure 6 (bottom) illustrates this method. In this particular case, the adequate personal protective equipment PPE had to be selected in a specific order to be able to continue with the mission. To test the performance of the users, three different missions were established within the game structure, each of one resembling real activities that sub power station operators had to perform in their daily routines. Missions had different difficulty levels, so each successful mission allowed the next mission to be performed. In the first one, the user had to perform an indoor medium-voltage switchgear maintenance on an outgoing feeder (any CBx2 in Figure 1). It included CB switching operation coordinated with the control centre and CB withdrawal and re-connection after maintenance, according to electrical utility instruction sheets and operations procedures.