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
Autonomous AI group movement is driven largely by a boids simulation
Improved spatial querying of nearby AI agents via the use of a fixed-size octant grid
Lighting
Visuals experiment with entirely baked lighting
Octree debug visuals, used to generate light probes that surround the level geometry automatically
Generated light probes from automatic placement
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:
- IDE:
- Game Engine: