Blog

Thoughts, tutorials, and insights about web development

Episode 6: World State Management & Events - Building an Event-Driven Game Engine

Dive into event-driven architecture as we implement a comprehensive event system for our game engine. Learn how to manage world state, track entity lifecycle events, and build reactive programming patterns that scale.

CodingButter11/10/2025

Introducing Lattice Editor: Visual Game Development in Your Browser

Build games visually with our new browser-based editor powered by the Entity Component System architecture. Create, edit, and manage game entities with an intuitive interface.

CodingButter11/6/2025

Editor UI Foundation

Episode 5 builds the editor UI with resizable panels—toolbar, hierarchy, inspector, assets, and controls. We introduce GameProvider for state management and create a professional layout that makes the engine feel like a real tool.

CodingButter11/6/2025

The ECS Pattern

Episode 4 introduces the Entity Component System pattern. Instead of rigid class hierarchies, ECS uses composition—entities are IDs, components are data, and systems contain logic. It's modular, flexible, and scales.

CodingButter11/6/2025

The Engine Heartbeat

Episode 3 builds the game loop—the engine heartbeat that drives everything. We implement separate update and render loops with delta time and fixed tick rates, then wrap it all in the @ges/core package for clean imports.

CodingButter11/6/2025

BHVR Stack & First Renderer

Episode 2 introduces the BHVR stack (Bun, Hono, Vite, React) as the development tooling layer and builds the first renderer package. We go from an empty canvas to drawing our first rectangle—a simple but critical milestone in the engine journey.

CodingButter11/6/2025

Building a 2D Game Engine from Scratch: The GameEngineSeries Journey

Join me as I build a complete 2D game engine from the ground up using modern web technologies. Learn about the BHVR stack, Entity-Component-System architecture, and the philosophy behind building complex systems one step at a time.

CodingButter11/1/2025