Why would it be so hard to add multiplayer?

Talk about Crashlands with your fellow players here! NOT for advice and help.
why would it be so hard to add multyplayer?
Last edited by bscotchAdam on 29 Aug 2015 00:05, edited 1 time in total.
Reason: Moved to proper forum, changed title to summarize content.

User avatar
 
Posts: 3

You may not realize it, but multiplayer is complicated to add to a game. Doing so would take a bunch of time for the Bscotch bros to add in, as well as present a lot of new problems. They also want their games to uses minimal bandwidth, I think, and multiplayer might go against that.

User avatar
 
Posts: 55

A better question is, what WOULDN'T be hard about adding multiplayer ;) ?

Here are the major reasons why we decided not to:

(1) Even if adding multiplayer was relatively easy, it would add months to development time.

(2) We have never made a realtime multiplayer game, meaning we'd need to add a few more months of research and experimentation.

(3) A large fraction of our target audience will be on mobile, which often means no or weak (or unstable) web connections. So we would need to do some really clever programming (which, again, requires more time) to keep things stable in the background of unstable internet. Even still, we would get blamed for bad connections even if it wasn't our fault, which would spawn a ton of support requests and complaints (which would consume our time uselessly).

On the technical side, the main issue is that Crashlands was conceived of as a single player game and designed to work even on pretty weak devices. As a consequence the only part of the world that exists at any moment is the part the you can see on the screen! All of the objects (items and enemies) were coded in a way that totally makes sense when interacting with a single player, but would not make sense at all if multiple players could be present. To convert the existing game into something that supports realtime multiplayer would require recoding and tweaking nearly all of the existing code.

While a future multiplayer patch is not completely off the table, it's highly unlikely. We totally agree that Crashlands would be better as a multiplayer game. However, we'd rather design a sequel (or another game in the same universe) that is built for multiplayer from the ground up. It would probably take less time to make an entirely new game than to convert Crashlands into multiplayer!

User avatar
 
Posts: 1722
Location: Dallas, TX USA

Indeed! Adding onto what Adam said...

Think about it this way. In a single player game, there's only one "version" of the game that exists at a time -- the one on your device. In single player, the usual flow of actions is something like:

Tell the character to do something -> The character does that thing -> There's a consequence.

For example:
Tap on a tree -> The character walks over to the tree -> The charcter swings her saw -> The tree takes damage -> The tree breaks apart into logs -> The logs fly onto the ground.

If we want to translate that over to multiplayer, we have to make sure that every player sees the same thing on their screens. So there are additional layers that have to be programmed into everything, because we have to constantly tell the server what is happening, and the server then has to tell everyone else what is happening, so we all see the same thing. In a multiplayer context, the above example becomes:

I tap on a tree -> my game tells the server I want to interact with the tree -> The server responds and says this is okay to do -> Our game tells the server we are walking to the tree -> The server tells everyone else's games that I am walking to the tree -> Everyone else's game gets updated to show me walking to the tree -> I get to the tree and begin swinging -> I tell the server that I am swinging -> The server tells everyone else I am swinging -> Everyone's games update to show me swinging -> I hit the tree -> I tell the server I have hit the tree -> The server tells everyone to update the tree's hit points or that the tree has exploded -> The tree breaks -> The server decides what loot the tree will drop and where that loot will land -> Everyone's game gets updated to show the loot flying onto the ground.

In other words, to make sure everyone sees the same thing on their screen, we have to send a lot of information back and forth. The above example is just for something as simple as walking up to a tree and cutting it down. Now add randomized AI, combat, buff/debuff systems, crafting/trading, etc... into the mix, and it's a massive undertaking. And to top it off, many of our players will be on mobile devices with slow connections (3G or 4G), and they will expect that the game will run perfectly fine on those slow connections (even though it shouldn't), and they will be upset when it won't.

There's one other important consideration, which is that most of the game's systems only make sense in a single-player context. Because it's a game about gathering and crafting, adding another player alongside you would actually harm your gameplay experience -- your buddy would keep taking the stuff you need in order to craft. So with someone else alongside you, the best strategy would be to split up when harvesting materials, which means you'd just end up playing alone anyways.

All that said... We'd rather just get the game done and make a new game entirely that's meant to be mutliplayer!

User avatar
 
Posts: 1371
Location: St. Louis, Missouri, USA

Just to leap-frog onto this, because it's interesting:

Seth's example case is perfect, except that he forgot to include an important point. Every time we send something to the server, we don't know if the server will get it! And when if we haven't received something from the server, we don't know if nothing was sent or if we missed something. And when we DO get something from the server, we don't know if it is incomplete/corrupted or if it has been hacked. So then Seth's example goes from that really simple case to something even more insane (but that is still simplified).

I tap on a tree -> my game tells the server I want to interact with the tree -> I wait to hear back from the server (maybe trying again if it takes a while) -> The server gets the data and processes it (and checks to make sure it wasn't corrupted or hacked) -> The server responds and says this is okay to do -> I check to make sure that the response isn't corrupted or hacked -> Our game tells the server we are walking to the tree -> The server gets the data and processes it (and checks to make sure it wasn't corrupted or hacked) -> The server tells everyone else's games that I am walking to the tree -> Everyone else's game gets updated to show me walking to the tree (some people might not get that particular piece of information, everyone has to check for corruption and hacking) -> I get to the tree and begin swinging -> I tell the server that I am swinging -> The server gets the data and processes it (and checks to make sure it wasn't corrupted or hacked) -> The server tells everyone else I am swinging -> Everyone else's game checks for corruption and hacking, some may miss the data entirely -> Everyone's games update to show me swinging -> I hit the tree -> I tell the server I have hit the tree -> The server gets the data and processes it (and checks to make sure it wasn't corrupted or hacked) -> The server tells everyone to update the tree's hit points or that the tree has exploded -> Everyone else's game checks for corruption and hacking, some may miss the data entirely -> The tree breaks -> The server decides what loot the tree will drop and where that loot will land -> Everyone else's game checks for corruption and hacking, some may miss the data entirely -> Everyone's game gets updated to show the loot flying onto the ground.

Hopefully that illustrates the problem!

User avatar
 
Posts: 1722
Location: Dallas, TX USA

What about doing something like the Don't Starve/Don't Starve Together thing for PC? Creating a duplicate game that IS multiplayer, even if it's only PC with a stable internet connection? Is this something that's possible/probable, or not likely something you want to look into even later on?

User avatar
 
Posts: 939
Location: #1 Australian Fan

If we did it, that'd like be how we would do it. Still, it'd probably be better if we just made a whole NEW game that was meant to be multiplayer to begin with!

A common complaint with Don't Starve Together is the one I laid out above, where it's actually detrimental to both players if they travel together. They each need resources to craft stuff, and if they travel together, they each get half as many resources on average than they normally would.

User avatar
 
Posts: 1371
Location: St. Louis, Missouri, USA

Well considering that it most of the resources are replenishable, I see it more as double the pack space/double the resources. Two of us can collect twice as much, twice as quickly.

Mind you, my fiance and I have only played it once, we're going to have another shot at it tomorrow too though, so we'll see if it helps/hinders our progress.... if she doesn't burn everything down again. D:<

But I can understand, hopefully developing something as big as Crashlands gives you a good look at the data transfer between PC and Server, and you seem to have learnt a lot about how that works, so I can only assume that the next game will progress your knowledge on this further. ^_^

User avatar
 
Posts: 939
Location: #1 Australian Fan

I love Don't Starve, and I've played a decent bit of DST, and I can say that I do indeed find the latter a lot harder. Early on, you're competing for the same resources with people; if you can get into a second summer and you've done a really, really good job that far, you reach a plateau where you have enough food and materials to make armor and tools, but that only lasts a little while before you start to have to open up huge new areas of the map (possibly go spelunking) just to get enough flint to keep making axes. Plus, I think enemy mob attacks are scaled up per # of players, so a multiplayer game gets much worse hound attacks. I've never bothered to crack the files open and check, but it seems that way. So you're having to explore farther, on your own, to get resources just to keep going, and you're encountering much deadlier enemies while doing so.

The one thing that does seem to work better in DST is assembling structures/items that need lots of different types of materials -- I get farms up and running and birds making eggs for me a lot earlier. Having eggs early on is a particular boost, because they're great food and you can turn them into gunpowder. Single-player, I usually get one of those in year 2 and the other in year 3, but I rarely make it to year 3. That's the only thing I can think of, though, so for the most part, I actually have more fun in single-player.

Because of the platform challenges Adam & Seth have outlined, I am extremely impressed with how Klei pulled it off, but I think I like the idea of DST more than I like actually playing it. In practice, even people who are pretty good at the single-player version die a lot. Friends I have who play DST more than the single-player version are less obsessive gamers than I am, and they enjoy dying in hilarious ways and laughing at other people dying. Admittedly, that's all pretty funny, but I like feeling like I'm a BADASS SURVIVOR more.

The balance in Minecraft is better for multiplayer, but that one was developed as a multiplayer environment from very early on. A lot of the challenge on a Minecraft server can be PvP more than PvE, and in those environments, giving people more access to stuff just makes the game yet harder, because they use that stuff to blow each other up. Of course, it's very doable to set up a server and a community where more resources just means people can do more stuff and survive longer/better, too. But anyway, that well-fleshed-out multiplayer experience rests on code and resource calculations to support multiplayer from way back.

Some possible comfort to people who would like a multiplayer Crashlands: doing the code and resource numbers and assets for this one will probably have taught our BScotch heroes heaps and heaps if they do take on a multiplayer survival game as some amazing future project. Shoulders of giants. Or your own shoulders are giants' shoulders. Bearger's shoulders? I'll stop before I get any worse.

EDIT: One friend has now told me that she's never had resource problems in DST. We've established that she opens up the map something like 2-3x as fast as I do. So if you are a very intrepid daredevil, you may do better with it than I have.

User avatar
 
Posts: 53

I think making a DST version of crashlands is a good idea.Even though I know it will be hard in the end I think it will be worth it and for that pesky connection problem maybe you can have the multiplayer work over a local server/wifi like Minercraft PE where some guy starts playing and if you have the same wifi then you can join him.Also if you guys are ever going to make a multiplayer patch then I suggest you make it a separate game and give people who already bought the core game(single player) a code to unlock the game for free(like DST)whether we enter the code in the game or as an App Store promo code either one is fine but that was just my two cents(I think that's how you say it).

User avatar
 
Posts: 1


Return to Crashlands General Discussion

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 1 guest

cron