Taxi Driver

This project is a small interactive tech demo inspired by Martin Scorsese's Taxi Driver. It was built as a personal experiment in lighting, environmental storytelling, and procedural world generation — all with the goal of capturing the film's sense of isolation and unease.
Technologies used
- Language: C#
- Engine: Unity (2020)
- Development Tools: Unity Editor (prefabs, scene management, animation tools), Visual Studio
- Assets & Art: Photoshop & licensed third-party 2D sprite packs, audio assets
- Version Control: Github
Procedurally generated world
The world as it exists in this demo is procedurally generated and infinite. It goes on and on for as long as you leave it running.
The buildings in the background, and the road... As the taxi moves forward, prior buildings that have been generated are recycled and placed forward ahead of the player.
Unity Engine was used for this project and it has a heavy garbage collector, so generating new instances of the buildings and road would have been expensive and wasteful. Instead we generate all the assets at launch and then recycle them throughout the lifecycle of the experience. Once they go out of view, we move them ahead of the player character.
Environment
The demo uses dark lighting and velocity to indicate the characters mental health status.
As the instrumental music plays upon the start of the project, it seems like an ordinary night on the streets of the city. Though, lonely, it is peaceful and appears as a normal driver doing his usual job.
As Robert DeNiro's famous monologue begins, tensions highten as the taxi rapidly picks up pace... Moving through the city at a blistering and dangerous speed. This is meant to invoke tension and fear.
As this monologue fades and passes, the Taxi slows down to it's usual speed as if nothing has ever happened... And the cycle then repeats.
Techniques applied
- Procedural generation: The city in the background, from the road to the buildings, are procedually generated in terms of layout and no two sessions will look the same.
- Audio and sound design: The experience uses custom audio tracks to set the mood and atmosphere, with dynamic soundscapes that change as the demo progresses.
- Environmental storytelling: From the lighting, to the world, to the camera angles, the project is designed to tell a story with only a small amount of content.
Controls
Being a simple interactive demo, the controls are very light and simple.
- 📷 C: Change camera angle dynamically. This happens automatically over time to match the environment and music, but you have complete control yourself also.
- 🎵 M: Toggles the 'mute' status of the music. You can see this experience without music but as with any digital art, it's not the same without it.
