My Involvement
I worked within a team of 3 to create this game. My role was lead programmer and project manager while the others focused more on the artistic elements.
Snail AI
The most complex element of this game is the AI of the snail. I needed to make it adaptable depending on the level of the snail. It's ability to see the player, speed, size and object avoidance all changes as the snail evolves. I also created detailed controls to keep the animation believable and to keep the snail able to travel to the player even across multiple floors in the level design. Meanwhile, I made sure the player is still able to run away from the snail to escape it.
Game Mechanics
I also created the level design. While the other team members created the assets, I strategically placed them around the scene to make a interesting environment while still allowing smooth movement for the player and the snail. Part of the level design also includes the low lighting and environmental sound design to help the player locate the puzzle stations.
A big dynamic of our game is the growing radiation levels depending on the number of stations that need to be fixed.
I programmed this to communicate with a particle system to produce a green haze while also taking away from player health. the more "malfunctioning" stations that are active, the faster the radiation levels increases. If all the stations are fixed the radiation will gradually go down, and if the player stays on the health pad, his health increases.
In order to make the individual puzzles work with the rest of the game, I took some basic scripts from another team member and connected them with the radiation and player health scripts. Working others' code required a lot of troubleshooting for the game as a whole.
The biggest takeaway from this project was in the challenges and benefits of working with team members with a variety of skills. Being the strongest programmer in the group, but unable to realistically program the entire game in a short time frame, led to having to learn how to read and clean up others' code. Furthermore we faced several challenges with version control which grew my understanding of git while growing my appreciation for smooth version control.
As project manager, my role also consisted of team accountability. I had to help keep us all on a timely schedule while keeping good relationships with the other members. While this project started as a technical and artistic undertaking, it soon developed into a interpersonal and time management learning exercise. While at times working with others was frustrating, I am appreciative for the skills of patience and teamwork this project instilled in me.