All Projects → suchipi → Hex Engine

suchipi / Hex Engine

A modern 2D game engine for the browser.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Hex Engine

Melonjs
a fresh & lightweight javascript game engine
Stars: ✭ 3,721 (+566.85%)
Mutual labels:  game-engine, canvas2d, canvas
Glide
Game engine for making 2d games on iOS, macOS and tvOS, with practical examples and tutorials
Stars: ✭ 353 (-36.74%)
Mutual labels:  game-engine, 2d-game-engine
Pancake
Lightweight, Fast, Easy-to-use HTML5 2D game framework!
Stars: ✭ 79 (-85.84%)
Mutual labels:  canvas, canvas2d
Canvas
Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas API
Stars: ✭ 358 (-35.84%)
Mutual labels:  canvas2d, canvas
fabricjs-image-editor-origin
fabric.js javascript image editor
Stars: ✭ 52 (-90.68%)
Mutual labels:  canvas, canvas2d
awesome-canvas
Canvas资源库大全中文版。An awesome Canvas packages and resources.
Stars: ✭ 288 (-48.39%)
Mutual labels:  canvas, canvas2d
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (-39.96%)
Mutual labels:  game-engine, 2d-game-engine
React Canvas Draw
React Component for drawing in canvas
Stars: ✭ 412 (-26.16%)
Mutual labels:  canvas2d, canvas
Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (-30.47%)
Mutual labels:  game-engine, canvas
Basque
A top-down 2d game engine, written from scratch in under 1000 lines of C. Development of the game based on this engine is streamed on Twitch: https://www.twitch.tv/ryanpcmcquen
Stars: ✭ 388 (-30.47%)
Mutual labels:  game-engine, 2d-game-engine
Octopuskit
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
Stars: ✭ 246 (-55.91%)
Mutual labels:  game-engine, 2d-game-engine
Haxepunk
Cross-platform desktop, mobile, and WebGL game engine, based on FlashPunk
Stars: ✭ 446 (-20.07%)
Mutual labels:  game-engine, 2d-game-engine
Gdevelop
🎮 GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
Stars: ✭ 3,221 (+477.24%)
Mutual labels:  game-engine, 2d-game-engine
visual-ts-game-engine
Typescript project based on matter.ts implementation."This version 2 of visualjs game engine, totally different approach. Whole project is based fully dependency build. Main file is app.ts and ioc.ts. Class ioc saves singleton instances also bind. In this project html and css is also present, webpack helps and handle this type of files. GamePlay…
Stars: ✭ 15 (-97.31%)
Mutual labels:  game-engine, canvas2d
Hge
HGE 1.9 configured with CMake DirectX9 version, with shaders. The classic 1.8.1. version is in the `master` branch if you ever need that.
Stars: ✭ 185 (-66.85%)
Mutual labels:  game-engine, 2d-game-engine
Html5 Canvas Game Boilerplate
Provides a set of default code that makes getting up and running with an HTML5 canvas game very easy.
Stars: ✭ 182 (-67.38%)
Mutual labels:  game-engine, canvas
Fxgl
Stars: ✭ 2,378 (+326.16%)
Mutual labels:  game-engine, 2d-game-engine
Black
World's fastest HTML5 2D game engine   🛸
Stars: ✭ 174 (-68.82%)
Mutual labels:  game-engine, canvas
Litiengine
LITIENGINE 🕹 The pure 2D java game engine.
Stars: ✭ 384 (-31.18%)
Mutual labels:  game-engine, 2d-game-engine
Ipycanvas
Interactive Canvas in Jupyter
Stars: ✭ 416 (-25.45%)
Mutual labels:  canvas2d, canvas

Hex Engine Logo


Website - Discord - GitHub


⚠️ 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.

Here's an example of what code looks like in Hex Engine.

import {
  useDraw,
  useUpdate,
  useNewComponent,
  SystemFont,
  Label,
} from "@hex-engine/2d";

export default function MyComponent() {
  const font = useNewComponent(() => SystemFont({ name: "Arial", size: 12 }));
  const label = useNewComponent(() => Label({ font }));

  let elapsedTime = 0;
  useUpdate((delta) => {
    elapsedTime += delta;

    label.text = `Elapsed time: ${elapsedTime}`;
  });

  useDraw((context) => {
    label.draw(context, { x: 10, y: 10 });
  });
}

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 Hex Engine's homepage for installation and usage instructions.


Logo Font is Silver by Poppy Works.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].