(L) – User will hold down the letter L to charge a single jump. The longer the user holds down L, the higher the jump will be.
If the user holds L for more than 3 seconds, the bottom of the canvas will start flashing a color giving the user a warning that the jump charge has reached its maximum capacity.
(M) – The user will be granted a one-time power up in the game. When the user is wants to, the user has the ability to press M and this will clear all the blocks on the current canvas screen.
(Color Picking) – The user will have the ability to change its own color into any color the user desires when the user clicks on the square itself. The user will also have the ability to change the color of the ground into any color when clicking on it. There is a slider that allows the user to change either itself or the ground. There is also another separate slider that allows the user to change the blocks moving through the canvas.
(Heads-up Display) – During the game we plan to have 2 heads up display. At the top left corner, we will be displaying 2 things. As the game is running, the user will be allowed to see their current score based on the number of blocks they’ve jumped over. Also there will be a target score in which it keeps track of the users highest score achieved throughout the many games the user has played. As a result, the user will not have to take its eyes off the canvas during the game when trying to achieve a high score.
(Collision Detection) – As the user crashes into a block, the game will end. The user as one object, and the blocks as another object. When these two objects have collided, there will be a pop up saying "You're a loser", and the total score will appear at the top left. Momentarily, the game will start again, and the user will have a chance to beat its own score.
(Phong Shader) – As the user jumps up and down, there will be a different aspect of color depending on the height of the user. As the user jumps, the amount of light would intensify. Also the ground has a lighting in which the higher up the ground is, the gradient would intensify.
The assignment was used from part of assignment 4's base code. We decided to change up the 3d world into a 2d world. As a result, a lot of things had to be modified. Rather than implementing an array of blocks, we decided to take the approach of loading in random blocks using Math.random. Texturing the user is also another thing we've implemented. Using the advanced methods and interactive features, we created an endless running canvas which makes up this game, "BIRD JUMP".
Created by Jeffrey Yeung and Terry Guan