I want to make a moba, probably not for profit, and it needs to be multiplayer. I don’t have much experience with c++ or unreal engine, but i’m just gonna mess with it until i learn. I want to make sure there’s not something i need to know before i start that will come back to bite me because the game needs to be multiplayer. Is there something i need to know about multiplayer games on unreal engine before i start, or can i figure it out when i get there?
Multiplayer is like Single player++, the best advice I have seen and found for myself is to start by understanding single player development and then progress to multiplayer, best to learn to walk before attempting to run.
If Moba is your end goal, figure out the elements involved (maps, AI, game logic, etc etc) and practice each until you are comfortable, then extend yourself into the full multiplayer development.
As far as C++ goes I see two schools of thought, one is learn basic object oriented coding, or dive in and learn Blueprints as your way to understand coding structure, the main advantage I see with learning the coding is there are some great courses that will give you an excellent overview and help you see how it works, from there Blueprints are easier to understand and maybe you will decide to dive into the C++ anyway which will give you a powerful language to direct an excellent engine.
I hope some of that helps you find a path that works and allows you to achieve your goal.
I recommend you start by reading the networking documents here:
The system works based on replication. When you define your actors you decide which attributes need to be replicated (i.e synced) between client and server, and you set up server and client functions. You will need to decide what is executed on the server and what is executed locally on the client. For the most part this is fairly straight forward.
You can use blueprints or C++ depending on what you’re comfortable with.
can i do all that replication after i get a singleplayer version working? or does that need to be done while i’m making everything.
You technically can make a singleplayer game and then do multiplayer stuff later, but depending on the complexity it will almost always be a complete nightmare to do later. If your end goal is a multiplayer game, start working on it with that in mind and you won’t have to rebuild major parts of the game later.
I would not recommend to wait too long with the multiplayer part. It is easy to turn on a few more clients (and just ignore them if you don’t need them). There is already a lot of replication working out of the box. For example if you start a blank third person template with a second or third client then you would see your characters running and jumping on all clients without any requirement of replication from your side (so far). But if you make progress and add some more elements like spawn this or aim or move there, … then you could see what would work already on all clients and what requires a bit more from your side. It is not just replication but it even differs if you would prevent cheating where you would do some stuff.
If its just FX, sound or the like, no.
If it has an affect on actual gameplay, you probably should.