yagl.

Yet Another Game Library


Yagl is a set of game-oriented librairies that I have created during the development of my own project, a browser based multiplayer game. The libraries are independant from each other, highly flexible and customizable and built with speed in mind.

This is still much a work in progress so these modules should not be considered stable.


ECS

An entity component system implementation in ES6, an architectural pattern that follows composition over inheritance and allow great flexibility in defining entity behaviors.

 

Observer

Event emitter in ES6 built with speed in mind. Allow to make every object or function observable, and can be subclassed in ES6.

Behavior3

A behavior tree implementation in ES6. Define complex behaviors as a tree of actions and conditions. Leverage the power of decorators and composites nodes to create smart behaviors for your entities with ease.

 


Math2D

A set of common utility functions when working in 2D. This include some geometry with basic shapes.

Redstone

A websocket wrapper that allow to use JSON (fast prototyping) or Binary (need to provide binarify/parse methods but maximum efficiency) for messages.

TiledMap

Render tiled maps on canvas, support classic tilesets and autotiles.