Skip to content

complexjs/complex-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComplexJS

ComplexJS is a JS written Component Entity System for HTML5 Gamedevelopment.

It's strong structure enforces you to write seperated code in a very reusable way. This means that you can reuse the components already created in other projects and add them to a new one.

Due to the Component Entity System architecture you are required to do seperation of concern within your code. Also you (should)have more simpler, clearer and more maintainable files.

NOTE complex is just a game engine. It doesn't provide any renderer functionality or game logic.

Npm

npm i complex-engine --save

How To

Getting started

Modules

To improve your dev experience there are some modules which provide already written systems and other helpers

  1. complex-theejs
  2. complex-scripting

API

API Reference

Concept

The idea behind (yet another game engine) complex-engine to have a lot of reusable code which you can reuse across multiple projects. complex-engine follows the Component Entity System pattern.

Basically you have entities on the screen which represents all single instances of something. Those entities hold a list of components which define it's behaviour. The component is just like a store for data. For example if we want a entitiy to be drawn at a certain position, we need some coordinates. Lets say we need a x, y, width and height variable for that. Those variable will be stored in the component. The business logic (in our case the rendering/drawing) will be written in a system. The system receives every entity, and does something with it's attached components data.