University of Helsinki, course: Networked Systems and Services
Design a multiplayer interactive networked game that is played in real-time (i.e., not turn based) between an unknown number of participants. The system must support the following things:
- Scaling up as the number of participants grows. Discuss performance aspects as a function of the number of users. If your design sets a maximum number of users, justify the choice and explain why it is needed.
- Quick response times to actions of other users
- Ability to download new game settings (possibly large files, e.g., graphics with textures)
Note that because of firewalls and NATs, you cannot assume that the participants are always able to initiate connections with others