Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seurimas/slime
An ECS library for Elm
https://github.com/seurimas/slime
Last synced: 2 months ago
JSON representation
An ECS library for Elm
- Host: GitHub
- URL: https://github.com/seurimas/slime
- Owner: seurimas
- License: mit
- Created: 2017-04-29T14:43:56.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-25T13:14:39.000Z (over 6 years ago)
- Last Synced: 2024-07-26T06:33:15.215Z (6 months ago)
- Language: Elm
- Homepage:
- Size: 135 KB
- Stars: 20
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-elm-gamedev - Slime - Slime provides an easy way to build a full game, using common [Entity-Component-System architecture](https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80%93system). (Tools)
README
[Docs](http://package.elm-lang.org/packages/seurimas/slime/latest).
# slime
An ECS library for Elm. Slime provides an easy way to build a full game, using common Entity-Component-System architecture.# Examples
Pong is implemented in the examples directory. [Link](https://seurimas.github.io/slime/examples/pong/)To run locally:
```
git clone https://github.com/Seurimas/slime.git
cd slime/examples/pong
elm reactor... Open http://localhost:8000/src/pong.elm ...
```# Change log
* 2.1.1 -> 3.0.0
* Small addition of a `Noop` engine message.
* Fix for case-sensitive OSes.
* 2.1.0 -> 2.1.1
* Small documentation change, and testing a republish of the package to fix installation issues.
* 2.0.0 -> 2.1.0
* Added `componentSpec` for a type-ignorant constructor. Use that instead of { getter, setter } records.
* Added `stepEntitiesAndThen`, for steppers who want to have side effects on the world. This won't work for every case, but it will cover a lot.
* Added `forNewEntities`, for spawning several entities with particular parameters.
* 1.1.0 -> 2.0.0
* Revise system creation. Use `untimedSystem`, `timedSystem`, and `systemWith` in Slime.Engine.
* Revise steppers. Use `stepEntities`, and `entities`/`entities2`/`entities3`.
* Revise getters. `entities(/2/3)` -> `getEntities(/2/3)` or `(world) &. entities(/2/3)`
* Improve entity creation API. Use `forNewEntity` and `&=>`.
* See also: `forEntityById` and `forEntityByUid` for entity updates.* 1.1.0
* Initial release.