OpenGL|D - An Alternative Approach to Multi-user Architecture

Part of the Lecture Notes in Computer Science book series (LNCS, volume 10830)


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].


  1. 1.
    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 2017Google Scholar
  2. 2.
    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 2007Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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).
  5. 5.
    Färber, J.: Traffic modelling for fast action network games. Multimedia Tools Appl. 23(1), 31–46 (2004). CrossRefGoogle Scholar
  6. 6.
    Stagner, A.R.: Unity Multiplayer Games. Packt Publishing Ltd., Birmingham (2013)Google Scholar
  7. 7.
    Matthews, B., Shaon, A., Bicarregui, J., Jones, C.: A framework for software preservation. Int. J. Digit. Curation 5(1), 91–105 (2010)CrossRefGoogle Scholar
  8. 8.
    Microsoft, Introducing windows 10 s (2017). Accessed 20 Jan 2017
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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).
  15. 15.
    James, S.R., Gillam, B.D.: Network multiplayer game, 12 October 1999. US Patent 5,964,660Google Scholar
  16. 16.
    Sanglard, F.: Fabien sanglard’s website (2012). Accessed 20 Jan 2017
  17. 17.
    Valgrind Developers: Valgrind memory debugger (2017). Accessed 20 Jan 2017
  18. 18.
    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). CrossRefGoogle Scholar
  19. 19.
    Smed, J., Kaukoranta, T., Hakonen, H.: A review on networking and multiplayer computer games. Turku Centre for Computer Science (2002)Google Scholar
  20. 20.
    Smed, J., Kaukoranta, T., Hakonen, H.: Aspects of networking in multiplayer computer games. Electron. Libr. 20(2), 87–97 (2002)CrossRefGoogle Scholar
  21. 21.
    id Software: FTE quake world (2017). Accessed 20 Oct 2017
  22. 22.
    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). CrossRefGoogle Scholar
  23. 23.
    Abdelkhalek, A., Bilas, A., Moshovos, A.: Behavior and performance of interactive multi-player game servers. Cluster Comput. 6(4), 355–366 (2003). CrossRefGoogle Scholar
  24. 24.
    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 2004Google Scholar
  25. 25.
    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 1999Google Scholar
  26. 26.
    NoMachine, Nomachine NX server (2017). Accessed 20 Jan 2017
  27. 27.
    NVIDIA: NVIDIA gamestream: Play PC games on NVIDIA shield (2017). Accessed 20 Jan 2017

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Creative Technology, Faculty of Science and TechnologyBournemouth UniversityBournemouthUK

Personalised recommendations