Feeding Frenzy is an endless vertical scroller game in which you play as a hungry shark. At the start the shark is small and it swims slowly but as you eat fish you become bigger and faster. Danger in this game takes the form of explosive sea mines which you must avoid. If you get hit by a sea mine you lose one of your 3 hearts and become invulnerable for a couple seconds. The game is over when you lose all 3 hearts, and your score will be printed out in the console. This game becomes much more challenging as you go because the mines get faster and your hitbox gets bigger as you eat.
I initially planned to put a power up in the game that could be collected. It would change the shark's shader to a continuously shifting normal-based shader. I expected I could create a similar effect to that of the star powerup in Mario Kart, however things didn't go so well. The shader looked great on high poly-count objects such as the Stanford bunny but the lack of normal diversity in the low poly shark model resulted in an extremely lackluster effect. Looking back it makes complete sense that the effect I planned wouldn't work on the shark model but it was something I had to try to figure out.
The most unique thing in my game that I got asked about and I didn't see in other projects was the endlessly scrolling ocean floor. To create this effect I found a simple terrain object, created four with random rotations and spaced them out so that 3 could fill the entire screen. When the bottom most terrain piece got completely out of view I simply move it back into the distance, retaining the spacing between terrain pieces.
My plan for my project in general wasn't to explore a new graphics concept but instead to prove my mastery of the concepts we've practiced this quarter. I feel that I achieved this goal because not only is the game fun to play but the randomization of the assets makes the shark's swim believable. I really enjoyed this class and hopefully that shows in the quality of Feeding Frenzy.