Skip to content

jixiang111/slash-framework

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slash Framework

Coverage Status

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!

Features

  • 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
  • Public API documentation

Getting Slash Framework

You can either

  • download BINARIES from the Releases page (coming soon)
  • checkout SOURCES from this repository

Getting started

If you are unfamiliar with component-based entity systems in general, you should read a few general articles first:

Introductions, specifics and tutorials about our framework can be found in several articles we wrote over the years:

To get more information about the framework, take a glimpse at the API documentation and official wiki.

Remarks

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.

Development Cycle

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.

Bugs & Feature Requests

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.

Show Cases

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!

Contributors

(in no particular order)

License

Slash Framework is released under the MIT license.

About

Provides both a low-level implementation of component-based entity systems and Unity3D integration for them.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 71.1%
  • C# 27.6%
  • Visual Basic .NET 0.3%
  • GLSL 0.3%
  • C++ 0.2%
  • Shell 0.2%
  • Other 0.3%