ECS to me is a subset of the binary relational data model & first order logic. Or at least expressible entirely in those terms.
An in-memory system optimized high performance munging of such relations, with super optimized joins etc. would be invaluable I think in game dev (or anywhere else seeking to declare and manage complex relationships in real time). Basically... Datalog for games... on a tick clock
But from what I've seen game developers often re-invent the wheel, or formulate things in very specific terms for performance reasons.
I do think Tim Sweeny is sorta grasping at bringing some DB concepts into games when he talks about bringing e.g. software transactional memory (STM) to game dev.
Fwiw my colleague is the author of https://github.com/wotbrew/relic and he started working on Incremental View Maintenance ~purely because he wants to build a simpler rogue-like :)
I like this a lot, though I'd rather see it in Rust.
The tarpit paper is a classic.
I've had similar thoughts about roguelikes etc. after watching my teenage son play DwarfFortress. Seems to me such a game could be written nicely & declaratively in these kinds of terms.
Right, that's where (at least for me) questions like, "What do we have to learn from Datalog?" feel interesting even if there answer is nothing. Maybe I'm hopelessly naive, but losing that naivete is a process of learning.
No we better get even more specific lest someone think the database is made out of game engines. "database containing information about various game engines"
However, in practice, if you want to build a cross-platform game, what is a reasonable game engine that you can use? I have an idea for a top-down 3D game and since I've never done this before don't want to waste too much of my time getting started. Is there anything that uses Rust, or is that a bad idea and I should look for something that uses a scripting language and something more well-known like C++?
Of course we have databases of officially-classified and registered things (taxonomy, nutrition, geology, package managers = databases of libraries), as well as arxiv, IDBNsb, IMdb. But now we have databases of online resources people have to go out and search for:
Hey! Website creator here :)
I honestly wasn't expecting someone to post the link to the site here so soon (I posted earlier as ShowHN but it flopped a bit haha). I'm reading all feedback now!
EDIT: As some people posted here, language programming tags are getting wrong queries. I'm looking into it rn, but other tags should be working!
EDIT 2: Just fixed it, I made a Django query oopsie from last time I was fixing the queries. Thanks for the feedback!
I selected Java as programming language and got a lot of engines that are not usable in Java. But the two main Java engines, LWJGL & LibGDX, that are present in the database were not on the list.
The programming language tags seem wrong...selected Typescript and it brought up PyGame and Unreal Engine, but not BabylonJS. BabylonJS also didn't appear for Javascript.
It is in the list though! The programming languages query was broken (should be fixed now), did that somewhat made you not find it? (Asking so I can improve the site UI)