What is it?
Oh My Cod! is a Fish-Slapping 3D Adventure game. Search shipwreck island to find your missing ship parts. It won't be that easy though, look out for Captain Glocktapus and his crew of knife wielding crabs!
What I did:
I worked on a team of 5 to create this game over a weekend for the Global Game Jam using Unity. I worked on creating the Player Controller, the Combat and Health system, and the Dialogue System.
Challenges and Solutions
This was a Game Jam Project so things were going to get messy eventually, in the beginning I tried to make classes as independent and polymorphic as possible.
I started by making my Player Controller, I've had poor experiences with Unity's default physics system, so I made my own simple physics for instead along with a custom camera. I also found and set up animations for the Game Jam Build's Player Model, which could later be easily switched out by designers. I then moved on to setting up a health and combat system usable by multiple actors. I made health a component with functions such as modify health and an event that would trigger once health became zero. This way actors could take damage, recover with health pickups, and have death behavior depending on their type, i.e. player respawns, enemies are destroyed. I facilitated combat with a contact damage component that would be attached to objects such as the player's fish and the crabs' knives each contact damager would call modify health, but ignore the health of their parented objects. I also wrote a dialogue system that would read text files, disable player movement until dialogue ended, and have the ability to change the camera position. |
What's Missing / Lessons Learned
Since it was a game Jam, by the time I was creating custom camera angles, I was tired and not doing my best work. I should have used a list of predetermined transforms offset by the focal object, but instead wasted time manually dragging the camera.
We also had our Behavior Tree for our crab AI stop working, so I had to write a last minute state machine that would cause the crabs to approach and start attacking based on distance from the player. There was about 1 hour before submission, so I didn't have time to bound them to our nav-mesh or add some sort of gravity. To stop them from floating, we had to remove the player's jump ability. Regardless, we submitted our game on time and were a crowd favorite at our local showcase. This was without a doubt, the smoothest Game Jam experience I ever had. After this Jam, our team remained close and would come back together to create more games. |