Main

April 17, 2007

Go Fly a Kite: The Game

Touch Pad.jpg

Background

The origins of this game go back to Dan Shiffman’s forces example in his Nature of Code Class. In the example, an object floats down the screen but as it passes through a highlighted region, its speed slows down as it interacts with a stronger force. When the object leaves this region, it resumes its original speed. This example caused me to think about other ways a region of force, seen or unseen, could interact with an object. I already had created a kite object but now the forces example gave me the idea of adding an updraft force to the simulation that could push the kite upward. With this idea in mind, I created a simulation for my Mid-Term Project. The next logical step was then to turn the simulation into a game.

Of course, just simply flying a kite in a clear sky with one updraft (that was clearly marked out) would not have made a very interesting game. Thus, I endeavored to add more elements and more forces to make the kite flying more difficult and challenging. The new objects became part of my game elements and are listed below.

Game Elements

Objects

(1) Person – Player controlled object at the bottom of the screen
(2) Kite – Player manipulated object attached to person object by a white line
(3) Bugs – Independent objects, moving from left to right and constantly wrapping around the screen, that reacts to the strong and invisible updraft
(4) Helicopter – Object, moving from right to left that wraps around roughly every ten seconds, with two forces that interact with the kite
(5) Plane – Object, moving quickly from left to right that wraps around roughly every fifteen seconds, that can collide with the kite and has one strong force
(6) Storm – Large object, moving from left to right that wraps around roughly every twenty seconds, with rain particles and a large and unpredictable force
(7) Cloud – Small object, moving from left to right and constantly wraps around, that does not interact with anything, but shows the general wind direction

Forces

(1) Gravity – Pulls kite downward
(2) General Wind – Pushes kite and cloud from left to right
(3) Small Updrafts – Move randomly and invisibly around the screen in a column which push the kite very briefly and inconsistently upward
(4) Large Updraft – Another invisible column that consistently pushes the kite and bugs upward, but moves to a new position every fifteen seconds or so
(5) Rotor Wash 1 – A force located in front of the helicopter beneath its blades that pushes the kite down and to the left
(6) Rotor Wash 2 – A force located behind the helicopter and beneath its blades that pushes the kite down and to the right
(7) Jet Wash – A very strong force located in a roughly triangular configuration behind the plane that will pull the kite very hard to the right
(8) Downdraft – A force located in a column that extends down and to the right from the Storm cloud and can push the kite randomly downward

Core Mechanic

Control Keys

“J” moves the person to the left
“L” moves the person to the right
“A” pulls the kite towards the person
“D” pushes the kite away from the person

Objective

Score as many points as possible in the time allotted by doing the following:

Keep the kite flying in the middle of the screen where it can accumulate points.

If the kite strays out of the middle region of the screen, no points are earned.

If the kite touches the right, top or green zone at the bottom (representing the ground), ten points are deducted until the kite leaves this area.

Game ends when timer reaches zero or if the kite collides with the plane.

Game Notes and Strategies

Go Fly A Kite: The Game is not easy. With eight forces that can influence the kite, keeping it in one spot for very long is almost impossible. Fortunately, points can accumulate very fast when the kite is the center portion of the screen. However, there are no indicators as to where exactly this region is. The player has to discover the boundaries by watching the kite and the score. In addition, points can be lost very fast when the kite hits the edges of the screen or touches the ground. A high score can evaporate very quickly unless the player can move the kite back into the neutral zone (where no points are added or subtracted) or back into the middle region.

The large updraft is the player’s best friend in trying to achieve this goal. However, since the updraft is invisible, the player must watch the bugs to find its location. When they enter the updraft, they suddenly move upward before moving back towards the ground. The bugs constantly wrap around the screen so they are always present to help the player.

The helicopter is only a minor annoyance as its forces aren’t too strong. Nevertheless, if the kite cannot get out the way, the player might find that he or she needs to move the kite back to the large updraft to regain altitude. The plane, however, is a larger menace. Not only does it have a very strong force that can pull the kite way off course (and almost always off the screen to the right where the player will lose points) but if the plane runs directly into the kite, the game ends. This cannot happen with the helicopter because the helicopter’s rotor wash pushes the kite out of the way.

The storm and the rainsquall are the most unpredictable elements in the game. Because of the storm’s associated downdraft, the kite can sometimes react violently as the downdraft adds to the effect of the gravity force. The player can sometimes benefit, as there are functions that bounce the kite off of the ground. However, the bounce can be too severe, sending the kite off the top of the screen

The best strategy for the player is to try to keep the kite in the center region in between the paths of the plane and the helicopter. This can be difficult as the storm will periodically come by and try to push the kite down. In addition, the wind is always blowing the kite to the right and the large updraft moves from place to place over time.

Conclusion

More work could definitely be done on this game. More elements and forces could be added, which might precipitate the addition of time to the timer. More fine-tuning could also be done on the forces. However, probably the biggest improvement would be to the core mechanic. While the key commands work adequately, there is no doubt that a different game controller would be an asset to this game. The mouse might work a little better but a more independent controller would probably work best, perhaps something like the Wii controller.

This is all just food for thought but the one thing that Go Fly a Kite: The Game definitely succeeds in doing is demonstrating how unseen forces can interact with objects and create game that is unusual yet interesting and fun to play.

Click below to play game:

Kite Game