entitysysd 0.1.0
Entity/Component System engine
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
EntitySysD
D Entity/Component System engine.
History
It is a D port inspired on EntityX in C++ from Alec Thomas.
https://github.com/alecthomas/entityx/
It has been adapted to be integrated first into a 3D FPS-like game written in D.
It implements the idea of having entities enumerated by a unique id. Components may be attached to those entities, and system are pieces of code that applies to some sets of components from various entities. In EntitySysD, components are arranged in memory, in order to avoid any cache-miss while broaing though a same family of components.
It is released under the Lesser-GPL v3 licence.
Example
A small application using SDL2 implements EntitySysD. It shows some colored squares bouncing around in a window and exploding when colliding into each other.
Understanding the code should be pretty straightforward.
Use dub to build it:
dub --config=example
Versions
The current initial version does not implement component-dependencies.
It lacks some proper debugging toward resource destruction (it relies on the D garbage collector, which might not be efficient enough for game purposes).
It lacks a proper API documentation (use ddoc).
No benchmarking has been performed. The cache-friendly memory management is dependant of the application use, and cannot yet be customized for specific needs at the moment. So the current implementation is pretty naive and could totally miss the point of being cache-friendly. User experience will tell. So further enhancements may be programmed.
This current version (Major 0) may be subject to API changes (though the general philosophy will not change). Once the API is properly defined and documented, EntitySysD will move towards Major version 1 (and so forth).
http://semver.org/
It has been tested on GNU-Linux environment using DMD64 D Compiler v2.067.1.
- Registered by Claude Merle
- 0.1.0 released 10 years ago
- claudemr/entitysysd
- github.com/claudemr/entitysysd
- LGPL3
- Copyright © 2015, Claude Merle
- Authors:
- Dependencies:
- none
- Versions:
-
2.6.2 2017-Sep-27 2.6.1 2017-Jun-12 2.6.0 2016-Oct-19 2.5.0 2016-Jun-16 2.4.1 2016-Apr-25 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
374 downloads total
-
- Score:
- 1.8
- Short URL:
- entitysysd.dub.pm