iacobson / ecspanse

Entity Component System (ECS) library for Elixir, offering a suite of features including: flexible queries with multiple filters, dynamic bidirectional relationships, versatile tagging capabilities, system event subscriptions, or asynchronous system execution.
https://hexdocs.pm/ecspanse
Apache License 2.0
63 stars 7 forks source link

Will there be a monitoring dashboard #30

Closed autodidaddict closed 5 months ago

autodidaddict commented 5 months ago

There's another Elixir ECS library called ECSx but it seems less full featured than Ecspanse. One thing that I do like about ECSx though is that it has a plugin for the Phoenix dashboard that shows how much time each of the systems are consuming so you can see if you've got systems that aren't finishing during their tick, etc.

ECSx dashboard

I've been playing with both of these and I think I'm going to try using Ecspanse first (love the name, btw).

iacobson commented 5 months ago

hi @autodidaddict! First of all thanks for checking out the Ecspanse library.

At this point, I don't have a plan to create a live dashboard library for Ecspanse. That may change in the future, but it is not yet planned.

That being said, there is a project from @ketupia https://github.com/ketupia/ecspanse_live_dashboard implementing a dashboard for Ecspanse. I think that it is still WIP, but maybe it can serve as inspiration.

Also, for anybody interested in building an Ecspanse Dashboard library, I will be very happy to assist with ideas and even a dedicated Ecspanse Monitoring API, where I could try to expose things that are not so easy to reach from outside the Ecspanse context.

Also, @ketupia created a very cool Component-Level state machine for Ecspanse: https://github.com/ketupia/ecspanse_state_machine, that may complement very nicely the global state machine included with the library.

autodidaddict commented 5 months ago

Thanks for the quick response! Can't wait to get to spend more time playing with Ecspanse. I'm building a Phoenix app that uses tuicss, inspired by your I've seen things demo! It'll feel like a real-time DOS-based roguelike.. retro fun!

iacobson commented 5 months ago

Very cool. I used the tuicss while building this (not really) game: https://github.com/iacobson/iveseenthings Maybe it can be helpful.

However, please keep in mind that this was built while developing Ecspanse, just as a playground. The code is pretty bad.

If you will have any screenshots of your game, please post them to the elixir forum: https://elixirforum.com/t/ecspanse-an-entity-component-system-framework-for-elixir/57650/42