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.

Player Movement Diagram

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.

Player Movement Jump

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.

Player Movement Wall Correction

Corner Correction

The player is nudged to the side when hitting a corner, allowing it to continue the jump.

Player Movement Corner Correction

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.

Player Movement Ground Saver

Advance movement

The game also has advance movement mechanics for a higher difficulty curve.

Player Movement Dive Boost Player Movement Swipe Up

Parallax Background

A multi-layered parallax background which adds depth to the game environment, with each layer moving at different rates.

Parallax Background

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.

Boss Behavioral Movement Diagram

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.

A* Pathfinding

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.

Enemies & Damage System

Level Select

The level select menu allows players to choose from different levels, each being unlocked through a certain progression.

Level Select

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.

Lighting

Moving Platform

A platform which moves along and out the rails.

Moving Platform

Object bounce

This grabbable item allows for complex movement.

Bounce object

Tyrolean

A tyrolean which allows the player to quickly move from one point to another.

Tyrolean