The Final Voyage - pygame - GameSIG 2012
Channel: lilbakabot
Date: 07/04/2012

Created by: Chris Turczynskyj, California State University, Fullerton

Skip to gameplay:
http://www.youtube.com/watch?v=3YeEKLZB3BQ#t=1m52s

The Final Voyage was originally constructed as the final project for a game design class at CSUF over the period of a few weeks.  Recently I have been adding extra control functionality to my control class in other pygame games and have brought that functionality to The Final Voyage as well so that it now supports keyboard as well as joystick.

The Final Voyage runs very much like the shooters of yesterday.  The player controls a small ship going up against an enemy that vastly outguns them.  The player is expected to use superior control skills and hand eye coordination to dodge the large amount of shots being produced by the enemy while simultaneously landing their own bullets in the enemy.  After many bullets, the enemy will finally yield to the underdog player and the player will earn points.

If the player's cockpit is hit once, his/her ship explodes and the game is over.  If the player defeats all of the enemy's phases, the enemy ship explodes and the game is over.  In either case, the score earned up to that point is displayed on the game over screen and if the score is greater than the last top score then it is saved to the file "save.sav."  This top score is displayed on most screens in The Final Voyage.  You can simply delete "save.sav" if you ever want to reset the top score to its default.

Keyboard controls are:
arrow keys = move
'a' = fire and menu forward
's' = slow movement and menu back
'p' = toggle pause during a game
'Escape' = quit the game from anywhere in the program
'm' = toggle mute from anywhere in the program

Joystick (xbox 360 tested) controls are:
d-pad = move
A button = fire and menu forward
B button = slow movement and menu back
Start = toggle pause during a game

The Final Voyage is tested with pygame 1.9.1 and python 2.6.6 and has been successfully built into a windows executable program using py2exe.

Command line arguments:
main.py [-h] [-i] [-m] [-f] [-p]
-h - show this help menu
-i - invincible player (no high score saving)
-m - mute the sound at startup
-f - run The Final Voyage in fullscreen at startup
-p - run The Final Voyage in Pandora handheld mode

Not included:
Pretty graphics.  These games are less about graphics than they are about making sure the player can clearly see what is going on at all times, giving the player the feeling that anything that happens (success and failure) is their own doing.

Credits:
Title track: Underclocked, by: Eric Skiff
http://ericskiff.com/music/

Battle track: Crash Of The First Interstellar Channel, by: 2NRO8OT
http://freemusicarchive.org/music/2NRO8OT/

Fonts CYNTHE and AR TECHNI, by Heber Xavier Arroyo
http://www.harroyo.co.cc/p/descargas-downloads.html

Font Optic, by Neale Davidson
http://www.dafont.com/neale-davidson.d32#null

Capture:
I used the newest beta of MSI Afterburner to capture video and uploaded the raw uncompressed file to youtube (kind of amazed that it worked).

URLS:
http://www.python.org/
http://pygame.org/
http://event.msi.com/vga/afterburner/index.htm