For my project I attempted to create a game with the the same look and feel as the original Star Fox game for the Super Nintendo Entertainment System. However, due to time constraints and limited resources I was only able to complete some of the visual components and some user input. Currently there is no hit detection implementation, which is essential in order to call this a "game." As it stands now it is simply a visual representation of the game and what it could have/should have been.
You control Star Fox in his Arwing through the planet of Corneria in an attempt to get as far as possible. However, there are enemies flying towards you in an attempt to stop you. It is your goal to get as far as you can without colliding with an enemy.
Your arwing moves at a set speed and moves at a set speed. Each enemey has a randomly generated position and speed. Initially, only 10 enemies can be on screen at once, however ever 10 seconds an additional enemy appears, up to a maximum of 50. You can shoot your laser to help you get through the barrage of enemies. The game ends once you collide with an enemy, and your high score is recorded based on how far you travelled as well as the number of enemies you destroyed.
'w' - Move Arwing up.
'a' - Move Arwing left.
's' - Move Arwing down.
'd' - Move arwing right.
Space Bar - Shoot Laser.
'c' - Prints current score to console.
User movement is where I spent most of my time. I attemped to create a look and feel similar to that of the original Star Fox game. What this entitled was rather than have a static model of the Arwing move with the key presses, I wanted the Arwing to turn and point in the appropriate direction. Not only was this important in recreating the look, it was also important in determining where the laser would go when fired. Additionally, once the user stops moving the arwing points automatically corrects itself to point straight. Both of these required the use of animations. The laser fires from the position of the Arwing and continues until it gets to a certain point.
I attempted to keep the same look as the original Star Fox game. I ripped the background and ground from the game itself and applied the textures to flat planes. Other than those, no other complex textures were applied as the the original game only had some flat colors. The building shapes were intentionally simple as the that is how they were represented in the game. I found a program that claimed to rip models from the game, however it would not work correctly so unfortunately instead of models of enemies from the game I had to settle with cubes.
Lighting was kept simple, a directional light source positioned behind the Arwing. There is a full phong implementation, with diffuse, specular, and ambient light. Specular lighting treats all materials as the same, as mentioned earlier I wanted to keep the same look as the original game.
To create the illusion of forward movement, I had the dots on the ground as well as the buildings continuoisly loop towards the camera. In reality, the Arwing model remains in the same depth, and all of the other objects are moving forward. I found my implementation interesting as it is opposite of what it is intended to look like (Objects moving towards Arwing vs Arwing moving towards objects.)
As I ran out of time to mplement hit detection, most of the gameplay mechanics are not implemented either. The only one currently in place is 10 points are awarded for every second the Arwing remains flying. The game would, in theory, end once the Arwing collides with an enemy and it would display your final score.
In the future, I hope to finish the game with hit detection implemention, as well as a HUD to display the current score.