Giter Club home page Giter Club logo

sfxclone's Introduction

Starfox Clone Final Project

Adam Shwert - 503 651 289
Wahid Chowdhury - 103 673 844
Kyle Morton - 503 779 834
Joachim Valente 204 134 373

Our project is a game inspired by the game Starfox on NES. We control a spaceship that can translate on a plane (using 
directional arrows) and shoot at enemies that pop up in the distance (SPACE). Enemies come closer to the spaceship
until a certain point where they stay still but keep shooting back at the spaceship. There are several kinds of enemies
which have different speeds and shapes. Each time an enemy is hit it is destroyed (and we earn points) and whenever the
spaceship is hit our health bar decreases. Each 10,000 points the player can click on a power-up to destroy all enemies
at once. When health reaches zero the game is over. The ship can also do a barrel roll (hit 'b' once or 'z' or 'r'
twice).

For this project we used Blender models for the ship, the enemies, and the buildings. The background
and grass were orthographic projections of images. The bullets were also a model. We used SFML for 
our sound purposes. We mapped textures onto the shark enemy as well as one of the skyscrapers (the black one). 
The explosions as well as the ship flashing when it gets hit utilize transparency. You start with 
10 health and it counts your score as you go, getting 250 points per enemy killed. We use collision 
detection to determine if you hit enemies or if an enemy hits us, which satisfies one of the advanced 
topics we had intended to cover. Once you kill a certain number of enemies, a button appears that you can click to kill
all of the enemies on the screen. This uses color mapping and selection, and satisfies the second advanced topic 
we chose to implement. When your health reaches 0, you get a game over screen and your final score is displayed.
If you have any issues getting the code to run, don't hesitate to e-mail one of us. Have fun!

SFML: We utilize the SFML library to handle sound in the game. A copy of it is included for Mac OS X Lion in this directory,
and you will needed to copy the .framework files from the Frameworks directory in it to 
/Library/Frameworks to install the library on your machine. Additionally, you will need to copy the two 
.framework files from the extlibs directory (freetype.framework and sndfile.framework) to /Library/Frameworks.
Installation instructions can be found here http://www.sfml-dev.org/tutorials/2.0/start-osx.php. If your OS is older
than Lion, you can go to the Downloads section and install an older version.
SFML installation on Linux is straightforward: sudo apt-get install libsfml-dev (beware; we used SFML 1.6 on Linux and 
SFML 2.0 on Mac OS, and our code uses the trick #ifdef __APPLE__ to distinguish between between 1.6 and 2.0 code).

Lastly the program has been shown to have some issues on Linux, it may be recommended to run it on Mac OS or Windows.

Note: We have submitted the code as an Xcode project that you should be able to run on a Mac. The main function has two
lines that initialize glew (glewExperimental = GL_TRUE; glewInit();), that we commented out while doing development
because it wasn't installed on the Mac machine we were using. You may need to add the GLEW library to the Xcode project
for those two lines to work if using the included Xcode project Dev, though it will probably be okay to comment the two
lines out a play the game.

sfxclone's People

Contributors

wahidac avatar joachimvalente avatar fishmicmuffin avatar

Watchers

 avatar James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.