Overdosed is a game where players play as a cute lab mouse and treat patients by mixing the right medicine.
The game project was developed during my time at Futuregames with a team of 13.
This was my first group project and I get to learn how to work in a team and how to manage a team as a lead programmer.
- One notable task I did was working on the carrying object mechanic. 
- In the game, there are two types of objects that can be carried physically by the player — a flask, or a liquid ingredient 
- Each type has their own characteristics 
- However, they both share the same behavior of being carried by the player 
- So, I created a base class called - LabObject, which is then inherited by two subclasses called- FlaskObjectand- LiquidObject.
 
- The player holds a reference to a - LabObject, which an object of type- FlaskObjector- LiquidObjectcan still be assigned to the reference. Hence, upcasting.
 
- When a station (the places where you interact like the mixing station) gets interacted by the player, it can process what the object the player is holding by downcasting the - LabObjectto either a- FlashObjector- LiquidObject.
 
- This is also expandable if there are new types of objects.