Game Networking
Warning: This page is not the official one of the current course at PUC-MG and only showcases information that is related to a past offering.
About
This course gives students an overall view of computer networks focusing on game programming applications. It introduces them to the OSI and TCP/IP models by presenting the respective algorithms and protocol suites. Topics such as digital modulation, multiplexing, error detection and correction, routing algorithms, congestion control, client-server models, authoritative servers, and others are discussed throughout the course. Students learn to program networked games by using Unity 3D, and socket programming is also introduced.
Textbooks
- Tanenbaum, A., “Computer Networks”, 5 ed., 2011.
- Barron, T., LaMothe, A., “Multiplayer Game Programming”. 2001.
Slides
Click on the topic name to download the respective slides as zip files. The inside content is in Portuguese because the course is offered at a brazilian university.
Topic | Description |
---|---|
Introduction | A brief overview on the history of computer networked games and the Internet. Client-server and peer-to-peer architectures. OSI and TCP/IP layers. Latency and Bandwidth. |
Physical Layer | Digital-to-analog conversion, guided and wireless communication, digital modulation, and multiplexing. |
Data Link Layer | Point-to-point communication, framing, error detection and correction, reliable transmission, and medium access control. |
Network Layer | Packet forwarding and routing, Internet Protocol, subnets, CIDR, NAT, ICMP, ARP, and DHCP. |
Transport Layer | Host-to-host communication, UDP, RPCs, TCP, reliable transmission, flow control, and congestion avoidance. |
Application Layer | Brief introduction to protocols such as DNS, SMTP, WWW, HTML, URL, and HTTP. |
Authoritative Servers | Authoritative vs non-authoritative architectures, client-side prediction, server-side correction, entity interpolation/extrapolation, and lag compensation. |