Hi! I’ve been working on my game quite a bit so far, and there’s something that’s been on my mind for quite a bit.
My question is: If I make my game single-player oriented, is there a high-probability that I’ll have to remake a lot of things in order to make it ‘compatible’ with multiplayer? I’m working on story mode for my game, and I’m going about things without thinking about the multiplayer on a detailed scale. Will this bite me in the end if I don’t start doing the networking as of now? Or should it not be that big of a deal to tweak everything for multiplayer? (~ few days/weeks)
Yes it will bite you. If you have a multiplayer game, your Client will not be able to perform Gameplay related things without permission of the server.
So for example spawning, shooting, reloading, nearly everything needs to be replicated. You need RPCs for that, which run on the server. Clients will ask the server to do different things.
In my c++ project for example, my weapon class has double the amount of lines only because of all the replicated functions that i need to replicate reloading, animations, asking the server to perform the shot and damage etc.
If you want to make a multiplayer game, you will need to directly work on it.
If you are a beginner, i highly recommened to not create a multiplayer game as your first game.
Like it said, this is hard to tell in general. If you have a Shooter for example, you would need to rewrite alot, because shooting, respawnen etc is all down by the server and needs RPCs.
The general code and logic will be the same, but you need to add the server side things. Also you need to rethink thinks like “How do i replicate an animation?” since these are normaly client side and even the server can’t call it on the clients. Then you must create a variable that is replicated and has a Replicate Notifier etc etc.
I can’t tell you what of your code needs to be rewritten and where you would only need to add things. (Or Blueprints, doesn’t matter).
Just start with the multiplayer directly or be prepared to rework a lot of your things.