Final Project: Kite Game
For my final project in Nature of Code I plan to turn my Midterm Project, the Kite Simulation, into a game. The goal of this game will be for the player to keep the kite in the air as long as possible. While this was simple with the simulation, it will be harder with game as I will add several new elements.

Kite Simulation
First off, the player will control the person on the screen with keyboard commands instead of the mouse. In addition, there will be a new function, which will be a vector that serves to lengthen the rope connecting the player to the kite. This will create the opposite effect of the mouse-press from the simulation. It will also play a role in the beginning of the game when the player will have to move towards the wind and lengthen the rope to get the kite airborne. This part of the game might prove difficult to create so it is possible that I will leave it out.
Once the kite is up in the air, the player will have to keep it there despite new elements that will enter the screen. The first of these will be a helicopter, which will fly across from right to left. This object will have its own force that will push and/or pull the kite if the kite is too close. It will also destroy the kite if it runs into it, ending the game. The next element will be a jet plane that will have the same effect as the helicopter except the plane will move faster and perhaps cross the screen at a higher altitude.

However, the most interesting new element will be the addition of a rainstorm. This storm will move across the screen with the wind (left to right) and will let lose rain droplets. The droplets will be purely a visual element with no direct effect; however, the storm will also be accompanied by a strong downdraft. This will force the player to move the kite out of the rain shaft quickly. This shaft will not be very wide, probably not wider than the strong updraft.
Speaking of the updraft from the simulation, it will still exist in the game only this time it will be invisible. Nevertheless, the player will need to find the updraft to help keep the kite aloft. Another new element will assist the player this endeavor, a swarm of little bugs. These bugs, which will probably just look like small dots on the screen, will move quickly across the screen at low altitude and when they encounter the updraft will be pushed upward. They will then continue to move off screen. The updraft will change position during the course of the game so the bugs may return.
Finally, I will also throw in some L-System trees just to make the environment a little more interesting. However, I might also add a condition where the kite can either get stuck or be destroyed if it lands in a tree.
Scoring for the game will be based how long the player can keep the kite up in the air in the middle part of the screen. If the kite touches the edges or goes too high, points might be deducted. As stated before, the game will end if the kite crashes into the ground or is hit by the helicopter or plane. I might also add a timing device that will end the game after a certain period of time has passed. The most obvious way to do this is to resurrect my setting sun from last semester’s Courage vs. Cowardice game. I may or may not do this.
If creating the game takes too long, as a fall back option I can simply add the new elements and let the program stand as a new and improved kite simulation. The key for me is adding those new elements, which encompass many of the topics we have learned and used in Nature of Code.