Pestilence Windows
Posted May 2022
You are a plague doctor treating ill patients during the plague. Suddenly, the king decrees that a portion of the city - and all of its inhabitants, be destroyed. As a simple doctor, your only goal is to escape the putrid city.
My Contribution
Despite joining the team late on this 3-month semester project, I managed to make an impact on the programming team upon joining. I immediately assigned myself to bugs and or features on our task board on GitHub, with the majority of my contributions included implementing systems and bug fixing, with this I had to learn a new coding style from the team, as well as new systems already implemented before my arrival. This experience showed me how to learn from other code syntax's and essentially adapt to them, and though me the fundamentals on working on a bigger game with a bigger team of 30+.
Systems Explored
In this section I go over some of the systems I explored during the making of this game, I select the topics I found to be most interesting and that I found to be the most challenging.
Enemy AI
In the image below, I'm showing an example of the sound-based artificial intelligence, where in the inspector can be seen the radius the enemy has for hearing footsteps and or objects thrown in that radius. The enemy shown, has three main states, patrol (going between waypoints), attack (when in the cone of vision), and sound (if an object is thrown that makes a sound or footsteps), with these states the only way to avoid the enemy is to get out of its range of vision and or crouch when near it to avoid making sounds when stepping. This AI state machine is implemented with a behavior tree, which makes the creation of states much simpler to add to.
Interaction System
In the image below, I'm showing an example of the interaction system, which is composed of picking up items, throwing them, and scrolling them away or closer to the player. To elaborate on all the mechanics, the interaction system doesn't parent the object to the player, it does it differently by applying forces, in this case, the crate, the scroll wheel mechanic just adds to the z position of the game object to push it away or closer, and the throwing mechanic just applies forward velocity based on the direction the player faces and the momentum they have.Here I just included the work that I did on the project that I found the most interesting and at the same time challenging to work with.