I have developed this 2D pixel platformer using Unity. Through this project I have gotten a taste of how many complex features modern videogames have work and experimenting with object-oriented programming.
I aimed to program a highly responsive player movement system, where allowing for smooth transitions between walking, jumping, and crouching. Multiple layers of physics calculations ensure the penguin reacts naturally to terrain and obstacles.
The more the jump button is pressed during a jump, the higher the player jumps. There is also a buffer system so that if the button is pressed before landing the player jumps. When in the air, the player also falls faster when holding the down arrow.
To make the movement more natural and fair, I added a system that makes the player pass the ledge if it is just about to pass it but hits the wall.
The player is nudged to the side when hitting a corner, allowing it to continue the jump.
The player could just after leaving the ledge in order to make the movement natural and to make sure a jump occurs even if the penguin is pixels off a platform.
The game also has advance movement mechanics for a higher difficulty curve.
A multi-layered parallax background which adds depth to the game environment, with each layer moving at different rates.
Used obsive behavior designer to create an advance boss enemy with an attack pattern envolving several movements and with varying phases depending on its health and other variables.
A* pathfinding is implemented to give enemies the ability to navigate the level intelligently, finding the shortest path to the player while avoiding obstacles.
The enemies are designed with unique attack patterns, and the damage system with hurt and attack boxes allows the user to attack enemies and to be damaged by enemies. There is also invinsibility during certain player moves where the user can't be hurt.
The level select menu allows players to choose from different levels, each being unlocked through a certain progression.
The game features unique mechanics, each with its own mechanic. Many are still under development.
Using 2D lighting to allow for dark levels which are more difficult to navigate.
A platform which moves along and out the rails.
This grabbable item allows for complex movement.
A tyrolean which allows the player to quickly move from one point to another.