Purpose of the Game
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.
Technical Features and Programming Insights
Player Movement
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.
Responsive jump
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.
Wall Correction
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.
Corner Correction
The player is nudged to the side when hitting a corner, allowing it to continue the jump.
Ground Saver
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.
Advance movement
The game also has advance movement mechanics for a higher difficulty curve.
Parallax Background
A multi-layered parallax background which adds depth to the game environment, with each layer moving at different rates.
Boss Behavioral Movement
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
A* pathfinding is implemented to give enemies the ability to navigate the level intelligently, finding the shortest path to the player while avoiding obstacles.
Enemies & Damage System
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.
Level Select
The level select menu allows players to choose from different levels, each being unlocked through a certain progression.
Some Game Mechanics
The game features unique mechanics, each with its own mechanic. Many are still under development.
Lighting
Using 2D lighting to allow for dark levels which are more difficult to navigate.
Moving Platform
A platform which moves along and out the rails.
Object bounce
This grabbable item allows for complex movement.
Tyrolean
A tyrolean which allows the player to quickly move from one point to another.