top of page
Homescreen_2.png

Post Apocalypse

An action-adventure with survival elements in which the player takes on the role of a postman in a dystopian, semi-realistic world. To defend himself against mutants, he can throw parcels as weapons. In the different areas that the protagonist must deliver to, mutated animals lie in wait, hungry and hostile, but as a postman, you always know how to defend yourself!

Also available on itch.io:

Details

The Game

Post Apocalypse is a single-player action-adventure with survival elements for PC and laptop. You play as a postman in a post-apocalyptic world, designed as a mix of 2D and 3D assets with high-resolution pixel art. Across varied and atmospheric environments, you deliver packages to designated recipients while being constantly hunted by hordes of mutants.

The packages are not just delivery objectives, but also your primary means of defense: throwing them can be used to take out enemies. After each throw, you must quickly retrieve them before the next threat appears. Hidden among ruins and debris are files and letters that gradually reveal the world’s story and the bizarre behavior of its mutants.

In addition to hostile creatures, the player must also manage hunger, as an empty stomach significantly reduces survivability.

Key Features and Elementes:

  • Package delivery as the core gameplay loop

  • Combat through throwing and retrieving packages

  • Collectible files stored in an in-game archive/library

  • Hunger system requiring food intake

  • Mutants as the main persistent threat

  • NPCs that must be served deliveries

Process and Insights into my Work

Package Interaction

During movement, the player’s current direction is determined via input and stored in CurrentDirection. At the same time, the local position of a designated holding point is adjusted so that the package is visually carried in the correct position, in front of, behind, or to the side of the player.

When throwing the package, it is detached from the player by removing it from the parent hierarchy and re-enabling physics (setting isKinematic = false). Based on the last stored movement direction, a force is then applied to the package’s Rigidbody, causing it to be thrown in the corresponding direction with physically consistent behavior.

Enemy Movement

First, the enemies are set up to follow the player. In Update(), a target position is calculated, and the enemy continuously moves toward it using Vector3.MoveTowards.

Based on the difference along the X and Z axes, it is determined whether the movement is primarily horizontal or vertical. From this, the corresponding movement direction (up, down, left, right) is set, the appropriate colliders (front and side) are enabled, and the animation state in the Animator is updated accordingly, ensuring that both the sprite orientation and hitboxes match the movement direction.

carbon (10).png
Screen-Effect if Hunger 

The longer the player goes without eating, the more the vignette screen effect should gradually intensify on the camera.

Here, the current vignette intensity value is continuously increased depending on whether the player is sprinting or not. If the player is not sprinting, the value increases more slowly; while sprinting causes it to rise faster. The updated value is then applied to the camera’s vignette component.

When the player consumes food, the effect is reset to zero. This creates a dynamic, time-based darkening of the screen edges that reflects the player’s survival state.

carbon (11).png
Rain Particle

The rain effect in Level 2 was created using Unity’s Particle System. The first particle system is responsible for visualizing raindrops falling from the sky, while the second system triggers a “ripple” effect at every point where a droplet hits the ground.

This combination adds depth to the scene and creates the impression of a physical interaction between the rain and the environment, resulting in a more immersive and visually responsive rainfall effect in-game.

Want to learn more about
the project?

Read my TDD (Technical Design Document)

now and get exclusive insights!

bottom of page