## 6 Creating and Deploying Applications Over SARA: The Case of a Collaborative Voxel-Based Game  
This Section presents an overview of the application development process based on SARA by using a case approach. The chosen case is a collaborative real-time voxel-based construction game, in which several users equipped with wearable and mobile devices may collaborate locally to achieve  
Figure 11: Data model of the Events required for each Collaboration Model. a common goal, by following different collaboration models (_unconstrained_ and _turn-based_ ones). The development case thus features specific design requirements that enables showing how SARA concept may provide to the development workflow. This prototype was inspired by Minecraft [34] and its more recent one implementation, Minecraft Earth [35]. In the original game, the player controlled a digital avatar inside a cube-based (voxel) world. Then, she can add or remove these cubes for creating landscapes and structures. In the Minecraft Earth implementation, the voxel world is constrained to a small surface and it can be viewed by means of Augmented Reality. Thus, in our prototype several players will work together on a piece of land, to which they can add or eliminate cubes in a collaborative manner. By default, a simple landscape appears, as a starting point for the users. From there, they can use three simple tools to manipulate the aspect of the world. These three tools are: (i) a shovel used to remove the cubes, (ii) a brush used to change the type of one cube and (iii) a block adder, which will add a block in the desired point. This small prototype has a self-contained functionality that allows all the SARA capabilities to be easily applied. All the logic of the application, has been implemented using the Unity environment and initially it was only focused to be for a single user, allowing the participant to click on the screen to interact with the world. Thanks to SARA, AR collaboration capabilities can be easily added. To illustrate the developing process, we propose the combination of HoloLens (for wearable AR) and two iOS devices (an iPhone and an iPad, representative of hand-held ones). Table 2 gathers the main features of this prototype. The development process can be summarized in 5 steps: (1) configure and launch the Communication Service, (2) implement the main logic of the application, (3) create the SARA clients, (4) add specific logic to those clients and (5) selecting and applying the Collaboration Model. Figure 12 gives an overview of this process identifying the main tasks in each of the steps. Next, each of those five steps will be presented in more detail. 1. **Communication service configuration:** the first step is to launch the artifact that represents the _Communication Service_. In this case it consists of a Node.js application that has to run on a computer. This is one of the artifacts that have already been generated when designing SARA and therefore do not require implementation. \begin{table}
\begin{tabular}{l l} \hline \hline Common Objective & To have fun while creating structures and \\  & landscapes together \\ \hline Individual Objectives & Not specified. Users may distribute the work while playing \\ \hline Number of Users & Unlimited \\ \hline Location of the & \\ Collaboration & Mainly local \\ \hline Involved Devices & Computer, HoloLens and iOS devices \\ \hline Collaboration Model & Unconstrained model, users will have to agree the \\  & actions. This is done to mimic the operation \\  & model of the original Minecraft. Turn-based model \\  & also makes sense in this context \\ \hline Temporality & Real time \\ \hline Interaction Capabilities & All users have the same capabilities: selection \\  & of the tool to be used and selection of a point \\  & in the voxel world to apply the tool action \\ \hline AR Content Alignment & The content alignment is done through 2D, \\  & physical marks \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Features of the voxel-world game prototype. 2.