[Announcement] [Lecture] [Lab Exercises] [Project] [Assignments]





Learning Objectives

For Week 8-12, after each lecture, students are expected to understand the following.
  • Week 8 (9th Oct)
    • The meaning of ``networked games'' with respect to CS4344
    • Different types of networked games (FPS, RTS, MMORPG)
    • Different choices of transport protocol (TCP vs UDP, when to use which?))
    • Different network architectures (centralized, P2P, hybrid) and their pros and cons)
    • Why developing multi-player games over the Internet is non-trivial
    • How latency affects playability for RTS and FPS games
  • Week 9 (16th Oct)
    • Synchornization protocols -- how they trade-off between responsiveness, fairness, and consistency (local-lag, delay at server, short circuiting, lock-step protocol, bucket synchronization)
    • Dead reckoning -- how to predict and how to converge, trade-off between accuracy, smoothness, and number of messages.
    • Time warp -- how to mitigate inconsistent situations when inconsistenct is discovered, what are the drawbacks of Time warp.
  • Week 10 (23rd Oct)
    • The importance of reducing data rate per client in a MMORPG
    • Interest management based on Aura, nimbus and focus
    • Region-based interest management and the issues considered in choosing cell size/shape
    • Hierarchical interest management and load balancing
    • Visibility-based interest management and its applicability to games
    • Advantages of isolating cells (via constraints in games) when mapping cells to different servers
    • Considerations for choosing application-level multicast trees -- end-to-end delay, resource usage, number of connections
    • Steiner minimum tree, shortest path tree and minimum spanning tree (and their degree-constraint versions), and their trade-offs (with respect to the three considerations above).
  • Week 11 (30th Oct, NetGames 2006)
    • Proxy-based architecture for MMOG and its strength/weaknesses
    • Server authoritative, client-authoritative and hybrid approach (dynamic assignment of authority)
    • Using public servers for MMOG and its challenges
    • Triangular tile-based interest management algorithms (need not know how to compute Delaunay triangulation)
  • Week 12 (6th Nov)
    • Cheating in different layers: games, applications, protocol and network
    • Timing Cheat: e.g. Look-ahead cheat, suppress-correct cheat
    • Cheating by collusion
    • Cheating by misplaced trust: e.g. Battleship
    • Preventing look-ahead cheat with lockstep protocol (using encryption and 1-way hash)
    • Overview of NEO protocol
    • Detecting cheats in Battleship
  • Week 13 (13th Nov)
    • Maphacks
    • Preventing information exposure in RTS games

Lecture Slides

Lab Exercises

Stylesheet modified from MovableType "independence" style