4 ms·
You might want to look at bevy, there are some great tutorials available for it: https://bevyengine.org/ https://bevyengine.org/
by bluejekyll 6y ago
You might want to look at bevy, there are some great tutorials available for it: https://bevyengine.org/ https://bevyengine.org/
- slmjkdbtl 6y agoECS is not for beginners who just want to get a quick game out, or anyone who has <500 entities in a scene
- bluejekyll 6y agoSince no one has directly said it, I think bevy hides a significant amount of the ECS from the developer in a really elegant way. I agree with Weebs assessment as well. But in particular, bevy has an extremely simple ECS api. (Though, I will admit, I’ve only dabbled in this space and mainly followed some tutorials, so your mileage may vary)
- Weebs 6y agoI've gotta say though as a beginner, I found ECS more approachable than the Actor/Object systems common in engines. Granted, I do a lot of FP and digesting data, so a series of systems to operate on data is sort of home turf. In the end though, I've been using the traditional OO systems in Unity because most educational resources + documentation are so focused around that
- slmjkdbtl 6y agoInteresting, the idea of ECS is intuitive to me but actually doing it is kinda hard, mainly because the scope of ECS is kinda vague there're some stuff that you aren't supposed to do with ECS, if you try to do every single aspect of your game in ECS that might result in some messier code. I actually think the Unity way is not bad, it's also a series of components compose an entity, the only difference is not separating data and logic which I found easy to work with and not bad at all.
- AnIdiotOnTheNet 6y agoI contend that ECS is overengineering in any game that isn't an immersive sim. It is certainly overengineering for beginners working on relatively simple 2D games.
- pornel 6y agoThe basic OOP solution relies on mutable aliasing being available, where any entity can reference any other entity. Rust won't let you have arbitrary mutable aliasing or risk dangling pointers, so you'd end up fighting the language. In Rust ECS is actually easier, and it's a better fit for the single ownership, shared XOR mutable model.
- slmjkdbtl 6y agoThat's also why I don't recommend Rust for game dev beginners, I think the most important thing for beginner is to experience the fun of game dev, which is making game logic and making the actual game, even if you go Rust with ECS, you'll still spend most of the time learning ECS, solving compile errors and waiting compilation, stuff that does not have any game dev fun.