Announcement
- Gredes for Assignment 2-4 posted.
- 'Gredes for Mobile Network Game Project' is posted.
- Exam: 02/12/2006 (Sat), 9:00 AM, 2 Hours, Open Book, S16 TR4/TR5.
- Comments on assignment 4 posted.
- Assignment 4 is graded. You may come and collect from me.
Project
Assignments
- Assignment 4: In the context of proxy-based architecture and mixed authority model proposed by Sudhir et. al., what types of cheating are possible? (Read ooiwt's comments on this assignment)
- Assignment 3: Read the
paper on visibility-based interest management and
discuss its applicability to MMORPG and FPS games. (Due: 30 Oct, 10am).
(Read ooiwt's comments on this assignment) - Assignment 2: Discuss the pros and cons of centralized server architecture versus peer-to-peer architecture for networked gaming (Due: 16 Oct, 9am).
- Assignment 1: Overview of technologies that are currently used in ARGs and pervasive games
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
- Week 0 - Module Overview
- Week 1 - Introduction
- Week 2 - Design, Platform, Architecture Tools
- Week 3 - 2D Mobile Games: General Programming Structure, Game Engine, SVG
- Week 4 & 5- Networked Mobile Games - GSM, GPRS, SMS, 3G, Bluetooth...
- Week 6 - UI, Data Persistency, Audio and Video for Games...
- Week 7 - 3D Mobile Games
- Mobile 3D API java-doc is available with Nokia Prototype SDK at Nokia Prototype SDK
- No slides available for Week 8 - 13. Students are encouraged to take notes during lectures (copy by hand, take snapshot of the board with camera/cellphone, etc.)
Lab Exercises
- Lab 1 - 2D Mobile Game using Game Engine
- Lab 2 - Networked Mobile Game - 1 (use TCP Socket instead of HTTP)
- Lab 3 - Networked Mobile Game - 2 (Over Bluetooth, Using SNAP Server)
- Lab 4 - Project Work
- Lab 5 - 3D Mobile Games
- Lab 5 - Sample Codes
- Lab 5 - Tips
- Mobile 3D API java-doc is available with Nokia Prototype SDK at Nokia Prototype SDK