
Development of multiplayer games
- Class 30
- Practice 45
- Independent work 135
Course title
Development of multiplayer games
Lecture type
Obligatory
Course code
23-11-539
Semester
7
ECTS
7
Lecturers and associates
Course overview
The aim of the module is to introduce students to the programming of local and online multiplayer games.
This module is part of the key vertical of the study program. It builds on the skills and knowledge acquired in previous vertical modules and provides prerequisites for subsequent modules in the same vertical. The skills learned in this module will significantly contribute to the development of the student as a professional in the respective fields.
The module is taught in the programming languages C++ and C
and in the software development tools Unity and Unreal. The module knowledge check is based on individual student projects.
Content
Students will learn:
• create local multiplayer computer games on the same or split screens
• key protocols in network communication used in the development of computer games
• serialize and deserialize objects
• basics of client-server and client-client architecture
• what is an authoritative server, client prediction and entity interpolation
• matchmaking protocols
• supporting services in online computer games (lobby server, relay server, etc.).
Literature
1. Madhav, S., Glazer, J. (2015) Multiplayer Game Programming: Architecting Networked Games (Game Design). 1st edn. Boston: Addison-Wesley Professional.
Minimal learning outcomes
- Construct a prototype of a local multiplayer computer game.
- Implement network communication using network protocol.
- Create a prototype of a multiplayer computer game based on client-server architecture.
- Create a prototype of a multiplayer computer game based on client-client architecture.
- Construct a player matchmaking mechanism in a multiplayer computer game.
Preferred learning outcomes
- Construct a complex prototype of a local multiplayer computer game.
- Optimize network communication using network protocol.
- Create a prototype of a multiplayer computer game with an authoritative server.
- Create a prototype of a multiplayer computer game based on client-client architecture and argue the challenges in achieving network communication.
- Construct a player matchmaking engine with supporting services in a multiplayer computer game.