Hex Engine

A Modern 2D Game Engine for the Browser

⚠️ WORK IN PROGRESS ⚠️

Hex Engine is a 2D Game Engine for the browser, written in TypeScript. It is designed to feel similar to React.

Hex Engine implements a variant of the popular Entity-Component-System model, adapting it to make Components radically composable. In Hex Engine, every Component is a function, and Components can call special Hook functions to define their behavior in the game engine.

Hex Engine comes out-of-the-box with a powerful development inspector and a modern frontend code compilation pipeline.

Out of the box, Hex Engine has:

  • 2D rendering via HTML5 Canvas
  • Support for sprite sheets and animations
  • Helpers for sound playback and synthesization
  • Physics (via matter.js)
  • Mouse, Keyboard, and Gamepad input
  • First-class support for popular indie game development tools Aseprite, Tiled, and BMFont
  • And much, much, more

Hex Engine is inspired by React, Impact, Unity, and LÖVE.

Hex Engine was created by yours truly, Lily Scott. I am known throughout the JavaScript Open-Source community as one of the core maintainers of Prettier, and I have also contributed to a myriad of other well-known projects, including Babel and React DevTools.

I built Hex Engine because I felt that the browser game engine space could benefit a lot from technologies and patterns found in the open-source JavaScript frontend and tooling communities.

It is the culmination of years of research, and probably the fifth or sixth game engine I have written for the browser (but the first that I've been proud enough of to share).

All that said, it's far from done- I'm hoping that we can form a community together and make something we can all be proud of.

Interested? Check out the getting started guide for installation and usage instructions.