Skip to content

2D, C++ game engine that targets browsers using emscripten.

License

Notifications You must be signed in to change notification settings

jamjarlabs/JamJar

Repository files navigation

Build Documentation Status MIT License

JamJar

JamJar is a 2D, C++ game engine that primarily targets running in the browser through web assembly.

Features

  • Entity-Component-System design.
  • Messaging through a centralised message bus.
  • Modular design, choose to remove parts of the engine and replace parts.
  • Customisable render pipeline.
  • Rendering to a WebGL2 canvas.
  • Interpolation between frames.
  • Orthographic camera projection.
  • Sprites.
  • Image loading from filesystem (virtual or otherwise).
  • Input using SDL2 events (keyboard and mouse).
  • Utility methods around translating input events to useful world information.
  • Box2D based Physics system.
  • Collision detection using Box2D.
  • Window management system.
  • Fullscreen control.

Getting Started

// TODO: add this guide

Documentation

See the documentation for guides and architecture details.

Examples

See the examples directory for working code examples.

Dependencies

Dev Dependencies

Contributing

See the contributing guide.