top of page

Endless Runner

A fully procedural endless runner in Unity, with all textures, animations, and gameplay elements generated dynamically using C# and Shader Graph.

Role: Developer | Technical Artist

Tools Used: Unity, C#, Shader Graph


Overview:This is a fully procedural endless runner developed in Unity, where all textures and animations are generated procedurally using Shader Graph. The entire game is controlled via C# scripts, ensuring zero external assets were used. The goal was to build a game that is entirely procedural, from graphics to gameplay mechanics, pushing the boundaries of procedural generation in Unity.


My Contributions:


Graphics & Procedural Visuals:

  1. Procedural Tiling Shaders:

    • Designed tiling shaders that dynamically adapt to different-sized tiles, ensuring seamless textures without visible seams.

  2. Procedural Character Animation:

    • The player character has a Shader Graph-based procedural animation system, where eye movements and transformations are driven by C# scripts manipulating shader variables.

  3. Dynamic Environment Effects:

    • Used Perlin noise to generate procedural mist in the background.

    • Created animated lights on background buildings with procedural flickering effects.


Gameplay Mechanics & Procedural Systems:

  1. Procedural Terrain Generation:

    • Developed a spawner system that generates ground segments of varying sizes dynamically, adjusting shader tiling values to maintain consistency.

    • The same system spawns background buildings, adjusting their properties dynamically for a seamless appearance.

  2. Layered Parallax System:

    • Implemented a parallax scrolling system, with different layers (foreground, background, etc.) moving at different speeds to create depth.

  3. Enemy AI & Behavior:

    • Designed AI behaviors where enemies avoid falling off the ground and dynamically change direction upon collision with one another.

  4. Modular Pickup System:

    • Built a flexible, modular pickup system, allowing for easy addition of new power-ups via the Unity Inspector.

    • Key pickups include:

      • Invincibility Armor: Procedurally animated golden armor on the player, activated via Shader Graph.

      • Bullet Pickup: Grants the player the ability to shoot projectiles.

      • Score Multiplier: Randomly increases the player's per-second score.

      • Revival Crystals: Allow players to continue after death.

  5. Procedural Rope System:

    • Designed dynamic ropes with random lengths, allowing players to hang and swing from them for added vertical gameplay depth.

  6. Responsive Player Controls:

    • Implemented a jump system where players can tap for a short jump or hold for a longer jump, adding skill-based control to movement.

Impact & Results:

This project served as an experiment in fully procedural game development, proving that a complete game experience can be built without external assets. The result was a visually unique and highly dynamic endless runner that adapts to player interactions in real time, showcasing the power of procedural generation in both graphics and gameplay.


https://youtu.be/vDg3BesL8pg?si=PFQ3KV8k17bukaZo

Project Gallery

bottom of page