Giovanni Perez Colon
Lava Engine
An open-source WebGL game engine based on Unity's ECS architecture.
- Category Software Development
- Core Tech WebGL
- Project Date Fall 2025
- Project Site GitHub
- Demo Site Lava Engine
Overview
Lava Engine represents the first 3D renderer I built that I consider a true game engine. Although it is a work in progress, its custom ECS (Entity Component System) architecture allows me to efficiently manage and interact with a complex array of entities across multiple distinct scenes. I dedicated significant effort to iterating on the rendering pipeline, implementing framebuffers to support advanced post-processing effects such as bloom, fog, and shadow mapping. I eventually paused development after implementing the physics system, deciding to apply these architectural lessons to Magma: the high-performance C++ successor I had originally planned. Developing this in WebGL first was a crucial step, allowing me to grow accumstomed to ECS concepts before diving into lower-level engine programming with C++ and OpenGL 4.6.