Skip to content

Commit

Permalink
Merge pull request #32 from ayebear/indexers
Browse files Browse the repository at this point in the history
Indexers
  • Loading branch information
ayebear authored Apr 17, 2018
2 parents 043d9e2 + eb83981 commit e21721e
Show file tree
Hide file tree
Showing 19 changed files with 7,991 additions and 12,314 deletions.
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,21 @@ This entity system is designed to be as simple as possible, while still having u

### Features

* High performance, memoized entity queries
* O(1) average time
* All definitions are optional
* **High performance indexing options**
* SimpleIndex (Default): O(1) component add/remove, O(m) query time
* Where `m` is the smallest size component index
* MemoizedQueryIndex: O(q) component add/remove, O(1) average query time (memoized), O(n) worst query time (initial)
* Where `q` is the total number of memoized queries
* And `n` is the total number of entities
* *Note: Above time complexities are amortized assuming the number of components used is a known constant*
* Can also write your own and pass it to the World constructor! Needs clear, add, remove, and query.
* **No formal declarations required**
* Can create components and entities in a world and query on them, without needing to define structured systems and components
* Strings as component keys
* **Strings as component keys**
* No need to manually track component keys like many libraries
* JSON serialization
* **JSON serialization**
* Useful for save data and networked applications
* Prototypes
* **Prototypes**
* Allows entity definitions to be data-driven, outside of code

### Terminology
Expand Down
Loading

0 comments on commit e21721e

Please sign in to comment.