INDICATIVE CONTENT
This module will cover the following:
- Concurrency
- Networking architecture
- Programming Optimisation
- OSI and TCP/IP
- Prediction algorithms
- Security
- Serialisation
- Socket programming
- Transport protocols
- Multiplayer game design
- Game services
- Research Skills
ADDITIONAL ASSESSMENT DETAILS
Assessment Component 1 – Literature Review [Learning Outcomes 1] 30%
Students will produce a literature review that critically explores modern solutions to networking/concurrent problems relevant to multiplayer games development. The report will incorporate modern literature and compare the strengths and weaknesses of a variety of solutions.
Assessment Component 2 – Multiplayer Game Framework [Learning Outcomes 2,3 and 4] 70%
A multiplayer game and networking library that utilises socket programming and concurrency techniques to handle multiple connections over a client/server network architecture. The framework will utilise TCP and UDP transport protocols to send and receive complex data over the network. Relevant concurrency techniques will be used to synchronise data over multiple threads and to prevent race conditions.
LEARNING STRATEGIES
Students will engage in tutor-led presentations, technical workshops and self-directed programming practice. Lecture sessions introduce concurrency and networking concepts.
Workshop sessions provide hands-on guidance with implementation, debugging and optimisation, allowing students to apply theoretical concepts directly to practical coding challenges. Students are expected to undertake independent development between sessions.
LEARNING OUTCOMES
1. Research and analyse networking and concurrency techniques used in multiplayer systems.
Research Skills
2. Communicate and disseminate knowledge of networking and concurrent programming principles and be able to discuss their strengths and weaknesses.
Communication
3. Apply appropriate concurrency and networking techniques to design and implement a working solution that handles synchronisation of complex data.
Application and Problem Solving
4. Synthesise knowledge of relevant networking technologies and apply it to a problem space.
Knowledge and Understanding
RESOURCES
- Appropriate IDE
- Windows PC
- Office 365
- Version Control
- Games Lab PC
TEXTS
Glazer, J. and Madhav, S. (2016) Multiplayer game programming : architecting networked games. Boston: Addison-Wesley. ISBN: 978-0134034300
McDowell, J. (2024) Acing the CCNA Exam, Volume 1: Fundamentals and Protocols. 1st edition. New York: Manning.
Liu, B. (2025) ‘Fundamentals of Concurrent Programming for Technical Interviews’, in Concurrent Programming Interviews. United States: Apress L. P, pp. 1–21. Available at: https://doi.org/10.1007/979-8-8688-1198-2_1.
WEB DESCRIPTOR
Most modern games use networking functionality in some form or another, such as connecting players directly for cooperative/competitive experiences, generating leaderboards or collecting player data for analytics. In this module, you will design and develop a network architecture and multiplayer game that utilises modern day technologies and techniques to allow players to connect and share complex data to create a stable and synchronised multiplayer experience. Additionally, you will explore modern day literature to further expand your knowledge within the problem space.