3D Parkour Game Prototypes

Overview

A 3D single-player first-person movement shooter with parkour mechanics with a focus on a large scale simulation combined with emergent behaviors to provide a unique sandbox. Due to it's highly ambitious nature, I've kept this on the backburner whilst I work on other projects and develop my skillset. I've slowly been exploring this idea every now and then with small scale prototypes, such as an early stage procedurally generated urban environment using various papers on the topic as reference/inspiration. Or figuring out local coordinate space physics movement for trains and pathfinding to pre-determined stations with consideration to avoid collisions with other trains whilst still maintaining an optimal route. I've also done significant work on a robust AI system to drive the large amounts enemies that I want to have in the world and behave in diverse ways. These prototypes have also been spread across both Unity and Godot, and I've been slowly porting and reworking various parts such as the player controller and AI systems (read the related devlog here) to Godot since I've been using it more frequently as of late. It's still very free-form as this is a low-priority project, but I'm still having a ton of fun exploring concepts with the overall idea in mind!

Demo

Procedural Generation

City road generation running in a single-threaded coroutine. Mesh generation takes around 80% of the frame time here, so there are improvements to be made before adding more generation steps such as plots, building exteriors, interiors, etc

Train Usage

Demo of local-coordinate space physics allowing the player to ride and move on the fast moving train carriage (50m/s) without issues

An imported Google Earth scene for prototyping grapple movement in combination with an older version of the local-coordinate space physics

General

Showcase of movement capabilities currently available

Showcase of AI agents current behavior

AI System

Enemies movement being driven by boids with a bias towards the "player" (camera gizmo icon) with nav mesh obstacle avoidance

Experimental prototype to allow AI agents to perform "parkour" actions, much like the player

alt

Autonomous AI group movement is driven largely by a boids simulation

alt

Improved spatial querying of nearby AI agents via the use of a fixed-size octant grid

Lighting

alt

Visuals experiment with entirely baked lighting

alt

Octree debug visuals, used to generate light probes that surround the level geometry automatically

alt

Generated light probes from automatic placement

alt

Mesh vertices are inserted into the octree and light probes are placed on the corners of each octant if they aren't inside/intersecting geometry

I have a dev-log series on this project: First Game Blog Posts

Technical Sheet

Tools that I used whilst working on this project: