Endangered Species Launching Game

Application Commentary
The purpose of this project is to teach the viewer about endangered species and projectile motion. By specifying the angle of the ramp and the initial velocity, the viewer must launch each animal off a ramp and into its correct habitat (e.g. rainforest, desert, deciduous forest) to win. Information about endangered species is integrated into the game: without learning about each species that is presented, the viewer does not know into which habitat each animal must go and thus cannot win the game. Thus, the viewer learns to recognize each species and its environment. Likewise, an understanding of projectile motion makes it easier for the viewer to land the animals where they are supposed to go. An explanation of projectile motion is incorporated into the game, but only as a side note: if the viewer wants to understand more about the equations of projectile motion, he or she can go to this information page. This information page will explain how one can calculate the position of a projectile at time t given its initial velocity and angle. This includes some trigonometry and physics, so if the viewer has not yet learned the math necessary to understand the equations, he or she does not need to look at this information page in order to win the game.
My application deals with the ideas of slopes and projectile motion. I explain both concepts in a “math explanation” page. Slope is rise over run, or change in y divided by change in x. The slope of the ramp in this application determineS the launched object’s initial angle. If the angle is too large (too near 90°), the object will be launched very high, but not very far. If the angle is too small (too near 0°), the object will be launched very low and not very far. Thus, by experimenting with the application, the viewer can empirically discover the optimal angle, which is 45°. Projectile motion deals with the path, or trajectory, that an object takes when thrown up in the air. An initial force gives the object a starting velocity, but from then on, the only force acting on the object is gravity. Therefore, as the object continues to move forward, its trajectory describes a perfect parabola: the object first continues to rise, more and more slowly; it stops for a moment; then it falls toward the ground. The position of the object can be described with an x-coordinate and a y-coordinate. Along the x-axis (parallel to the ground), the object moves at a constant rate, so x = v0cos(a)t, where v0 is initial velocity and t is time elapsed. Along the y-axis (vertically), the object’s velocity changes, so its position can be described with the equation y = v0sin(a)t – 4.9t2, where v0 is initial velocity, a is initial angle, and t is time elapsed.
I drew all the images of animals and settings myself, using photographs from the Internet for reference. I used Photoshop to draw the pictures. The purpose of the art is to make the concepts more accessible. The grainy, cartoony pictures of the endangered species make the animals look more concrete and close to the viewer. The viewer feels more empathy for these somewhat anthropomorphized versions of the endangered species. Furthermore, the cartoony style gives the game more appeal. The cartoony animals and landscape look more fun and accessible than photographs of real animals and places. Overall, I want to use the art to convey the message that many strange, unique animals are endangered because of human activities, but that an individual can make a difference. This is why I include a frame that explains what the viewer can do to help endangered species.
The program I use for this project is not very different from that of the original starter project. The major changes I made were to add different frames (along with buttons to navigate between them) and to have several objects launched that each have their own destination. The frames included pages for introduction, instructions, credits, and information about endangered species and projectile motion. Each animal must be launched into a certain area of the stage (defined by x- and y-coordinates) in order to win. I coded this using “switch” statements and a random number generator in order to choose the next animal to be launched. I also included a dynamic text box to display on the stage the name of the next animal, so that the viewer knows where to launch the animal. The math aspect, of projectile motion, stays the same: functX=vel_txt+"*cos("+angleTemp.toString()+")*t"; functY="-("+vel_txt+"*sin("+angleTemp.toString()+")*t - 4.9*t^2)"; These two lines of code are the equations described above in the “Applied Math” section: x = v0cos(a)t and y = v0sin(a)t – 4.9t2.