Hello, I need a help to decide which route to go with our new project. It will be a relatively small multiplayer 2D RPG game.
What I want to know is if it is wise to embrace ECS NetCode multiplayer for our game in a current state.
I have seen nearly all videos on ECS from Unity Copenhagen 2019. It looks cool, the NetCode is obviously developed for FPS Multiplayer ga mes and I think that it could handle our slow paced 4 player coop RPG game easily. The issue here is that, if I understand correctly, all NetCode is written in ECS. Therefore we would have to make all game logic in ECS. We have a 2D RPG game where nobody moves, players are just casting spells on enemies and putting Buffs/Debiffs on them. However it has quite deep game logic, think of Hearthstone and all possible combinatins the cards can interact with each other.
And here is my problem. The NetCode looks cool if you just spawn players as 3D objects and sync their transforms automagicaly via Ghosts with predictive movements and all this. This is great. But we dont need any of this and now try to add a much more complex logic to the game which we were used to solve via monobehaviours like evets, scriptsble objects, UI, sprite animations, sounds, etc. Try do all of this in ECS, with netcode. This looks like an impossible task to me. At least in a current state of DOTS. Or am I confused here? I woulf like to hear other people opinion on this. Just try to imagine how hard would it be to implement just game logic of Hearthstone in ECS vs current solution with monobehaviours and all. Am I right that with ESC it will be like nearly impossible or takes 100x more time? I want someone who understand ECS better than me to give me a honest opinion on this.
So for now I can see usage for NetCode for folks from Madfinger Games for their upcoming 3D FPS compepetitive game but for 2 man indie studio making 2D RPG game it is completely useless and we should look for different networking solution for our game. Is this correct?
Thanks!
Nobody knows the answers to your questions because they are very personal and because this whole thing is extremely new. If you decide to go with ECS and netcode, you’d be among the first people in the world to do it so you’d have to discover the limitations, solve all the bugs and create architectures all by yourself.
Since you’re saying that you have no xp with ecs, you should not attempt to make a deep complicated game until you at least gain some xp to see how it really is by doing something smaller at first. Plus you also say that the game is ‘slow’, and therefore doesn’t require strong performance, so just this fact alone might not make ecs worth it for you. But these are just my opinions.
2 Likes