TEAM NOT ANGRY BIRDS Members: Kan Zhang Amy Lee Stephanie Lee # of grace days used = (3+1)/3 days WHAT : We have created a 3D interactive runner type video game composed of 3D graphics, animation, semi-dynamic lighting, unique terrain and lots of fun and excitiment! Advanced functionality items: Advanced rendering effects- texture billboarding, texture mapping (ground, coins, background) Shaders- varying levels of light and orange hue Particle Systems- explosion of coins! Procedural modeling - terrain Collision detection - paper planes, and coins and bird to the ground Level of detail control - trees HOW : List of objects such as birds, trees, paper planes were stored in vectors. Collision detection was done by tracking exact world coordinates of objects and calculating the distance. All of modeling was done by openGL primitives and transformations with some texture mapping. The physics of flying motion, particle system, and paper plane trajectory were implemented explicitly. The back ground is billboard textured onto a quad that does not undergo and depth tests, making it always in the back, as well as always facing the player, it also scrolls The lighting's position and colour changes depending on time elapsed since the start of the game, to give it a feel of sun setting The HUD, consists of an energy which is drawn infront of everything and consists of two textures, on "filled" and one "empty" and different percentages of each is drawn The score and FPS and displayed as the energy bar is, but instead of textured Quads, they are drawn with GLUT's stroke fonts Controls and the like are simply keyboard callbacks, hooking both down and up actions to booleans and other game states Trees were rendered in varying degrees of detail depending on the distance to the camera. Terrain was generated using diamond-square algorithm, where heights were randomly generated, stored in a 2d vector and used later to draw. The colour coding method is used for picking. All pickable objects extend BaseObject, where each instance of the BaseObject is assigned a unique color. Particle system (losing coins) is essentially a vector of particles. xmov, zmov, lifetime and acceleration is randomly generated to create the random behaviour. Each tick updates the particle position. HOWTO: Press spacebar to fly. Press right key or left key for direction control. Press up key for speed increase. Press down key to release coins. (Use only during demo in case we never fly into paper planes and cannot demo our particle systems) Use mouse clicks to collect baby birds on the trees. Press 'q' to quit game. It is game over if you touch the ground once you have started so stay afloat. You lose all coins you collected, if you fly into a paper plane. Your goal is to collect as many coins and baby birds while staying afloat and avoiding paper planes. (maximize score) SOURCES: (of inspiration) angry bird graphics. sonic coins. temple run running. Vector library - Operations.h from P3.