Assignment 2: Peer-to-Peer Four-player Pong


In this assignment, you are to implement a four-player Pong game in Java using peer-to-peer architecture. Pay attention to improving the consistency of the game, make the game playable in the presense of network delay and jitter, and how (if at all) cheating can be detected.

Due Date:

12 November, 2007 (5 weeks)



You should do this assignment in a team of 1-2 person with the same team from Assignment 1. If you work solo in Assignment 1, you may look for a partner (who work solo in Assignment 1 too) and work together for Assignment 2.

Grading Criteria


In this assignment, you are to modify your client/server-based 2-player Pong game as follows:

You should implement whatever synchornization/compensation/prediction techniques you think is necessary to make the game states more consistent, make the game playable in the presence of large delay and variation, and deal with cheating. You need not limit yourself to the techniques taught in class. You may use any Pong-specific techniques, or new methods that you come up with. This is an open ended project.

It is important to justify the techniques that you choose. For example, if you want to sacrifice responsiveness in favour of cheat-proving your game, you should explain that in your report.

You are encouraged to discuss your approach with the instructor or among yourselves on the IVLE forum.

You may improve upon the game as you see fit (for example, fancy UI, sound effect, visualization of the states at the server). If you need to change the rules of Pong game, however, you need to ask for permission from instructor (This is to prevent, say, you make the game into turn-based Pong game).

Have fun.