Sobasically I just haven't touched on network programming yet and really don't know much and have very little experience with coding multiplayer games. So with that in mind I have a project I want to make and I have all the key points pretty much on paper and a clear vision of what I want to make, I am also going to end up recruiting help (for such things as multiplayer capability more than likely as well as other aspects) since this is outside the scope of my ability to do alone.
I do not plan on having this game hosted by a central server I control and am leaning heavily on the side off a type of p2p connection like minecraft / starbound / terraria (I think those are p2p anyway) with that in mind is it extremely important that I code / build the game with multiplayer from the ground up or might I be able to work on other systems first such as game mechanics and the procedural world creation first and might it be easy to basically create a multiplayer system ontop of the game?
I guess the question is kind of broad but what it boils down to is might it be critical to focus on the networking / multiplayer first or is it a safe and(or) common practice to implement it later in development?
First, you should read through Gaffer on Games's article What every programmer needs to know about game networking. It covers all the important parts on typical networking architectures and their pros and cons. There's also some decent answers here: Limitations of p2p multiplayer games vs client-server. But basically you have two architectural choices: P2P or client/server1. It's an important decision since it has huge consequences, like how well you can handle cheating, or compensate for latency, all of which depend on your game; there is no "right" choice.
1Note that when I say "client/server" I'm assuming you also do client-side prediction. Pure client/server, i.e. dumb clients, isn't too hard. Most of the difficulty comes from client-side prediction and how you reconcile client and server discrepancies.
2P2P can be harder if you want to handle things that it's not well-suited for, like drop-in/drop-out. But the "classical" P2P lockstep model as used by Doom is dead-easy, it simply requires sharing state across all the players.
Ok, from what I can tell, you guys are not promoting multiplayer. Do I have that right? The only thing I can think of that would be enjoyable for me in multiplayer is the item/gear trading or selling. Otherwise, I would rather play alone.
In multi-player you can play alone in your own private game all you want, but you still have the option to play with others if you want to trade or get help with a quest. You can use the forums, discord, reddit, etc to setup a trade or group, and invite others to your game.
In single player the map stays the same until you change difficulties. Making a nightmare game while reset your maps when you make a normal game and same when you go back to nightmare the maps will have reset.
So, when I make a new online (solo) game, the map is generated. And most places in the game will be random, but some are fixed (i.e. the Rogue Encampment and Burial Grounds). That is as far as I have gotten in single player. Do I have this correct?
There is also a way to copy your char files that will allow you to revert your game save to when you had whatever maps revealed they will be the same. This is mostly used to get the lower kirast map that has 2 camps with a fire for the super chests.
Multiplayer (currently) has only one upside over single player - Terror Zones. However, sooner or later this feature will be implemented in single player as well. In other aspects, single player wins hands down:
MasterBLB - Thanks so, so much for your post!! You have a bunch of really great points for single player vs. multiplayer. What are Terror Zones? I am still on the fence about single player and multiplayer - which to use for my gaming experience. I have a level 13 sorceress that I have been working on - and having a great time with this game!!! Single player gaming in Diablo II: Resurrected clearly has its perks!! The only real reason I was really debating about online gaming was because one player can sell/trade gear with another. But if I change the player number in offline gameplay, I presumably will get better gear. Your thoughts?
There are single player communities out there. You could even trade with them, provided you follow their rules. They use a program called GoMule to save their items on the harddrive, and you can then email the items to another person.
Freelancer was built to have up to 128 players in multiplayer, but as a few of you know that was more a theoretical maximum than something that was really practical, especially back in 2003. When I started building Freelancer, partly inspired by the work done on Ultima Online (which was in development when I was still at Origin), the fun I was having playing multiplayer games like Command & Conquer and Diablo I had wanted to bring the Privateer experience into the bold new world of multiplayer. My original vision for Freelancer was to first release a single player game and then follow it up with massively multiplayer version with a dynamic economy and a world that reacted and adapted to the players actions.
I've seen people AFK for an hour in multiplayer, yet God forbid I be AFK for more than 5 minutes when I'm by myself. Because you know, there's no harm in messing up the game for other players, but if you're by yourself then you're a criminal.
It is a measure to reduce server load by terminating inactive clients. When you go afk in a multiplayer game, it doesn't cost the server much resources to keep you around since there are other players who are using that instance anyway (though personally I'd love to see auto kicking of afk'ers in public games).
There was this exploit where you open an Act 2 game and go near one of those (green, blue, red) obelisks that spawn spiders on a regular basis. With enough armor, health regeneration and damage on hit you could kill them by just standing there. They drop some gold, so you could easily do this all day and collect the money from time to time. I bet there are many similar spots throughout the game.
In Multiplayer games it is different. The monsters get more difficult, so no one will accept someone just standing there doing nothing, as they have to do more to get the same amount of loot. At least I would leave and create my own Singleplayer game.
A lot of you will probably tell me I'm playing Diablo 4 wrong. I'm not doing anything out of the ordinary minute to minute - I'm a Sorceress with a decent spread of area control attacks, ranged abilities, and melee counters, I've been regularly swapping my armour and staff for the best options, being sensible with what to sell and what to scrap, and have been trying to lure enemies together or attacking from a safe distance rather than crashing into everyone like a Barbarian. But I'm also playing it by myself and have no intention of teaming up with anybody, anywhere, for any reason, and once I finish the story I'll put it down and never return to it again. Playing the game this way makes me feel like I have stepped through the looking glass.
I'm aware that I'm doing it the 'wrong' way here. I could have written that Diablo 4 needs an offline mode, and while I'd gladly take one, I'm not sure it does. It's an online game with in-game events and co-op and all the other bells and whistles that mean it is designed as an online experience. Just Diablo 4, exactly as it is, but in an offline mode would feel weird. It would mean taking out features and replacing them with nothing. When online shooters have offline mode, this tends to be a full campaign, not just the online maps filled with bots. This is a little different as Diablo is PvE rather than PvP, meaning the structure would be the same offline, but it would still seem hollow.
I like that I'm playing it wrong. I would never play Call of Duty as a walking sim just because I admire the maps, and then demand there be a pacifist offline setting. By playing Diablo this way, I can still get the online events, switch to public and maybe even team up with a friend to hang out, then go back to my own missions. Sometimes playing a game the wrong way is the most fun you can have, like the time I thought of Cyberpunk 2077 as an extravagant fashion simulator with optional stabbing people to death.
Approaching Diablo 4 as a solo player might come back to bite me later. Dungeons may require teaming up or a spread of abilities, or it might just get boring wading through blood and bones on my own. Right now though, I'm having a blast tearing through the map, discovering mini events, disappearing into caves, and following hot on Lilith's trail. The highly cinematic and absorbing cutscenes also help sell the whole adventure as something to be savoured and enjoyed, not rushed through to grind out higher numbers.
But as someone who doesn't really play online games very often, much less MMOs, it's odd to see some of the conventions unfolding before me. Dungeons appear on my map that I can never do, because they're for Druids only. I have picked up a wooden club that I am never allowed to swing, even as bears and skeletons charge at me. I enter a shop and a timer in the top corner tells me that in exactly six minutes and four seconds, there will be new wares arriving.
In a regular single-player game, these sorts of immersion breaking annoyances would derail the experience. If I'm to believe this shop really exists in this world I wander through, why would it only sell two items which change not via an in-game event like the sunset or upon completion of a related mission, but thanks to an arbitrary clock? Why did no kindly villager tell me about the pillars of blood that I must kill things near in order to break them? Why must I do that in the first place? Why are these skeletons attacking me after I paused the game? Okay, that last one is quite annoying and I'd prefer if pausing were still possible, but for the rest of them, it's like seeing how the other half live.
3a8082e126