Abstract
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 [1].
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Pedersen, K., Gatzidis, C., Tang, W.: OpenGL\(|\)D - a multi-user single state architecture for multiplayer game development. In: International Conference on Cyberworlds 2017, Chester, UK, September 2017
Laurens, P., Paige, R.F., Brooke, P.J., Chivers, H.: A novel approach to the detection of cheating in multiplayer online games. In: 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007), pp. 97–106, July 2007
Wu, D., Xue, Z., He, J.: icloudaccess: cost-effective streaming of video games from the cloud with low latency. IEEE Trans. Circuits Syst. Video Technol. 24(8), 1405–1416 (2014)
Karachristos, T., Apostolatos, D., Metafas, D.: A real-time streaming games-on-demand system. In: Proceedings of the 3rd International Conference on Digital Interactive Media in Entertainment and Arts, DIMEA 2008, pp. 51–56. ACM, New York (2008). http://doi.acm.org/10.1145/1413634.1413648
Färber, J.: Traffic modelling for fast action network games. Multimedia Tools Appl. 23(1), 31–46 (2004). http://dx.doi.org/10.1023/B:MTAP.0000026840.45588.64
Stagner, A.R.: Unity Multiplayer Games. Packt Publishing Ltd., Birmingham (2013)
Matthews, B., Shaon, A., Bicarregui, J., Jones, C.: A framework for software preservation. Int. J. Digit. Curation 5(1), 91–105 (2010)
Microsoft, Introducing windows 10 s (2017). https://www.microsoft.com/en-us/windows/windows-10-s. Accessed 20 Jan 2017
Bassin, K., Santhanam, P.: Managing the maintenance of ported, outsourced, and legacy software via orthogonal defect classification. In: Proceedings of the IEEE International Conference on Software Maintenance, ICSM 2001, pp. 726–734 (2001)
Pellegrino, J.D., Dovrolis, C.: Bandwidth requirement and state consistency in three multiplayer game architectures. In: Proceedings of the 2nd Workshop on Network and System Support for Games, pp. 52–59. ACM (2003)
Wang, A.I., Jarrett, M., Sorteberg, E.: Experiences from implementing a mobile multiplayer real-time game for wireless networks with high latency. Int. J. Comput. Games Technol. 2009, 6:1–6:14 (2009)
Cronin, E., Filstrup, B., Kurc, A.R., Jamin, S.: An efficient synchronization mechanism for mirrored game architectures. In: Proceedings of the 1st Workshop on Network and System Support for Games, pp. 67–73. ACM (2002)
Baughman, N.E., Levine, B.N.: Cheat-proof playout for centralized and distributed online games. In: Proceedings of the Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies, IEEE INFOCOM 2001, vol. 1, pp. 104–113. IEEE (2001)
Pedersen, K., Gatzidis, C., Northern, B.: Distributed deepthought: synchronising complex network multi-player games in a scalable and flexible manner. In: Proceedings of the 3rd International Workshop on Games and Software Engineering: Engineering Computer Games to Enable Positive, Progressive Change, GAS 2013, pp. 40–43. IEEE Press, Piscataway (2013). http://dl.acm.org/citation.cfm?id=2662593.2662601
James, S.R., Gillam, B.D.: Network multiplayer game, 12 October 1999. US Patent 5,964,660
Sanglard, F.: Fabien sanglard’s website (2012). http://fabiensanglard.net/quake3/network.php. Accessed 20 Jan 2017
Valgrind Developers: Valgrind memory debugger (2017). http://valgrind.org. Accessed 20 Jan 2017
Bulterman, D.C.A., van Liere, R.: Multimedia synchronization and UNIX. In: Herrtwich, R.G. (ed.) NOSSDAV 1991. LNCS, vol. 614, pp. 105–119. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55639-7_10
Smed, J., Kaukoranta, T., Hakonen, H.: A review on networking and multiplayer computer games. Turku Centre for Computer Science (2002)
Smed, J., Kaukoranta, T., Hakonen, H.: Aspects of networking in multiplayer computer games. Electron. Libr. 20(2), 87–97 (2002)
id Software: FTE quake world (2017). https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk. Accessed 20 Oct 2017
Cordeiro, D., Goldman, A., da Silva, D.: Load balancing on an interactive multiplayer game server. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 184–194. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74466-5_21
Abdelkhalek, A., Bilas, A., Moshovos, A.: Behavior and performance of interactive multi-player game servers. Cluster Comput. 6(4), 355–366 (2003). https://doi.org/10.1023/A:1025718026938
Abdelkhalek, A., Bilas, A.: Parallelization and performance of interactive multiplayer game servers. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium, pp. 7–8, April 2004
Xylomenos, G., Polyzos, G.C.: TCP and UDP performance over a wireless LAN. In: Proceedings of the Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies, IEEE INFOCOM 1999, vol. 2, pp. 439–446, March 1999
NoMachine, Nomachine NX server (2017). http://www.nomachine.com. Accessed 20 Jan 2017
NVIDIA: NVIDIA gamestream: Play PC games on NVIDIA shield (2017). http://www.nvidia.co.uk/shield/games/gamestream. Accessed 20 Jan 2017
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer-Verlag GmbH Germany, part of Springer Nature
About this chapter
Cite this chapter
Pedersen, K., Gatzidis, C., Tang, W. (2018). OpenGL|D - An Alternative Approach to Multi-user Architecture. In: Gavrilova, M., Tan, C., Sourin, A. (eds) Transactions on Computational Science XXXII. Lecture Notes in Computer Science(), vol 10830. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-56672-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-662-56672-5_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-56671-8
Online ISBN: 978-3-662-56672-5
eBook Packages: Computer ScienceComputer Science (R0)