faassen,
@faassen@fosstodon.org avatar

I don't know enough about ECS or datalog (or egglog, even) but I wonder whether they would go together well.

Maybe @alice_i_cecile would be kind enough to venture a comment; is this a new thought, and is it a useful one?

faassen,
@faassen@fosstodon.org avatar

@alice_i_cecile

I am not the only one with that thought:

https://www.reddit.com/r/roguelikedev/s/c2Q9ONp8w8

I am also reminded of the egg Rust library people

https://github.com/egraphs-good/egg

who moved to datalog as they found it easier to work with than Rust APIs for this use case:

https://github.com/egraphs-good/egglog

On my todo list to play with is datalog, someday.

faassen,
@faassen@fosstodon.org avatar

@alice_i_cecile
I like how ideas from logic programming merged with relational algebra to form datalog and then people who are trying to create better compiler optimizations with egraphs built on that and it might just be applicable to ECS.

sprig,
@sprig@mastodon.gamedev.place avatar

@faassen @alice_i_cecile

Yes Max (the creator of egg) and I chat about this somewhat regularly. Relational algebra seems like the "right" way to think about a lot of this and egg2 is moving more towards it. ECS feels pretty clearly like a subset of relational algebra and I think ECS queries should be written and talked about in this way. The difficulty is in the implementation's speed. But I'd be curious how far you could get just using an in memory columnar db as a game's main data store.

alice_i_cecile,
@alice_i_cecile@mastodon.gamedev.place avatar

@faassen Sanders' work in flecs is along these lines :) Observers and relations might interest you.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • kavyap
  • thenastyranch
  • cubers
  • ethstaker
  • InstantRegret
  • DreamBathrooms
  • ngwrru68w68
  • magazineikmin
  • everett
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • GTA5RPClips
  • JUstTest
  • khanakhh
  • normalnudes
  • osvaldo12
  • provamag3
  • cisconetworking
  • Durango
  • tacticalgear
  • modclub
  • Leos
  • megavids
  • tester
  • anitta
  • lostlight
  • All magazines