Bubble Pop Game Gameplay: The object of the game is to earn points by popping bubbles before the time runs out. The player will aim at bubbles with the mouse. Clicking the mouse button will fire a shot to pop the bubbles. When the player misses (hits no bubbles), her score is decreased by 1 point. When a player hits a single bubble, she earns 5 points. When a player lines up and hits multiple bubbles, she gets a 1.5x multiplier: 2 bubbles = (5 points + 5 points) * 1.5 = 15 points 3 bubbles = (3 * 5 points) * 1.5 = 22.5 points 4 bubbles = (4 * 5 points) * 1.5 = 30 points The player can rotate the camera around the center point (the lookAt always points to 0,0,0). She will user this to her advantage in order to line up bubbles to earn point multipliers. Bubbles are generated randomly: Their location (within the playing field) is random The time between being popped and respawning somewhere on the map is random (between 5-7 seconds) As time permits, an additional point bonus may be added: Bubbles start very small, and grow until they reach "full size" If a bubble is shot very early (still small, and a harder target to hit), more points can be awarded (8-10 points) If the bubble gets to full size, shooting it will only yield minimum points (4-5 points) If the bubble is not popped within this time, it explodes on its own and no points are awarded (or reduced) To implement the bubble-pop game: 1) Bubbles (spheres) - spawn at random coordinates - grow from 0.0 to 1.0 (or 2.0) radius - all have a transparent "bubble" material surface - have a lifespan; if they "live" too long, they pop automatically - need to support collision to detect when the mouse is clicked "over" them - have a delay before respawning so a player isn't enticed to just "camp" at a particular location 2) Camera - movement is player-controlled (keyboard) - cannot move closer or farther from the playing field; depth is fixed - will be set far enough back from the playing field so no bubbles will ever appear "behind" the player - moves uses a local coordinate system, no global, so "up" will move the player up from their current perspective, not just in the absolute +y direction 3) Mouse - is used to fire a laser: all bubbles along the path will pop - cursor can be moved freely within the window to line up shots - cursor icon (like a cross-hair) not important, but can be implemented as time permits (the OS mouse cursor should be fine, though) 4) HUD - shows remaining game time - shows current score - should not be affected by lighting 5) Lights - 3-point light system may be used - should follow the player so there are no "dark" angles, or - should encompass enough of the playing field to make all bubbles easy to see regardless of angle - should have at least 1 specular light so bubbles look real 6) Particle effects - implemented only as time allows - shown when bubbles pop: will looks like a "bubble splatter" - may be precalculated or pre-rendered if we want