i’m in the process of creating my first games after tutorials and after trying to learn a bit about multiplayer i did not understand one thing:
I know it’s considered a “bad choice” to start your game as a singleplayer and then “convert” it to multiplayer, but how do teams normally do it?
Does one person do the “singleplayer” part, and another ‘tweaks’ your code and adds the “multiplayer”? or a single person does it all?
i’m just asking out of curiosity and for learning purposes, i’m well aware that it’s probably out of my current reach. Right now i’m trying to learn how the industry normally works in teams(when there are more than 1 person in the same “role”).
It is normally done with proper project planning. The single player isn’t just created by one person independently and is some kind of surprise to the rest of the team. All major parts of the game would be planned out far ahead of any code being written. Project managers and leads would set schedules on when certain components are worked on based on the dependencies of other components on them.
This works really no differently than any group project regardless of if networking is included.
Thank you for your reply, and i understand what you meant.
But assuming i’m working on a specific part of a character, let’s say i’m making him walk.
apart from walking, it also needs to ‘walk’ on the server/other players games.
when i’m making the walking mechanic, do i also make the networking part of such mechanic?(yes, i know this may be super easy, but it’s just the best example i can have right now).
or maybe it depends on each team/game?
or probably just my view of this is wrong. I’m trying to learn after all
Before even starting on walking you should have worked out with your networking guy how the two of you plan to implement walking both locally and over the network. Then you execute your part of the plan you two decided on.
You don’t just go and do single player walking and hope that the networking guy can figure out how to send that over the network later. A lot of networking questions come into play, such as what machine has authority over walking? Is it important that the player’s client shows walking locally in sync with how other clients will see the walking, or is it good enough that all clients just see a walking animation not necessarily in sync with each other? Should the player’s client show walking immediately on key press, or should the player’s client send a walk command to the sever and wait for the server to approve it before the client appears to walk? All these need to be planned before even a single line of code is written.
I mean that is how it should be done. You can certainly just start coding on your own and hope the other guy can make it work. If you do it that way, expect a rather large number of code rewrites and things not ending up exactly how either of you had expected, since the two of you undoubtedly have different expectations seeing as you hadn’t planned together what to do.