Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future Plans #22

Open
Yelnats321 opened this issue Dec 4, 2017 · 4 comments
Open

Future Plans #22

Yelnats321 opened this issue Dec 4, 2017 · 4 comments

Comments

@Yelnats321
Copy link
Owner

So I am currently in the process of a pretty large rewrite, meaning a lot of old code will be removed and replaced with (hopefully) better code.

The main key points I am trying to hit are:

  • const correctness
  • Customization
  • Efficiency
  • Faster speeds
  • C++17
  • Stronger versioning

I will also be maintaining the current feature set, just possibly in a slightly more cohesive way. Some functions may be renamed and the status quo may change a bit, but I aim to not reduce the feature set (and hopefully add to it in a meaningful way).

@grandprixgp
Copy link

Would you still recommend using EntityPlus in its current form? I'm taking a look at every open-source ECS I can find before deciding on whether to build my own or not, and EntityPlus struck me as very open-ended and simplified - a lot like Flask (python framework) which I also love for that reason. It feels natural and I'm not afraid of being able to modify it to my needs as time goes on.

Side-note: A big point for me is being able to implement concurrency / parallelization, which isn't really possible with a lot of these ECS implementations. Actually, if you implemented built-in concurrency / parallelization I believe that'd be the first open-source CPP ECS to do so - obviously easier said than done though!

@Yelnats321
Copy link
Owner Author

I think the general shape would be more or less the same, I have already began working on how these features will come into play but haven't had much time to put everything together. I think that you wouldn't have a very hard time transitioning from the current state to the new one, and if there's really nothing stopping you with the current implementation I say go for it.

With regards to concurrency, I know of another ECS: https://github.com/SuperV1234/ecst. I have not used it in the past but I see the merit of encoding dependencies at compile time. I haven't looked too much into concurrency/parallelization but it is definitely something that I would look into if there's enough demand (I haven't had much need for it as I mostly use ECS as a way to ease implementation and feature expansion).

@grandprixgp
Copy link

Awesome to hear. At the very least I'll keep following the project.. and depending on how my tests go I might become a user 👍

Re: concurrency.. agreed, it is most definitely a niche requirement and a tough one to tackle at that. I wouldn't expect many people to be in favor of putting as much effort as is required into it, nor would I expect a developer to want to do so when easier to implement, and arguably more valuable features are waiting to be implemented. Good luck with the rewrite!

@Yelnats321
Copy link
Owner Author

An update: I have not forgotten about this project, but have been having a lot of issues with motivation and the large start-up cost of rewriting a lot of code from scratch. On top of this I have been busy with work and school. I will be graduating in the coming year and hopefully will have time to pursue this and some other side projects.

Unfortunately this means that the project is on a hiatus for another 8-10 months. I will come back to it as the uses for an ECS with the specifications I need become more and more obvious (that is, when working on a game) but in the mean time I would like to thank everyone whose supported the development so far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants