Portals End
Description:

FEATURES:

Sound adjusts based on the ships y position. The closer to the top or bottom, the louder and higher the pitch of the sound will become. The sound is a low frequency and semi-­‐low volume when in the middle of the screen.

I made the sound mostly a low frequency and volume the entire time, but it still fluctuates based on the ships y position. I did this because it became too annoying and painful to listen to while playing.

If the ship touches the sound wave at either the top or the bottom, it will cause damage to the ship. Staying in the line longer than 4 frames will kill you. This is done by frames instead of time, because the player should never touch the lines, but it gives a small room for error.

The ship is pulled to the sound waves by an “electromagnetic attraction.” Aka: Gravity.

The player must fight the pull using the up and down arrows, or clicking above or below the ship to move it in that direction. Doing this causes the ship to use energy. If your ship runs out of energy, you can no longer fight the pull. (you will die!)

The player should collect energy orbs as they continue down the worm hole, in order to keep fighting the gravity pull and dodge obstacles. The player must also avoid colliding with debris in the hole (obstacles are large squares.)

Collecting power-­‐ups is a future implementation that I was not able to include yet. They will increase the players speed and shield the players ship from the electromagnetic pull temporally as well as allow them to break through obstacles.

Other power-­‐ups may suck in all the energy near the player for a short amount of time.

The goal of the game is to last as long as possible. The score is calculated by distance travelled and the unity of measure is called “light years.”

Upgrades and different ships may become available in future release as well.

The Art style should be clean pixel art or clean vector art.

The Game was created using an object oriented approach. If I needed an object, button or something in the game, a class was created for it. These class files hold all the variables for the object. I made no variables public. In order to access the variable you must call a public function in the class, which will return the variable. This prevents accidental changing of the variable.

I had a difficult time trying to rotate the rect() around its axis. I wanted to implement this for the obstacles. But I gave up after they would go off screen but I would still collide with them. I would have like to also have more UI to show the players their score and high score, but my first priority was to get the core game mechanics done. For now it prints the score in the bottom of the console.

Code: Soure Code

Info
Year: Fall 2014
Type: Game Design
Class:
Intro to Programming, Academy of Art University
Tools: Processing

Concept Design, Visual Development, User Experience Design: Michael Witzel
Instructor: Yoon Chung Han