As you may have noticed the Slash Framework didn't see that much development over the last 1.5 years. The main reason is that our small Indie studio Slash Games was closed. Nick went back to his former company Daedalic Entertainment, Christian found a new digital agency.
The framework is only used in parts by Christian for some small projects, but there is no time to further extend it. That's why it would be great to find a developer who likes the concept and wants to take over the lead of the future framework development.
The ideal developer would have experience with the framework already and has at least one running or planned project where the framework is used. In our experience it is easier to develop working features for a framework when they are immediately used in a project.
In case you are interested, just send a mail to mail@slashgames.org :)
The Slash Framework is a free, open-source, component-based entity system (CBES) framework especially for games.
The design and rules of games constantly change during development, invalidating your carefully engineered software from day to day.
Entity systems are a great approach for getting rid of the many drawbacks of inheritance-based game models like the “diamond of death”, moving on to a much more flexible aggregation-based model which has been popular since Gas Powered Games’ Dungeon Siege from 2003.
The Slash Framework provides both a low-level implementation of component-based entity systems and Unity3D integration for them.
If you're missing anything, we'd love to see it - please refer to the Contributing file!
- Low-level implementation of component-based entity systems
- Unity3D integration
- Proven to work in several released games (see Show Cases)
- Unit tests and references for non-trivial operations
- Several articles about specifics and usage of the framework
- Public wiki
You can either
- download BINARIES from the Releases page
- checkout SOURCES from this repository
If you are unfamiliar with component-based entity systems in general, you should read a few general articles first:
- http://www.gamedev.net/page/resources/_/technical/game-programming/understanding-component-entity-systems-r3013
- http://www.gamedev.net/page/resources/_/technical/game-programming/case-study-bomberman-mechanics-in-an-entity-component-system-r3159
- http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
- http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/
- http://alecmce.com/blog/why-use-entity-systems-for-game-engineering
- http://www.richardlord.net/blog/what-is-an-entity-framework
- http://www.gamedev.net/page/resources/_/technical/game-programming/entities-parts-i-game-objects-r3596
- https://jlnr.de/2011/01/04/game-object-inheritance.html
Introductions, specifics and tutorials about our framework can be found in several articles we wrote over the years:
- http://www.npruehs.de/game-models-a-different-approach-i/
- http://www.npruehs.de/game-models-a-different-approach-part-2/
- http://www.npruehs.de/one-does-not-simply/
- http://unity-coding.slashgames.org/component-based-entity-systems-project-setup/
- http://unity-coding.slashgames.org/cbes-entity-manager-and-co/
- http://unity-coding.slashgames.org/component-based-entity-systems-event-driven-systems-to-implement-the-logic/
- http://unity-coding.slashgames.org/cbes-creating-a-component-based-game/
- http://unity-coding.slashgames.org/why-to-use-a-custom-cbes-architecture-within-unity/
- http://unity-coding.slashgames.org/events-order-matters/
To get more information about the framework, take a glimpse at the official wiki.
For each of our non-trivial implementations, we provide unit tests and references to algorithms. If anything's unclear, feel free to contact us. We'd love to improve our documentation.
We know that using a framework in production requires you to be completely sure about stability and compatibility. Thus, new releases of the Slash Framework are created using Semantic Versioning. In short:
- Version numbers are specified as MAJOR.MINOR.PATCH.
- MAJOR version increases indicate incompatible changes with respect to the public Slash Framework API.
- MINOR version increases indicate new functionality that are backwards-compatible.
- PATCH version increases indicate backwards-compatible bug fixes.
We are sorry that you've experienced issues or miss a feature! After verifying that you are using the latest version of Slash Framework and having checked whether a similar issue has already been reported, feel free to open a new issue. In order to help us resolving your problem as fast as possible, please include the following details in your report:
- Steps to reproduce
- What happened?
- What did you expect to happen?
After being able to reproduce the issue, we'll look into fixing it immediately.
We used our framework in nearly all of our past projects, including:
If you used the Slash Framework in one of your projects, we are very happy to hear about it and add it to the list of show cases!
(in no particular order)
Slash Framework is released under the MIT license.