Project Overview
Blocky is a cloud-based 2D game engine and editor, developed single person over ~3 months. Currently only frontend is 38k+ lines of code and it's still in development.
The engine handles complex, deeply nested project state including scenes, entities, components, scripts, assets and comments all synchronized across the editor.
The main challenge of this project is state management at large scale. With hundreds of interconnected states across the editor, changes in one part (scene graph, scripts, or assets) propagate efficiently across dependent systems without unnecessary re-renders.
- Fine-grained state updates instead of global re-renders
- Separation between engine state and UI state
- Predictable data flow for complex interactions
Why This Is Much Harder Than a Typical React Project
Unlike typical React applications, Blocky behaves more like a real-time IDE in the browser. Multiple subsystems operate simultaneously on shared state:
- Scene graph with entities and component hierarchies
- Live script editor with virtual machine code execution
- Asset management for textures, audio, and tilesets etc...
- Inspector panels with dynamic property editing
- Component system and editing tools
The core difficulty is ensuring these systems stay in sync without introducing unnecessary re-renders or blocking the main thread. This requires careful component boundaries, memoization, state normalization, and efficient update propagation.
The engine also includes custom runtime systems like a lightweight physics engine and audio pipeline integrated directly into the editor and renderer, showing both front-end React expertise and full-stack developer experience.