1 | ![Splat ECS](./images/splat-ecs-logo.png)
|
2 |
|
3 | A 2d HTML5 Canvas game engine
|
4 |
|
5 | Splat ECS is a 2d game engine made for creating multi-platform games entirely in JavaScript. Splat ECS is built around the [Entity Component System](https://en.wikipedia.org/wiki/Entity_component_system) pattern, which is flexible and promotes composition of behaviors.
|
6 |
|
7 | # Features
|
8 |
|
9 | * Rectangles!
|
10 | * Keyboard, mouse, and touch input
|
11 | * Sounds and music (Web Audio API and HTML5 Audio)
|
12 | * Sprite animation
|
13 | * Asset loading, and built-in loading screen
|
14 | * Games work well on phones, tablets, and desktop browsers.
|
15 | * A\* Pathfinding
|
16 | * Particles
|
17 |
|
18 | # Supported (tested) Platforms
|
19 |
|
20 | * Chrome (desktop & mobile)
|
21 | * Firefox
|
22 | * Internet Explorer (desktop & mobile)
|
23 | * Safari (desktop & mobile)
|
24 | * Mac using [Electron](https://github.com/atom/electron)
|
25 | * Linux x64 using [Electron](https://github.com/atom/electron)
|
26 | * iOS using [Ejecta](http://impactjs.com/ejecta)
|
27 | * Chrome Web Store
|
28 |
|
29 | Splat ECS works in PhoneGap/Cordova, but it seems like the apps it produces lack hardware acceleration, making games unplayable.
|
30 | Splat ECS may or may not work on other platforms, please let us know what you find out.
|
31 |
|
32 | # Create a new Game (recommended)
|
33 |
|
34 | [Fork the starter project](https://github.com/SplatJS/splat-ecs-starter-project)
|
35 |
|
36 | # Install through [NPM](https://www.npmjs.org)
|
37 |
|
38 | ```
|
39 | $ npm install --save splat-ecs
|
40 | ```
|
41 | Then require Splat ECS into your game:
|
42 | ```
|
43 | var Splat = require("splat-ecs");
|
44 | ```
|
45 | Then use [browserify](http://browserify.org/) to bundle your game as a single JavaScript file for the browser.
|
46 |
|
47 | # Games using Splat ECS
|
48 |
|
49 | * [Splat ECS starter project](https://github.com/SplatJS/splat-ecs-starter-project)
|
50 | * [Cluster Junk](https://github.com/TwoScoopGames/Cluster-Junk)
|
51 | * [Treatment and Control](https://github.com/TwoScoopGames/Treatment-and-Control)
|
52 | * [Uprooted](https://github.com/TwoScoopGames/ld32)
|
53 | * [The Day the World Changed](https://github.com/TwoScoopGames/ggj15)
|
54 |
|
55 | Send a pull request to add your game to the list!
|