Interactive Game Design

Assignment #2
Due: Wednesday, 03/13/2024


1.     Create a 10-meter diving platform and a deep pool to the scene. The diving platform is 5 meters long and 1 meter wide. One end of the long side is over the pool (PS) and the other end of the long side is connected to stairs (SS) for the diver to climb to the platform.

2.     At the opening of your game, a diver stands at the bottom of the stairs. The initial viewing orientation is sidewise, i.e., the left edge of the board (SS end) is oriented to the left side of the screen, and the right edge (PS end) is oriented to the right side of the screen over the pool.

3.     Implement code to handle the following keyboard events.

4.     Click the c key for animation of the diver climbing to the top of the platform on the SS side.

5.     Click the r key for the diver to run from the SS end to the PS end on the platform.

6.     When the diver reaches the PS end, he dives to the pool. You can use free fall to simulate the dive to satisfy the requirements of this assignment. But you are encouraged to create your own diving techniques.

7.     Place a score board at the top-middle of your game space. Add 1 point for each completed dive (each time the diver reaches the pool water). For those who created your own diving techniques, you can score the diver based on the difficulty level of the technique deployed.

8.     A wave will start when the diver enters water.

9.     The center of the wave will be at the entry point.

10.  The wave should decrease with time and distance from the entry point.

11.  The user can use A to increase and a to decrease the amplitude of the wave.

12.  The user can use L to increase and l to decrease the wavelength of the wave.

13.  The user can use V to increase and v to decrease the speed of the wave.

14.  Also create a splash using the particle system.

15.  At the bottom of the score board, give instructions on how to operate your game.

16.  Make a few seconds of screen-capture video to record climbing, running, diving, splashing and waving.


1.     Minimum work (player control and waving control): Wave-Minimum.mp4

2.     Wireframe wave: Wave-Wireframe.mp4

3.     Wave with flocking (next assignment): WaveFlocking.wmv


1.     The distance formula in the wave equation given in the Procedural Animation and Physics Engine PPT needs to be normalized. Replace r in the equation with nr = r / pool-dimension, where pool-dimension = sqrt (pool-length * pool-length + pool-width * pool-width).

2.     Study the related lecture notes: EDP-in-Game-Development.ppt & Procedural Animation and Physics Engine.

3.     Check out the following ppt to see how to program and debug in Unity: Unity-Programming-Debugging.ppt

4.     Download CS-Wave.zip and modified the random wave in it to a wave similar to https://www.youtube.com/watch?v=oweGSedX5FA


Submitting your program:

(1) Rename your video file as YourFirstName-YourLastName and keep the original file extension.

(2) Copy your complete project along with the video file into a directory named IGD2- YourFirstName-YourLastName.

(3) Submit the IGD2-YourFirstName-YourLastName directory through GoogleDrive.

Submission Title:  IGD2-YourFirstName-YourLastName

Submission email: uacsxiao@gmail.com

(Please submit as a new folder. Submitting under a previous shared folder will not notify the instructor.)