Giovanni Perez Colon

Lava Engine

An open-source WebGL game engine based on Unity's ECS architecture.

Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
  • 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.