Open access peer-reviewed chapter

Collaborative XR Systems and Computer Games Development

Written By

Branislav Sobota, Marián Hudák and Emília Pietriková

Submitted: 29 October 2021 Reviewed: 25 May 2022 Published: 18 June 2022

DOI: 10.5772/intechopen.105555

From the Edited Volume

Computer Game Development

Edited by Branislav Sobota

Chapter metrics overview

95 Chapter Downloads

View Full Metrics

Abstract

Computer games and, of course, the development associated with them have been in the spotlight for many years; recently, also with technologies, such as virtual reality or extended reality. The main part of this chapter presents the classification of collaborative XR systems, the concept of the major application architectures and the consistency models of shared virtual game environments. The next subchapter briefly deals with the sharing of property ownership. The mentioned concepts and examples used in the chapter are implemented in many works and projects using a collaborative environment (also in gamified form) developed in the laboratory LIRKIS, the home laboratory of the authors. The knowledge presented in this chapter may provide tips and inspiration for some other game projects, and practical and useful notes on the advantages or disadvantages of some systems will be interesting and useful.

Keywords

  • extended reality
  • virtual reality
  • mixed reality
  • augmented reality
  • web-based collaborative environments

1. Introduction

The development of computer games, the gaming industry in general, is “the driving force” in many ways behind the development of many technologies. From this point of view, perhaps the most important part of a computer game is its core. Its performance also determines the performance of the game itself. However, from the point of view of playability and game immersion, the interface of the computer game is also extremely important. Here is a very modern usage of just new technologies, one of which is virtual reality (VR) and its related technologies. Virtual reality interfaces represent a wide range of devices, applications, and ways to connect the user to the target game system. Recently, the current development of VR interfaces and systems has progressed in improving human–computer interaction (HCI).

In fact, there are three basic technological bases of systems that are used as a standard in accessing and interacting with users with three-dimensional environments or computer game objects. Each of these systems can work with a virtual context, but it differs in the way of displaying and controlling.

  • Virtual reality (VR) is the first system with a fully immersive virtual environment. The basic definition says: “Virtual-reality system represents interactive computer system created an illusion of synthetic (virtual) space in real time based on total simulation within the environment of close relation human – computing system.” VR systems provide a better experience and they are more interactive, but the complexity of their implementation is greater. VR subsystems are mainly divided according to the senses that affect: Visualization subsystem, acoustic subsystem, kinetic and statokinetic subsystem, touch and contact subsystem, and other senses (e.g., a smell, a taste, and a sensitivity to pheromones). There is not much reason to implement some senses (which are commonly perceived in the real world) in the virtual world. For example, the taste is one such sensation at present. Through VR systems, the immersion of the user in computer games is controlled mainly at three standard levels: Visual, audio, and touch. Each of these levels provides a relevant way of feedback depending on the context of the virtual (gaming) environment.

  • Mixed reality (MR) represents another system focused mainly on the virtual objects synthetization into the user’s physical space. Immersion levels in MR systems are identical to VR systems. However, the main difference in the way of interaction is the control of the synthesized (virtual) objects by means of gestural inputs based on the user’s hand sensing. Due to the detection of physical space, MR systems are extended by spatial recognition technology. Through this technology, it is possible to achieve detailed observation of synthesized (virtual) objects. MR-based computer games represent an extremely innovative way. Virtual game objects are embedded in the real world and the experience of the game by players can be very emotional.

  • Augmented reality (AR) is a system closely related to the recognition of information in an image due to the placement of virtual (three-dimensional) objects. Although AR systems use the same level of immersion as VR and MR systems, a difference is in the processing of visual feedback. This is primarily tied to the image information, which must be consistent and recognizable to achieve the desired interaction. Collaborative virtual reality systems are created to share user interaction and common virtual space. The main task of these systems is to provide a shared environment to multiple users in real time, as well as to ensure the sharing of interaction and communication. Despite the present technological advances and a significant improvement in the immersive properties of VR, MR, and AR systems, there is a need to unify their software compatibility. The solution of this problem is to make a common application platform available for different types of systems, regardless of their differences and methods of interaction.

As mentioned in Ref. [1], the existing VR, MR, and AR systems are beginning to merge under the area of innovative extended reality (XR), where “X” refers to the variable use of any of them (Figure 1). Thus, the current development of independent application platforms approaches the unification of these systems to the level of XR. The unification of VR, MR, and AR systems into the XR group creates a high presumption of improving user interaction and the level of immersion in a computer game.

Figure 1.

XR system.

According to Beglund [2], XR usage focuses mainly on interaction via wearable devices or sensory inputs. Huzaifa [3] highlights the potential of the XR interface in using hand gesturing inputs, which he considers necessary to achieve a fully natural interaction. XR extensions to support the web platform are also entering the realm of virtual collaboration. Today, the WebXR standard makes it possible to access XR devices via web browsers. This reinforces the creation of web systems with a wide range of interactions and inputs [4]. Seo [5] considers WebXR to be widely applicable mainly to support a wide range of interaction techniques. In this way, it is possible to extend the web application level for different purposes. According to Anthes [6], the use of web technologies for the VR application sphere is necessary, especially due to the current hardware and software diversity. This is also confirmed by Wang [7], who justifies the need to implement a web platform for the use of heterogeneous VR devices. The emergence of web VR applications has contributed to the expansion and globalization of collaborative virtual environments, including gaming environments. Paiva [8] attributes high potential to the deployment of web collaborative environments for the purposes of education and training, where it positively evaluates the benefits of sharing user/player interaction.

Using web platforms to share virtual environments and user interaction is possible, thanks to a high level of network infrastructure and technologies. In this way, systems are rapidly formed to support global virtual collaboration, where players can access a common virtual gaming space. The main advantage of the availability of such a system is the ability to connect players regardless of their actual geographical location in the world. Another advantage results from the refactoring of functions and modules of the web system. This refactoring is significantly faster and more efficient than in standard VR, MR, and AR applications. Despite these advantages, there are limitations to these systems that need to be solved.

The globalization of web systems increases the assumption of their use by a large group of users. This increases the probability that users will access the web system by using different types of devices and operating systems. In this case, there is a growing need to improve the adaptive features of the systems and their user interfaces so that they can provide the same control functions for different types of hardware and software platforms simultaneously according to the capabilities of individual players.

In collaborative virtual reality systems, multiuser interaction is shared in real time. This is necessary for many games. Given the context of a shared environment, there are ways to manage the interaction by which groups of players together access shared objects. As these systems continue to expand with different types of interactions and functions, there is a growing need to improve the management of interaction techniques. Typical examples of extensions are physical and simulation subsystems or hardware components and control elements. The main problem occurs when multiple users/players use concurrent-subsystem-generated properties of shared objects or environments. In this case, a collision in the calculations may occur, and the shared interaction or virtual objects will be inconsistent. In the case of sharing the physical properties of objects, their chaotic behavior is often observable, while their consistency is different for each user at the same time.

Synchronization of shared interactions is highly efficient when a client–server network architecture is used. The sharing of interaction between players (clients) is controlled by a centralized computing node (server). The server provides information about the state of the virtual gaming environment for all clients in real time. The centralized compute node obtains data about each user’s interactions. Then, it sends them to all members of the collaborative game group. The problem of sharing interactions is often associated with player-side resources/devices performance. These fully affect the rendering of the virtual environment, the processing of data from the server, and the control of the player’s interaction. Insufficient computing performance of the user resources/devices is manifested by latency, which reduces the quality of collaboration. Therefore, it is necessary to focus on solving this problem area.

In the following subchapters of this chapter, the collaborative XR systems classifications are presented, followed by the concepts of the main application architectures and virtual game environment sharing consistency models. In conclusion, we briefly touch on object ownership sharing. The mentioned concepts and examples used in the chapter have been implemented in many works and projects (some examples are presented in the chapter too) using a collaborative environment (in a gamified form too) in the LIRKIS laboratory. The LIRKIS laboratory is a laboratory at the authors’ home institution (Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics, Technical University of Košice). The authors hope that readers will find here many tips and inspirations for their own work and they will also use practical notes on the advantages or disadvantages of individual systems.

Advertisement

2. Classification of collaborative XR systems according to availability

User collaboration is significantly affected by the availability of systems that provide a shared virtual environment. In fact, the availability of collaborative virtual environment systems is classified according to the local or global access of users/players, as well as their physical or remote (virtual) presence.

Collaborative XR systems are divided depending on availability into the following categories:

  • Locally shared systems with centralized access,

  • Locally shared systems with separate access,

  • Globally shared systems.

Each of these categories has specific properties related to user access to the target system, the sharing of users’ interactions, and the resources needed for a possible gaming environment implementation.

2.1 Locally shared systems with centralized access

Locally shared systems are related to the physical presence of players within a shared game space. Sharing the local environment by centralized players’ access is equivalent to using a virtual cave system [9] (Figure 2). It contains a physically accessible environment with the possibility of players’ group full immersion in real time. According to Nguyen [10], in a virtual cave system, the way of natural interaction between users is highly efficient and realistic, without the need to implement virtual avatars. Users cooperate in a jointly physically shared space. They are here realistically visible to each other [11]. According to Back [12], communication between users is in a natural way, without the need for external technology to share communication. In this case, any latency in users’ communication with each other is excluded.

Figure 2.

Locally shared environment with centralized user access (LIRKIS CAVE virtual cave environment).

When using a locally available system with centralized user access, there are two basic types of interfaces (Figure 2), which are as follows:

  • User interfaces providing in-game player’s interaction with a shared virtual game environment [13]. They represent input subsystems for the control of the virtual environment (e.g. touch interfaces, haptic controllers, sensor devices or gesticulation inputs).

  • Application interfaces, the purpose of which is to obtain and process players’ interactions and then submit them as feedback (visual, audio, and haptic). These interfaces provide program control between players’ inputs and their subsequent processing into system outputs [14].

On the other hand, there are several limitations closely related, in particular, to the physical dimensions of such a system as well as to the multiuser interaction. In the case of virtual cave systems, the number of users collaborating/playing in real time is strictly limited. Another problem is the significant limitation of scene rendering for each user individually, mainly due to the use of stereoscopic visualization. The increasing number of users significantly multiplies the demands on the computing system performance due to the need to monitor their activity and movement simultaneously.

2.2 Locally shared systems with separate access

The local environment sharing using a separate user approach is the second way to collaborate within a common physical space. Different types of XR systems can be deployed with separate user access [15]. These systems can represent different data helmet technologies that communicate with each other via a communication node (Figure 3). The communication node creates a connection between separate systems, and it ensures the distribution of data. By default, the communication is controlled by using a local area network or another wireless standard. Nowadays, this type is quite popular in terms of games.

Figure 3.

Locally shared environment with separate user access (LIRKIS DCI FEEI TU Košice).

Each player is able to access the shared gaming virtual environment using their own separate system [16]. The most suitable for games is the deployment of XR systems using wireless technology, as it frees players from bonding to cable technology.

Unlike virtual cave systems, visual interaction is needed in this case [17], as users/players are not naturally visible to each other (unless MR systems are used). According to Horst et al. [18], users need to be replaced with virtual avatars. Then users/players in the virtual environment can communicate visually via these avatars. Furthermore, it is necessary to monitor the movement of users/players to avoid their physical collision during collaboration [19]. Today’s XR technologies mostly include integrated free movement tracking subsystems that do not require the introduction of external technologies. The physical movement of the player is sensory processed by the integrated subsystem, and then, it is sent to the shared game virtual environment.

User’s/player’s interaction is created depending on the hardware technology used. Haptic and gestural input interfaces are most often used. The players are able to control and manipulate shared virtual objects with them.

Separate computing systems usage as, for example, data helmets give users/players much more freedom of movement and work with the broad context of the virtual game environment [20]. In this case, users/players move independently of each other, and they perform different types of activities simultaneously [21]. The group of collaborating users/players can be much larger than in virtual cave systems due to the use of separate computing systems.

2.3 Globally shared systems

Sharing virtual environments with global access is mainly based on the resources of the internet and web technologies. According to Du et al. [22], by sharing globally available collaborative environments, it is possible to reach a large group of users for remote collaboration. This, of course, is also expanding the gaming business.

Global collaborative virtual environments use the computer network infrastructure (Figure 4). The users/players can interact with each other via this infrastructure. Instead of local physical space, globally shared space is used. Each user/player is able to access this space via a separate computing system [23]. Users/players connect to the server node via the network infrastructure, within which they communicate and interact with other users/players or game environments in real time [24]. Independence from the physical space of the user/player is the main advantage of these environments.

Figure 4.

Globally shared environment (LIRKIS DCI FEEI TU Košice).

Globally shared environments are highly efficient in terms of sharing large-scale users/players activity as well as multipurpose deployments [9]. The most common problem in global virtual environment sharing is platform independence [25]. It is as a result of globalization that the demand for multiplatform compatibility is growing, which clearly needs to solve the availability of such environments for multiple and also different user devices and systems. As the development of new XR technologies grows rapidly, it is necessary to ensure the adaptability of systems and user interfaces so that they are able to handle new technological innovations. Optimization of data sharing is also most needed, as the problem of latency between users increases in the case of a global connection. Solving these problems can positively contribute to the expansion of virtual collaboration for any purpose.

Advertisement

3. Concepts of application architecture

An accurate application architecture concept is deployed for each of the user interaction sharing systems. The main task of this concept is to ensure the distribution of user data as well as an event sharing in collaborative virtual environments. In fact, different types of application architectures are deployed. The concept of these architectures depends on the network infrastructure and user connections.

Although each of the architectures is specific for its typical features, it is very rigorous to consider its advantages and disadvantages when using its concept. Therefore, the application architecture in systems of collaborative virtual environments is often adapted to the needs of the intended system. When creating multipurpose environments, it is possible to apply standard types of architectures without their components changing. However, extensions and modifications to application architectures are necessary for specific purpose environments.

3.1 Architectural model client: server

This architectural model uses the data centralization between users (clients) at the level of one common communication node (server). This type of application architecture is applicable to all types of collaborative virtual environments, and it is also popular in game applications.

The server (Figure 5) is responsible for obtaining and mediating each data/information submitted by the client and for their centralization. According to Doležal [26], the client–server architectural model use is required if targeted distribution of data among clients and management of their access is necessary. The main logic of virtual collaboration data sharing is, therefore, implemented primarily at the server level. It makes it possible to provide interaction data, solve different hierarchical levels of clients, operate possible data collection, and maintain a consistent collaboration [27]. Another advantage is the ease of clients’ computing performance. Then, it is possible to use their available “power” just for the simulation of the collaborative virtual gaming environment.

Figure 5.

Topology of virtual collaboration with the client–server architectural model.

The client–server architectural model use is fully dependent on the performance of the centralized node (server). Due to the increasing number of clients, higher demands on server performance are required. The server, therefore, mainly deals with data processing and replication among clients. To reduce the calculation requirements, it is possible to influence the interval of data sent by clients during the game or virtual collaboration [28]. Another way is to limit the number of active clients within the server performance capabilities.

If any of the specific subsystems are deployed on the client side, then the data from the subsystems are also replicated among the other clients. A subsystem may be represented by either a program unit or a device that is used additively and provides some of the whole system’s additional functions (e.g., artificial intelligence and speech recognition).

The following subsystems can be considered as subsystems connecting to the client–server application architecture for the purpose of virtual collaboration:

  • physical shared subsystem,

  • the equipment operating on a sensor basis (sensor network),

  • the application with the generation of data, events, and phenomena for the game environment.

Each of the subsystems can be represented by a specific module on the client side. Then, it is necessary to develop an optimal way of communication with other clients. Dias [29] highlights the potential for dynamically adaptive client–server architecture development. It can contain interfaces for obtaining data from various subsystems and its subsequent transformation for the virtual collaboration needs. The disadvantages of the mentioned architecture depend on the data centralization level. Increasing the number of interfaces at the server level can lead to frequent system-wide service outages or latency in the data processing. According to Khalid [30], these problems can be prevented by data size optimalization using compression.

3.2 Architectural model peer-to-peer

The second architectural model used to share virtual collaboration is the peer-to-peer model. The basic difference from the client–server model is the absence of a node (server), which centralizes the information provided by clients and their subsystems. Data sharing is replicated each other among clients (Figure 6). Each client actively sends its own data to all users in real time. The use of a peer-to-peer architecture is most suitable for data sharing only within smaller user groups [4]. Typical examples are environments/games with a limited number of users/players. This condition applies to both local and globally shared virtual environments.

Figure 6.

Topology of virtual collaboration with the peer-to-peer architectural model.

When using the peer-to-peer model, the precondition for the emergence of requirements for higher performance of client devices is here, especially for the need to ensure communication with other clients [31]. In this way, it is complicated to optimize the client’s performance so that an effective level of interaction as well as visual feedback can be achieved.

Data consistency is compromised when sharing user interactions if clients approach a collaborative environment with devices with different computing performances. In this case, there is a problem in synchronizing the multiuser interaction. Clients with higher computing performance are able to process interactions much faster compared to clients with low computing performance and high latencies. It is difficult to synchronize client interactions without losing any shared data [32], due to the absence of a central node (server). Another problem arises when globalization of such an architecture is needed. It is necessary to use a centralized communication node in global systems with a peer-to-peer architecture. Without its use, different latencies with high deviations can occur among clients.

This problem can manifest itself in a high inconsistency of shared data. This can be quite a problem, especially in action games. Due to these complications, the use of peer-to-peer architecture is only possible in purpose-specific environments with a limited number of users.

Despite the mentioned disadvantages, it is necessary to emphasize the principle of using this architecture as a suitable solution in the case of systems based on the client–server architectural model [33]. For the needs of failure of securing client connections in the event of client–server architecture failures, it is appropriate to use the peer-to-peer architecture as a backup mechanism for sharing game data or communication among players.

3.3 Distributed server architecture

There are cases when it is necessary to process complex databases or nonstandard data types. In the case of virtual collaboration, the deployment of virtual environments for specific purposes is often present. For example, in addition to the standard architecture, it is necessary to connect clients to other separate server nodes (e.g., to payment systems of games).

Simultaneous data transfer among multiple clients and servers is provided by the distributed server architecture, as shown in Figure 7. An example is the sharing of modeling CAD/editing systems [34]. In them, virtual collaboration depends on several externally available servers. Each of the servers is responsible for providing specific functionality. Then, it deploys full computing performance for this functionality. The main goal of the mentioned architecture is to separate the primary functionality associated with the virtual collaboration game and the secondary functionality providing specific data [35].

Figure 7.

Topology of using distributed server architecture in the concept of virtual collaboration.

From a topological point of view, a distributed server architecture consists of at least one primary and one secondary server. The primary server manages clients’ accesses, manages the sharing of user interactions, and ensures the availability of a common virtual/game environment. The secondary server is associated with different types of subsystems. These are used in addition and they need separate computing performance. The secondary server processes complex data needed for collaboration or game details.

During the collaboration, the data obtained from the server nodes are sorted and passed only to the specified context of the game environment [36]. The integrations of data from external servers (e.g., the weather conditions, the existing systems status, the notification, and payment data and records or the nodes with artificial intelligence for bots control) are frequent in simulation game systems.

However, if the primary and secondary servers were centralized in a single server, their level of reliability and services would be severely affected by computing performance decrease. This would also significantly limit its performance for complex computational operations.

Advertisement

4. Consistency models for sharing virtual game environments

To use specific application architectures, it is important to ensure the correct consistency of the virtual environment. In collaborative virtual environments, users/players perform various types of activities. These activities affect the modification of shared content, that is the virtual game environment. Ensuring consistency means that in case, any change is made to shared content by one user/player, this change will be visible to other users/players at the same time [37]. At the same time, the state of the virtual environment will be equivalent for all users/players after the change is made.

Consistency is directly related to the synchronization of virtual content between all users/players simultaneously. However, in this case, a problem arises if a group of users/players uses devices with different computing power as well as different network connection bandwidth. As stated in Ref. [38], there is a strong assumption that users with higher computing power and bandwidth could be prioritized when performing any interaction. This would strongly increase the number of conflicts between the activities of all users/players as well as misunderstandings in playing together.

To solve the mentioned issues, consistency models for sharing virtual environments are introduced, the main purpose of which is to manage and synchronize concurrency among user/player activities when working with virtual content.

4.1 Model of centralized virtual environment

Ensuring consistency of sharing through the centralized virtual environment model is primarily applicable to client–server application architectures (Figure 8). Every user/player accesses the centralized virtual environment through a network connection.

Figure 8.

Consistency model of centralized virtual environment sharing.

Consistency management is ensured by the following rules, as depicted in Figure 8:

  1. Once connected, every user/player will receive a replication of the entire virtual environment, including its current state.

  2. All connected users/players can perform object modification simultaneously.

  3. After the modification, the centralized virtual environment is updated and the change is replicated to all users/players.

The main benefit of the presented consistency model is the ability to synchronize users/players through a centralized node, tracking all the modifications of shared objects in real time [39]. This mechanism is suitable for the needs of concurrent collaboration management, where it is necessary to quickly record the modification of virtual content and then replicate its status. Every change in the state of the centralized virtual environment is continuously recorded. After users/players disconnection, the last modified state of the virtual environment is preserved and is available for future collaboration [38]. From an implementation point of view, the centralized environment is easily customizable and distributable among all users/players in real time.

On the other hand, there are several principal limitations related to user access sharing and consistency management. A centralized virtual environment must be always available since it is the main source of virtual collaboration [40]. Although the service of this consistency model is easy to implement, it is important to optimize the centralized virtual environment for the needs of multiplatform access of users/players as well as XR technologies.

4.2 Model of actively replicated virtual environment

The data management consistency through active data replication among users/players is topologically identical to the peer-to-peer architecture. In the case of an actively replicated virtual game environment, consistency sharing is different because it is handled on the side of every user/player separately.

To maintain data consistency, it is necessary to implement a communication node (Figure 9). This is important mainly due to the need for global collaboration, as a result of which this model can be considered a hybrid with the client–server architecture [41]. Using the communication node, data consistency and user/player activity can be quickly sent and compared.

Figure 9.

Consistency model of active replication virtual environment sharing.

The model of an actively replicated virtual environment is controlled by the following algorithm, as depicted in Figure 9:

  1. Before connecting, the shared virtual game environment must be programmatically present on every user device with the same initial state.

  2. Once connected, only active data replication occurs between users/players via the communication node, not centralizing the data.

  3. In case a new user/player joins the environment during the virtual collaboration, other users/players automatically replicate the current state of the virtual environment, with all the changes performed during the collaboration.

  4. Modification of the virtual content can be performed by all users/players simultaneously.

  5. If one of the users/players modifies some specific content, he replicates this event to the other users/players as a whole.

  6. After completion of the collaboration, the latest state of the environment is not retained for future use.

The benefits of this consistency model can be considered to be the high efficiency in synchronizing users/players, where the communication level is conducted directly, without processing by a third party [42]. This is desirable for some games. Despite the presence of the communication node, this is not data processing, but only replication to other users/players. Due to the close connection between users/players, it is possible to achieve a faster way of synchronizing and sharing collaborative activities.

Given the negatives, we can state that the growing number of users/players directly increases the requirements for the computing power of their devices. To extend the virtual collaboration systems with XR technology, it is necessary to emphasize that each of them has significantly different computing power. Therefore, the usability of active replication in sharing a virtual environment for a group of XR technologies is insufficient. Another resulting problem is the congestion of the communication level in case the given consistency model would be deployed for global use. In conclusion, this model can be considered effective only if the number of players does not change rapidly during the collaboration as well as the number of players is low.

4.3 Model of distributed virtual environment

In terms of data consistency, the sharing of distributed virtual environments is closely related to the model of centralized virtual environment sharing. From a topological point of view, the same client–server architecture is deployed (Figure 10). It is extended by an additional (secondary) centralized virtual environment.

Figure 10.

Consistency model of distributed virtual environment sharing.

The primary centralized virtual/game environment, which provides the sharing of the main collaborative space, is considered to be the main one. The purpose of this space is to ensure the general existence of users/players and provide management of interactions and user/player entities.

Secondary environments provide an extension of virtual collaboration with specific virtual content. Their use would not be possible without primary environments since they are intended to broaden the context of collaboration. By combining the primary and secondary environments, a fully distributed collaborative virtual gaming space is created.

The algorithm of the data consistency management is identical to the algorithm of the centralized virtual environment model. Each of the users/players uses both the primary and the secondary environment, while the secondary environment work consists only of the content that is currently needed [43].

The main benefit of distributed virtual environments is the separation of general-purpose development from specifically defined functionality [44]. The same is true for mediating the virtual content and consistency at two levels of collaboration, which specifically controls user/player accesses and interactions. Due to the complexity of two interdependent environments in parallel, the application of such a consistency model is significantly challenging, mainly due to the problems of their joint synchronization [45]. Another negative is the need for duplicate development of system and user interfaces, especially if their intention is to support XR technologies.

Advertisement

5. Data ownership sharing

Data ownership sharing is the main mechanism for data consistency in managing multiuser interaction. Its aim is to ensure the transfer of virtual content among multiple users/players in real time [46]. Ownership of virtual content is applicable at the level of any application architecture. However, it can be effectively described, especially with the client–server architecture (Figure 11). The process of data ownership sharing consists of the following points:

  • Ownership acquisition,

  • Ownership transferring,

  • Ownership leaving,

  • Ownership enforcing.

Figure 11.

Scheme of the data ownership sharing model.

The acquisition of ownership depends on the collaboration logic associated with the context of the shared virtual game environment. In general, when a user/player interacts with a shared virtual object, he becomes its owner. The same principle is used in the case of the creation of one’s own virtual object by some of the users/players. When ownership is acquired, the centralized virtual environment is automatically modified and the change is replicated to other users/players. The following rule applies in virtual environment sharing: In concurrent collaboration, one user/player can own a group of objects, but one object cannot have more than one owner at a time [47].

The ownership transferring occurs when a user/player transfers his own object to one of the other users/players. In this case, there is a modification of the transfer of ownership to the centralized virtual environment and subsequently to a specific user/player. Other users/players of the collaborative group are also informed about the ownership transfer. These receive replication about the status of the ownership transfer to a particular user/player.

The ownership leaving occurs when one of the users/players relinquishes the virtual object and he leaves it in a centralized virtual environment. Subsequently, the availability of the object is replicated to all users/players. Then, the object is available to players and it can be acquired.

Data ownership sharing can be also affected by specific collaboration or game rules. An example is the division of users/players into individual hierarchical levels. Then, the whole strategy of ownership acquiring and transferring changes according to these levels. The examples are the systems for training or instruction in a gamified form. In them, the users/players are most often divided into groups of editors, instructors, collaborators, or observers. In such systems, there are possibilities for ownership enforcement. This ability is usually available to users/players at the highest hierarchical level. Through ownership enforcement, it is possible to acquire a virtual object without it being transferred or left by its owner in advance.

Advertisement

6. Global collaborative virtual environment (LIRKIS G-CVE)

Based on the above information, the global collaborative web system LIRKIS G-CVE [48] was implemented as the main working platform for these systems in the LIRKIS laboratory (Figure 12). The system was created as a result of the web XR system architectural model formalization. The purpose of the system is to provide a globally accessible virtual environment through web browsers. LIRKIS G-CVE uses a client–server architecture to provide access to the shared environment to multiple clients in real time.

Figure 12.

LIRKIS G-CVE architecture.

The main part of the system is a remote web server. This manages communication among clients and mediates their interactions in a shared virtual environment [49]. The server uses three application software frameworks: Node.js, Express.js, and Networked-Aframe implemented in the JavaScript scripting language. These frameworks ensure the execution of services in the system application background. Node.js provides real-time parallel client connections and it manages asynchronous client–server data communication. Express.js provides server rest APIs to handle HTTP requests from clients during a connection. Networked-Aframe manages the sharing and synchronization of the virtual environment among clients, including all virtual 3D objects and interactions.

The second part presents the client’s web interface, which is displayed through a web browser and performs asynchronous rendering of the shared virtual environment. A-Frame technology is used in the implementation of this interface with regard to the guaranteed support of several platforms and the development of interactive virtual environments. A-Frame is based on the Three.js visualization library, which provides an application interface for creating 3D computer graphics in a web browser. Using A-Frame, virtual environments are created at the HTML level and their functionality is implemented in JavaScript. Using asynchronous JavaScript (AJAX), it is possible to render all changes in the environment simultaneously without the need to reload the entire interface.

Communication between client and server is based on the WebSocket protocol. Each collaborative virtual environment is accessible to clients under a specific URL. After the client connects, the server requests his data and then provides it to other active clients. The amount of data transferred among clients depends on the characteristics of the shared environment. These properties include interaction levels, the number of connected clients, and the amount of data shared. Client–server communication depends on the width and speed of the network connection. This is why in case of long-term inactivity, the inactive clients are automatically disconnected. This prevents the server from being overloaded by inactive network entities. If the client’s connection is terminated, the server removes its virtual entity (including the avatar) from the environment and closes the connection.

Part of the implementations in the previous works and projects of the LIRKIS laboratory was the creation of virtual collaborative environments for the purpose of a global collaboration of users in gamified form as well. Each of the training games supports a cross-platform approach and user interaction. As an example, we present a bus simulator (Figure 13), a gamified training–testing application on safety in the construction industry (Figure 14), a collaborative environment for training work with drones in a playful way (for artificial intelligence training data) (Figure 15), and an environment for testing multiuser interaction (department virtual OpenLAB environment, DCI FEEI TU Košice) (Figure 16).

Figure 13.

Example of BUS simulator virtual environments.

Figure 14.

Example of gamified training–testing application on safety in the construction industry.

Figure 15.

Example of a virtual drone game.

Figure 16.

Example of virtual DCI OpenLAB environments.

Advertisement

7. Conclusion

The computer games industry and research are progressing quite well, although it requires significant financial resources. As the demands of users/players also increase, it is good if this technology is a very immersive experience for its users/players. The games allow to bring also education, training, or presentation of various kinds of designs up to an entirely new level. The XR technology usage is one of the ways in which this can be achieved. It represents a new form of visualization, a new form of experiences, a new form of feeling, and a new form of socially shared life. Models can be created using 3D modeling tools, including CAD software, or by using 3D scanners or motion capture systems and inserted into, for example, a real scene. A new game era is starting.

Advertisement

Acknowledgments

This work was supported by the Operational Programme Integrated Infrastructure in the frame of the project: Intelligent systems for UAV real-time operation and data processing, code ITMS2014+: 313011 V422, and co-financed by the European Regional Development Fund and by Slovak KEGA Agency under Grant no. “002TUKE-4/2021 Implementation of Modern Methods and Education Forms in the Area of Cybersecurity towards Requirements of Labour Market.”

References

  1. 1. Margetis G, Papagiannakis G, Stephanidis C. Realistic natural interaction with virtual statues in x-reality environments. In: International Archives of the Photogrammetry, Remote Sensing & Spatial Information Sciences. 2019
  2. 2. Fast-Berglund Å, Gong L, Li D. Testing and validating extended reality (xr) technologies in manufacturing. Procedia Manufacturing. 2018;25:31-38
  3. 3. Huzaifa M, Desai R, Jiang X, Ravichandran J, Sinclair F, Adve SV. Exploring extended reality with ILLIXR: A new playground for architecture research. 2020. arXiv: abs/2004.04643 n.pag
  4. 4. Suslov N. Livecoding. space: Towards p2p collaborative live programming environment for webxr. In: Proceedings of the Fourth International Conference on Live Coding (ICLC 2019), Medialab Prado; Madrid, Spain. 2019
  5. 5. Seo D, Yoo B, Ko H. Webizing collaborative interaction space for cross reality with various human interface devices. In: Proceedings of the 23rd International ACM Conference on 3D Web Technology. 2018. pp. 1-8
  6. 6. Anthes C, García-Hernández RJ, Wiedemann M, Kranzlmüller D. State of the art of virtual reality technology. In: 2016 IEEE Aerospace Conference. 2016. pp. 1-19
  7. 7. Wang S-M, Wang Y-C, Pan W-J, Lin C-Y. Developing innovative cross-platform web-based virtual reality services. In: 2020 IEEE International Conference on Consumer Electronics-Taiwan (ICCE-Taiwan). 2020. pp. 1-2
  8. 8. Paiva PV, Machado LDS, Valença AMG, De Moraes RM, Batista TV. Enhancing collaboration on a cloud-based CVE for supporting surgical education. In: 2016 XVIII Symposium on Virtual and Augmented Reality (SVR). 2016. pp. 29-36
  9. 9. Hudák M, Korečko Š, Sobota B. Lirkis global collaborative virtual environments: Current state and utilization perspective. Open Computer Science. 2020;11(1):99-106
  10. 10. Nguyen TTH, Duval T. A survey of communication and awareness in collaborative virtual environments. In: 2014 International Workshop on Collaborative Virtual Environments (3DCVE). 2014. pp. 1-8
  11. 11. Hudák M, Korečko Š, Sobota B. Special input devices integration to lirkis cave. Open Computer Science. 2018;8(1):1-9
  12. 12. de Back TT, Tinga AM, Nguyen P, Louwerse MM. Benefits of immersive collaborative learning in cave-based virtual reality. International Journal of Educational Technology in Higher Education. 2020;17(1):1-18
  13. 13. Hudák M, Korečko Š, Sobota B. On architecture and performance of lirkis cave system. In: 2017 8th IEEE International Conference on Cognitive Infocommunications (CogInfoCom). 2017. pp. 000295-000300
  14. 14. Hudák M, Korečko Š, Sobota B. Peripheral devices support for lirkis cave. In: 2017 IEEE 14th International Scientific Conference on Informatics. 2017. pp. 117-121
  15. 15. Hudák M. Extension of web-based collaborative virtual environments for mixed reality interfaces. In: SCYR 2020. 2020. pp. 97-98
  16. 16. Dey A, Piumsomboon T, Lee Y, Billinghurst M. Effects of sharing physiological states of players in a collaborative virtual reality gameplay. In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. 2017. pp. 4045-4056
  17. 17. Lee B, Hu X, Cordeil M, Prouzeau A, Jenny B, Dwyer T. Shared surfaces and spaces: Collaborative data visualisation in a co-located immersive environment. In: IEEE Transactions on Visualization and Computer Graphics. 2020
  18. 18. Horst R, Alberternst S, Sutter J, Slusallek P, Kloos U, Dörner R. Avatar2avatar: Augmenting the mutual visual communication between co-located real and virtual environments. In: VISIGRAPP (2: HUCAPP). 2019. pp. 89-96
  19. 19. Lacoche J, Pallamin N, Boggini T, Royan J. Collaborators awareness for user cohabitation in co-located collaborative virtual environments. In: Proceedings of the 23rd ACM Symposium on Virtual Reality Software and Technology. 2017. pp. 1-9
  20. 20. Šašinka Č, Stachoň Z, Sedlák M, Chmelík J, Herman L, Kubíček P, et al. Collaborative immersive virtual environments for education in geography. ISPRS International Journal of Geo-Information. 2019;8(1):3
  21. 21. Piumsomboon T, Day A, Ens B, Lee Y, Lee G, Billinghurst M. Exploring enhancements for remote mixed reality collaboration. In: SIGGRAPH Asia 2017 Mobile Graphics & Interactive Applications. 2017. pp. 1-5
  22. 22. Du J, Shi Y, Zou Z, Zhao D. Covr: Cloud-based multiuser virtual reality headset system for project communication of remote users. Journal of Construction Engineering and Management. 2018;144(2):04017109
  23. 23. Alatalo T, Koskela T, Pouke M, Alavesa P, Ojala T. Virtualoulu: Collaborative, immersive and extensible 3d city model on the web. In: Proceedings of the 21st International Conference on Web3D Technology. 2016. pp. 95-103
  24. 24. Wu T-H, Wu F, Liang C-J, Li Y-F, Tseng C-M, Kang S-C. A virtual reality tool for training in global engineering collaboration. Universal Access in the Information Society. 2019;18(2):243-255
  25. 25. El-Kassas WS, Abdullah BA, Yousef AH, Wahba AM. Taxonomy of cross-platform mobile applications development approaches. Ain Shams Engineering Journal. 2017;8(2):163-190
  26. 26. Dolezal M, Chmelik J, Liarokapis F. An immersive virtual environment for collaborative geovisualization. 2020. p. 4. arXiv: abs/2010.06279
  27. 27. García AS, Fernando T, Roberts DJ, Bar C, Cencetti M, Engelke W, et al. Collaborative virtual reality platform for visualizing space data and mission planning. Multimedia Tools and Applications. 2019;78(23):33191-33220
  28. 28. Hudák M, Sivý M, Sobota B. Uniform Smartphone Controller for Web-Based Virtual Reality Purposes. Košice (Slovensko): Fakulta elektrotechniky a informatiky; 2021
  29. 29. Dias DR, Guimarães MP, Kuhlen TW, Trevelin LC. A dynamic-adaptive architecture for 3d collaborative virtual environments based on graphic clusters. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing. 2015. pp. 480-487
  30. 30. Khalid S, Ullah S, Alam A, Din F. Optimal latency in collaborative virtual environment to increase user performance: A survey. International Journal of Computer Applications. 2016;142(3):35-47
  31. 31. Buyukkaya E, Abdallah M, Simon G. A survey of peer-to-peer overlay approaches for networked virtual environments. Peer-to-peer Networking and Applications. 2015;8(2):276-300
  32. 32. Capece N, Erra U, Losasso G. Design and implementation of a web-based collaborative authoring tool for the virtual reality; proc. of international conference “15th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)”. Sorrento, Naples, Italy; 2019. pp. 603-610
  33. 33. Desprat C, Jessel J-P, Luga H. 3devent: A framework using eventsourcing approach for 3d web-based collaborative design in p2p. In: Proceedings of the 21st International Conference on Web3D Technology. 2016. pp. 73-76
  34. 34. Okuya Y, Ladeveze N, Gladin O, Fleury C, Bourdot P. Distributed architecture for remote collaborative modification of parametric cad data. In: 2018 IEEE Fourth VR International Workshop on Collaborative Virtual Environments (3DCVE). 2018. pp. 1-4
  35. 35. Elfizar E, Baba MS, Herawan T. Object-based viewpoint for large-scale distributed virtual environment. Malaysian Journal of Computer Science. 2015;28(4):301-317
  36. 36. Shen S, Hu S-Y, Iosup A, Epema D. Area of simulation: Mechanism and architecture for multi-avatar virtual environments. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM). 2015;12(1):1-24
  37. 37. Roberts D, Wolff R. Controlling consistency within collaborative virtual environments. In: Eighth IEEE International Symposium on Distributed Simulation and Real-Time Applications. 2004. pp. 46-52
  38. 38. Fleury C, Duval T, Gouranton V, Arnaldi B. Architectures and mechanisms to efficiently maintain consistency in collaborative virtual environments. In: Proceedings of Software Engineering and Architectures for Realtime Interactive Systems-SEARIS. 2010a. pp. 87-94
  39. 39. Yarsquo A, Ismail AS, Subramaniam S, et al. On consistency and security issues in collaborative virtual environment systems. International Journal of Physical Sciences. 2013;8(33):1646-1654
  40. 40. Gital AY, Ismail AS, Chiroma H, Abubakar AI, Abdulhamid BM, Maitama IZ, et al. Performance analysis of cloud-based cve communication architecture in comparison with the traditional client server, p2p and hybrid models. In: The 5th International Conference on Information and Communication Technology for The Muslim World (ICT4M). 2014. pp. 1-6
  41. 41. Fleury C, Duval TH, Gouranton V, Arnaldi B. A new adaptive data distribution model for consistency maintenance in collaborative virtual environments.; In: JVRC 2010 (2010 Joint Virtual Reality Conference of EuroVR - EGVE - VEC). 2010. doi: 10.2312/EGVE/JVRC10/029-036
  42. 42. Paiva PV, Machado L, de Oliveira JC, de Moraes RM. Networking issues for 3d medical collaborative virtual environments: Design and applications. SBC Journal on Interactive Systems. 2017;8(2):89-97
  43. 43. Millar JR, Hodson DD, Peterson GL, Ahner DK. Consistency and fairness in real-time distributed virtual environments: Paradigms and relationships. Journal of Simulation. 2017;11(3):295-302
  44. 44. Yusen L, Deng Y, Cai W, Tang X. Fairness-aware update schedules for improving consistency in multi-server distributed virtual environments. In: Proceedings of the 9th EAI International Conference on Simulation Tools and Techniques. 2016. pp. 1-8
  45. 45. Zhang W, Zhou H-J. A fairness oriented consistency control method in distributed virtual environment systems. In: DEStech Transactions on Computer Science and Engineering (CST). 2017
  46. 46. Zhou M, Leenders MA, Cong LM. Ownership in the virtual world and the implications for long-term user innovation success. Technovation. 2018;78:56-65
  47. 47. Lange P, Weller R, Zachmann G. Scalable concurrency control for massively collaborative virtual environments. In: Proceedings of the 7th ACM International Workshop on Massively Multiuser Virtual Environments. 2015. pp. 7-12
  48. 48. Hudák M, Korečko Š, Sobota B. Advanced user interaction for web-based collaborative virtual reality. In: 2020 11th IEEE International Conference on Cognitive Infocommunications (CogInfoCom). 2020. pp. 000343-000348
  49. 49. Hudák M, Korečko Š, Sobota B. Enhancing team interaction and cross-platform access in web-based collaborative virtual environments. In: 2019 IEEE 15th International Scientific Conference on Informatics. 2019. pp. 000171-000176

Written By

Branislav Sobota, Marián Hudák and Emília Pietriková

Submitted: 29 October 2021 Reviewed: 25 May 2022 Published: 18 June 2022