Assignment 1, ("Boxing amoeba")
Develop a two dimensional interactive game with the following features:
1. Use OpenGL (any version you find convenient)
2. The game can either be two player or one player with the other player simulated by a simple AI.
3. Make the game two dimensional with the player(s) viewing the activity from above a plane
4. The player starts as a disk, but can "morph" (that is expand and contract) in selected directions
5. A player's disk expands outward (but to a given limit) in a direction entered interactively. The goal is for the end of this expanding "arm" to contact the opponent within the opponent's basic starting circle. When contact is made, a point goes to the "attacking" amoeba and the attacked amoeba shrinks a bit in its basic circle radius. The arm contracts after a given time and must vanish before it can be extended again.
6. Players have two different colored arms --- one for attacking and one for defense. The defending arm when contacting the opponent player pushes the two players apart.
7. Design keyboard and or mouse controls to move the player and control the player's "arms"
8. Scores keeping is not required
9. If players collide (make contact at the separation of their basic circles - not their arms) , they stop moving while in contact but can still rotate in place, and can still extend "arms"
A well developed implementation for the above will earn an A grade. To get a higher grade one of the following should be completed in addition.
1. Add game driven obstacles that roam the field of play randomly and are poison to the touch and can destroy the player on contact.
2. Players bounce off the wall with angle of incidence equal to angle of reflection
Assignment 1 Part 2,
Expand assignment 1 into a three dimensional game where now
1. A perspective view of three dimensional players is displayed from above. The viewer location and where the viewer is looking can be adjusted with keyboard control.
2. Lighting is used. Use keyboard or menu control to select for enabling or disabling lighting and shading
3. Provide a menu or keyboard control for adjusting lighting and shading parameters
A successful implementation for the above will earn a middle to high A grade, To get a higher grade one of the following should be completed in addition.
1. A skybox
2. Three dimensional stereo projections (working with Darryl in the VR room)