5 ms·
Unity is suffering because it can't find a way to make DOTS/ECS first class without completely redoing basically everything. That's my biggest complaint with U
by debacle 4y ago
Unity is suffering because it can't find a way to make DOTS/ECS first class without completely redoing basically everything.
That's my biggest complaint with Unity at this point. So much is built around the GameObject implementation that when you start using ECS you can feel the friction - you're writing a lot more code, you're doing things in a way that feel like swimming upstream, and there's less support + documentation.
How does Godot compare? Are highly threaded features out of the box? I would use Unreal but the C# Unreal interfaces I've seen are very immature.
- idle_zealot 4y agoGodot also seems to be built in a way that creates friction for ECS style game logic. It's built around scenes that are trees of nodes that each have associated behavior and signaling/message passing between nodes.
- UnpossibleJim 4y agoThere is an ECS port for Godot named Godex, but it isn't hugely mature: https://github.com/GodotECS/godex https://github.com/GodotECS/godex I haven't used it, though I've been curious about it. As far as better options for ECS game engines go, I'd go with Bevy (personally), but you'll have to learn Rust (which I'm a proponent of anyway). https://bevyengine.org/learn/book/introduction/ https://bevyengine.org/learn/book/introduction/ But both of these are still in "Beta", if that's even the proper term for their development cycle, at this point. They work, technically, but they could use some help, to my understanding.
- Mikeb85 4y ago> How does Godot compare? Are highly threaded features out of the box? Ish. But Godot very much embraces OO. Everything is a node extending another node with messages passed between. But IMO it's OO done right.
- debacle 4y agoOO doesn't matter if you want to simulate 100k objects at once without slowdowns.
- Mikeb85 4y agoAnd how many games actually do that? Also, if you really want, with Godot you can bypass the scene node system and also just use C++.
- berkut 4y agoECS on its own doesn't always help - it's not a magic bullet for every situation: sometimes you need to use spatially-aware data structures / acceleration structures for those type of "queries", and vanilla ECS (i.e. similar to a DB in terms of queries) doesn't always help you in these type of situations.
- TillE 4y agoIf you're doing high-end 3D stuff, Godot 3.x will probably disappoint you anyway. If you're doing graphically simple games with a complex simulation under the hood (everyone loves RimWorld as an example), then you don't really benefit from an ECS that's tightly integrated with the engine. You just do all that stuff however you want, and use the engine as an I/O layer.
- debacle 4y agoIf I want a system that supports plugins, etc, and there's no uniform way of doing that, then I'm doing things from scratch, though.
- brundolf 4y ago> If you're doing high-end 3D stuff, Godot 3.x will probably disappoint you anyway Maybe 3.x, but I've seen/read some exciting stuff about 4.0's graphics engine
- overgard 4y agoThis might be of use: https://godotengine.org/article/why-isnt-godot-ecs-based-game-engine https://godotengine.org/article/why-isnt-godot-ecs-based-gam...
- tacotacotaco 4y agoGodot uses a similar object oriented approach as Unity. For ECS, you might keep an eye on Bevy[1]. It’s still not mature but its team has been making progress. Even Unity and Unreal had to start somewhere. [1] https://bevyengine.org/ https://bevyengine.org/