OpenGL | D- An Alternative Approach to Multi-user Architecture
Multi-user applications can be complex to develop due to their large or intricate nature. Many of the issues encountered are related to performance and security. These issues are exacerbated when the scale of the application increases. This paper introduces a novel distributed architecture called OpenGL D (OpenGL Distributed) for multi-user applications with the focus firmly on multiplayer games. This is specifically designed to address the scalability and real-time performance of concurrent synchronisation designs, which are at the core of all multi-user applications. OpenGL D provides a simple high level software abstraction and platform agnostic approach to aid the application development process, aimed in particular towards 3D software such as games and visual simulations. OpenGL D enables an application to pass through the graphical calls between a Virtual Machine (VM) and the graphics processing unit (GPU) on the native host across a network. This ability allows computationally intensive applications to run inside a virtual machine (VM), whilst still benefiting from hardware accelerated performance from the GPU. We present our results through a number of prototype games developed by our team. The usability of OpenGL D was tested under a time-constrained development condition, i.e. 48-hour games jams, demonstrating good performance and the increased ease of use over existing off-the-shelf solutions, such as those provided by game engines. In addition to this, the software developed for our tests has no dependencies on specific hardware or technologies (other than ANSI C and a network stack) in order to demonstrate our approach to platform agnostic development and digital preservation. On one of the more "exotic" platforms we tested on (Plan 9 on ARM), this was provided by the ANSI/POSIX Environment (APE) layer. Thus, with OpenGL D developers only need to create a multiplayer game using our simple high-level software abstraction, as they will then have the implicit guarantee that it will run on future platforms. It should be noted that this article is an extended version of the work we submitted to the Cyberworlds 2017 conference.
OpenGL|D - An Alternative Approach to Multi-user Architecture.
Editors: Gavrilova, M.L., Tan, C.J.K. and Sourin, A.
OpenGL|D - An Alternative Approach to Multi-user Architecture
Editors: Gavrilova, M., Tan, C. and Sourin, A.
Place of Publication: Berlin, Germany
© Springer-Verlag GmbH Germany, part of Springer Nature 2018. Synchronising state between multiple connected clients can be a challenging task. However, the need to carry this out is becoming much greater as a larger number of software packages are becoming collaborative across a network. Online multiplayer games in particular are already extremely popular but the synchronisation methods and architecture have largely remained the same. OpenGL Distributed, presented here, aims to provide not only an alternative to this architecture allowing for a greatly simplified development pipeline, but also the opportunity for a number of additional features and design patterns. The architecture provided by OpenGL D is such that no state information needs to be transferred between clients. Instead, the OpenGL API has been utilised as a platform agnostic protocol. This means that graphical calls can be streamed to each client rather than relying on manual synchronisation of application domain specific data. Initial test results are discussed, including performance evaluation using data from a number of small prototypes developed within a constrained 48-h timeframe. These results are compared and evaluated against a more traditional approach to network multiplayer by id Software’s QuakeWorld client. It should be noted that this article is an extended version of the work we published in the proceedings of the Cyberworlds 2017 conference .
Source: BURO EPrints