https://github.com/lusito/typed-ecstasy
An entity component system for TypeScript (and JavaScript), based on ashley
https://github.com/lusito/typed-ecstasy
ashley entity-component entity-component-system entity-framework
Last synced: 11 months ago
JSON representation
An entity component system for TypeScript (and JavaScript), based on ashley
- Host: GitHub
- URL: https://github.com/lusito/typed-ecstasy
- Owner: Lusito
- License: apache-2.0
- Created: 2017-11-07T17:03:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-02-04T02:37:07.000Z (about 3 years ago)
- Last Synced: 2024-09-19T15:38:23.349Z (over 1 year ago)
- Topics: ashley, entity-component, entity-component-system, entity-framework
- Language: TypeScript
- Homepage: https://lusito.github.io/typed-ecstasy
- Size: 5.54 MB
- Stars: 27
- Watchers: 5
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://www.npmjs.com/package/typed-ecstasy)
[](https://www.npmjs.com/package/typed-ecstasy)
[](https://github.com/lusito/typed-ecstasy/blob/master/LICENSE)
[](https://github.com/lusito/typed-ecstasy)
[](https://github.com/lusito/typed-ecstasy)
[](https://travis-ci.org/Lusito/typed-ecstasy)
[](https://coveralls.io/github/Lusito/typed-ecstasy)
A tiny entity framework written in TypeScript. It started as a port of the C++ [Entity Component System](https://www.gamedev.net/page/resources/_/technical/game-programming/understanding-component-entity-systems-r3013)
[ecstasy](https://github.com/lusito/ecstasy), which is a port of [Ashley](https://github.com/libgdx/ashley/)
from LibGDX. typed-ecstasy is a high-performance entity framework without the use of black-magic and thus making the API easy
and transparent to use.
Automated unit tests are running on [Travis-CI](https://travis-ci.org/)
For a real project using this, check out [my asteroids clone](https://github.com/Lusito/typed-asteroids).
#### Fair Warning
Since version 1, the target is now es2015, so if you want to support older browser, you'll have to ensure that this module is being transpiled to an older es version during your build-process.
### Get started
* [Read the documentation](https://lusito.github.io/typed-ecstasy/)
* Look at the test files (`src/**/*.spec.ts`) might answer some questions if the documentation doesn't cover it yet.
* Ask questions if the above doesn't clarify something good enough.
### Report issues
Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the [issue tracker](https://github.com/Lusito/typed-ecstasy/issues) and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.
### Contribute
Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the unit tests are passing before submitting and add new ones in case you introduced new features.
### License
typed-ecstasy is licensed under the [Apache 2 License](https://github.com/Lusito/typed-ecstasy/blob/master/LICENSE), meaning you
can use it free of charge, without strings attached in commercial and non-commercial projects. Credits are appreciated but not mandatory.