Home/Projects/Courier Life Simulator
PCSteam

Courier Life Simulator

UnityC#3DSimulationPCSteamworksSOLIDObserver Pattern
View on Steam
Courier Life Simulator

Trailer

About This Project

Role: Solo Developer — Game Design, Programming, 3D Pipeline, Publishing

Courier Life Simulator is an independently developed and self-published PC simulation game on Steam, where I served as the sole developer across all disciplines — from concept validation and game design through to programming, environment setup, and store release.

Architecture & Programming

All gameplay systems were built in C# using Unity, with a strong emphasis on code quality and maintainability. The codebase follows SOLID principles throughout, and the event/communication layer is built on an Observer pattern to ensure loose coupling between systems. This makes the project easy to extend and debug without cascading dependencies.

ScriptableObjects are used strategically across the project — not as an overengineered pattern, but where they genuinely benefit iteration. Designers (or a future collaborator) can tweak delivery rewards, vehicle damage rates, and other tunable parameters directly from the editor without touching code.

Physics-based interactions — including package pickup, dropping, and throwing — were implemented from scratch to feel responsive and natural.

Steam Integration

Integrated the Steamworks SDK to retrieve the player's Steam display name and use it contextually in-game. The game also reads the player's Steam language setting on launch and applies it automatically, falling back to English if the language isn't supported — providing a seamless localized experience without manual configuration.

UI and animation systems were built using the LeanTween library for lightweight, performant transitions.

Environment & Level Design

The city environment was generated using the ICity Blender plugin — a tool not designed for game engines. I adapted it for Unity by authoring LOD hierarchies, writing workflow scripts to strip unassigned materials from meshes, and removing disconnected geometry to make the assets pipeline-ready. Terrain was created and shaped directly in Unity to match the map layout.

Asset Integration

Integrated the Realistic Car Controller (RCC) asset for vehicle physics, modifying internal scripts where necessary to allow bidirectional communication with custom gameplay systems — including mission logic, collision responses, and state management.

A robust save system with data encryption handles player progress serialization.

Live Ops

The game is actively maintained with updates ongoing. A major update currently in development will significantly expand the gameplay scope.

Built with v0