Penguin Fish Fever
Time Frame: 04.2017 - 07.2017
Roles: Programming, Directing, Technical Art, Lighting, VFX
Team Size: 6
Responsibilities
Implementation of three different controlablle characters that can attack and stun each other, have stamina, a special ability each and can pick up and throw fish
Set up of a 3 screen splitscreen
Creating aim assist for throwing fish
Implementation of a system to randomly populate the map with stacks of boxes and scattered fish
Support for different control modes
Set up of a menu with elements procedurally animated from code
Setting up ragdoll physics for the fish and an octopus
Design and implementation of VFX and lighting
Coming up with the original pitch and directing the team to stay true to this original idea
Summary of my Work
As the first semester-long project in my studies, Penguin Fish Fever was my first proper game project and my very first team project after the first semester was spent learning the basics of game development with smaller projects. My originial pitch for this game was a lot more ambitious, being a networked multiplayer brawler with a big arena and a whole arsenal of melee and ranged weapons. However, we quickly realized that we had to cut down the scope drastically, which we did under my direction. Because we were also influenced a lot by our professors during coachings, the end product is not quite what I was aiming for, but as a first game project it was still a valuable experience.
My main responsibility in this project was programming, however I also set up ragdoll pysics for the fish and octopus the players throw around and implemented a variety of cartoonish particle effects and the flickering lights of the abandoned laboratory serving as the arena.
As the only programmer in the team, I implemented all the nessecary logic. To set up the arena, before the game starts it is randomly scattered with collectible fish and stacks of destructable boxes that drop fish when destroyed. The players control one of three characters each and have to collect fish to win. They can deal damage to each other and make an opponent drop their fish by throwing their own fish at them or using their unique stamina-consuming attacks and special abilities. One can fly using stamina, one does not slide on the ice patches on the floor, and the third can collect special crabs that give it extra speed or strength. Because the game has to be played with a controller, I also implemented a simple aim assist for throwing fish. The trajectory a fish will take and its impact point is drawn on screen and snaps to a target when it is close enough.
Because I had no prior experience with networking code, I had to switch to a local multiplayer model with splitscreen after a failed networked prototype. This caused us quite some performance issues because everything had to be rendered three times, but in the end it was functional enough. We also went through several iterations on the control scheme, with each having its proponents and opponents, so in the end I implemented support for each player to chose one of the three control schemes in the menu. The menu was also set up by me and features procedural animations of the buttons and screens implemented in code.