Voxel engine
team build raytraced, destructable voxel engine with dynamic raytraced lighting
Project overview
This document outlines my contributions and key experiences during an 8-week team project to develop a multi-platform Voxel engine, renderer, and interactive editor from the ground up.
Scope:
This was a team project consisting of 7 programmers. It was build mostly from scratch in 8 weeks time, with 4 sprints lasting 2 weeks each. This project included making an engine, renderer, editor and small demo. Implementing this engine involved combining and improving our previous efforts last block into one engine/editor.
Tech Stack & Workflow:
Languages & APIs: C++, OpenGL, proprietary PS5 SDK
Shaders: GLSL & PS5 shading language
Build & Tools: Visual Studio & MSBuild, GitHub (version control, automatic deployment, and Projects boards), RenderDoc and Nsight graphics/systems ( profiling).
Collaboration: Agile sprints and standups via Discord; code reviews and issue‑tracking on GitHub
Key team Achievements:
60 FPS (soft target) / 30 FPS (hard) achieved on PS5 devkit, 60-120 FPS on pc.
256³ fully destructable voxel grid with multiple smaller grids for enemies and object
Modular Engine Design: Consolidated prior semester prototypes into a unified C++ core with clean subsystem boundaries (graphics, input, resource management, ECS) using a very lightweight existing framework.
Platform abstraction: as the engine is multi-platform supporting both pc and ps5 we have abstracted our platform code to allow for more seamless deployment on both platforms.
Real‑Time Raymarched renderer: Implementing raymarched voxel rendering, raymarched shadows, and raymarched ambient occlusion,
Procedural generation: featuring full procedural terrain generation featuring different types of foliage, ores and materials.
Dynamic world manipulation: full in game world manipulation in the style of Minecraft.
Interactive Editor: Developed an in‑engine editor with scene-graph manipulation, support to extensively alter our procedural terrain generation
Demo Showcase: Assembled a small demo level demonstrating the highlights of our engine.
My Role, contributions, and responsibilities
during the course of this project I was responsible for and took the lead in most of the following tasks:
Architected and implemented a 2 stage (course and sub-voxel) voxel traversal algorithm for our renderer.
Led the implementation of our rendering pipeline on the PC, including the primary voxel rendering, sub-voxel rendering, texture support, implementing acceleration structures for our voxel storage, raymarched shadows and other visual effects like fog.
Architected and Implemented the Terrain manipulation to work at 60 fps at a fixed cost regardless of manipulation size. Implemented the coupling of the terrain manipulation and our inventory system.
Collaborated on and contributed to ps5 support, whilst another teammate was primarily responsible for implementing all our ps5 specific code I did work partly on implementing support for ps5.
Technical details of implemented features by me
Other storage/traversal techniques tried
Challenges