Technical Question: Why is coop more demanding on bandwidth?

I’ve got questions for you smart game developer types: why is cooperative multiplayer more difficult to implement than regular adverserial multiplayer? Why does cooperative multiplayer need more bandwidth? Why are the player limits in cooperative lower than in adverserial?

The guys at Irrational games recently revealed that multiplayer cooperative play for SWAT 4 would be limited to 5 players, while regular adverserial multiplayer would have 16. This discrepancy isn’t new to me (Halo and H&D2 didn’t even have coop upon release), but I’m having trouble understanding why the player limits on coop are so much lower.

Can anyone offer a good explanation?

They got the westwood guys to write thier netcode?

Greetings:
There are a lot of different potential issues.

  1. If you don’t support bots, co-op means having AI active while adversarial doesn’t. More AI=more bandwidth + more CPU in general.

  2. If the game is balanced for 1 character (or 4), throwing 16 people into co-op may result in a no-challenge gameplay experience.

  3. If co-op is running on single-player-campaign maps that are more detailed than the multiplayer maps are, you may again have a resource issue.

  4. If you’re using standard scripting for co-op, your standard scripting has to make no assumptions about there being just 1 player character. If you’re special casing the scripting for co-op, you’ve just doubled the scripting time you need in production.

  5. You may want/need different types of information in co-op than in adversarial (location of team-mates, IFF, voice communication) that add to the feature list.

Those are just off the top of my head. Depending on the specific game and the technology, there’s a lot more potential issues. From the player perspective, co-op seems trivial: just allow more than one person to be the good guys. From a production standpoint, there are all kinds of issues that come up, and you’re not going to be able to handle it if you haven’t planned for it from fairly early in the development process.

At least, that’s my experience. Your mileage may vary.

Michael.

Five players is a full squad, I’ll guess its a balance issue. Do you build the map for a single team or two or perhaps three? If its designed for two does it become too overwhelming for a single squad? The 10 man missions* in SWAT 3 are quite unpleasant if your short a few players.

*eg the subway map

Obviously not a huge deal. Other co-op games have managed it, as have multiplayer servers with bots. Systems today are generally more powerful than what we had with co-op games of the past, and people who run dedicated servers have apparently accepted the idea of multiplayer games sucking up every resource possible.

  1. If the game is balanced for 1 character (or 4), throwing 16 people into co-op may result in a no-challenge gameplay experience.

A ridiculous example. Come on, now.

  1. If co-op is running on single-player-campaign maps that are more detailed than the multiplayer maps are, you may again have a resource issue.

Only if the people don’t have machines that can cope with the maps even in singleplayer.

  1. If you’re using standard scripting for co-op, your standard scripting has to make no assumptions about there being just 1 player character. If you’re special casing the scripting for co-op, you’ve just doubled the scripting time you need in production.

People usually don’t do co-op for the first playthrough. It doesn’t have to be perfect, it just has to not screw the other players over.

  1. You may want/need different types of information in co-op than in adversarial (location of team-mates, IFF, voice communication) that add to the feature list.

Like what?

You know, it occurs to me that Jon R’s response to Michael’s post is a sterling example of why I am about ready to give up on Qt3.

–Dave

[Edited to remove an extraneous H]

Yeah, but no one around here pays attention to Jon R.

What he said. Just stay off his lawn and ignore him. ;>

I fail to see what’s ridiculous about this; it’s probably his best point. Imagine trying to crowd 16 co-op players and a requisite number of enemies into a Quake 2 level. Those same levels handled competitive multiplayer swimmingly.

[quote=“Sanjuro”]

I fail to see what’s ridiculous about this; it’s probably his best point. Imagine trying to crowd 16 co-op players and a requisite number of enemies into a Quake 2 level. Those same levels handled competitive multiplayer swimmingly.[/quote]

Diablo II was actually a good example of this. 2-4 players worked okay. But 3 or more players, if you had a couple of necros summoning ridculous numbers of skeleton warriors, was both too easy and painful to navigate through some areas.

I fail to see what’s ridiculous about this; it’s probably his best point. Imagine trying to crowd 16 co-op players and a requisite number of enemies into a Quake 2 level. Those same levels handled competitive multiplayer swimmingly.[/quote]

Diablo II was actually a good example of this. 2-4 players worked okay. But 3 or more players, if you had a couple of necros summoning ridculous numbers of skeleton warriors, was both too easy and painful to navigate through some areas.[/quote]Monster stats scale up with the number of players in the game. Not sure if it was always that way, but it helps.

A well-balanced party can still tear through the game, and 8 necros with full skeleton armies are still going to choke the engine.

Five players is a full squad, I’ll guess its a balance issue.

That may be part of the issue, but their comments lead me to believe it’s a technical issue.

Michael - thanks for the comments. I’m specifically curious about the bandwidth issues related to a server/host computer sending client computers information. Assuming all computers which can run a single player mission can run the equivalent multiplayer coop mission, then restrictions should be related to bandwidth…right?

Is it simply a matter of having more AI units in a level?

Or can anyone tell me what happened with Gearbox’s attempts at bringing coop to Halo PC?

Obviously not a huge deal. Other co-op games have managed it, as have multiplayer servers with bots. Systems today are generally more powerful than what we had with co-op games of the past, and people who run dedicated servers have apparently accepted the idea of multiplayer games sucking up every resource possible.[/quote]

This is key to why cooperative games are bandwidth hungry, and it is exactly because systems are more powerful today that co-ops take up more bandwidth, because the bandwidth hasn’t increased at the same rate as the complexity of the games. Sending the AI data to every computer isn’t just about sending their location on the map, you have to update for every aspect of their physics. Some games have up a hundred bones for each animated AI, and each animated AI has multiple animation frames, and each AI has several different awareness states, and on and on. Having an AI on the map takes up at least as much bandwidth as an ordinary player, and you have to update all the clients as to their status.

Cry me a river. It occurs to me that my name doesn’t have an H in it.

You see a lot of people clamoring for 16 player co-op, sport? In all of the discussions here about co-op, have you heard a single person bitch that any singleplayer campaign not supporting 16 players?

Playermodels have a bunch of animation frames, blah blah blah. You’re going to tell me that this is enough to saturate broadband connections, or that it’s fundamentally different from the way multiplayer bots are handled on a UT2k4 server?

Look, if you want to say that shoehorning co-op into an already finished game is a bitch, fine. The rest of this? I call bullshit.

You see a lot of people clamoring for 16 player co-op, sport? In all of the discussions here about co-op, have you heard a single person bitch that any singleplayer campaign not supporting 16 players?[/quote]

Actually, it appears to me that this thread is about that exact thing.

ahem.

So to answer your question, yes, there does appear to be at least one single person bitching about a singleplayer campaign not supporting 16 players. Sport.

Look, if you want to say that shoehorning co-op into an already finished game is a bitch, fine. The rest of this? I call bullshit.

That’s what the initial post was asking, why it’s more difficult than deathmatch/etc. So now you agree with Michael Fitch?

Playermodels have a bunch of animation frames, blah blah blah. You’re going to tell me that this is enough to saturate broadband connections, or that it’s fundamentally different from the way multiplayer bots are handled on a UT2k4 server?

Look, if you want to say that shoehorning co-op into an already finished game is a bitch, fine. The rest of this? I call bullshit.

No, it isn’t fundamentally different, it is just a matter of degree. In a UT2k4 server, you have say a maximum of 32 players. It doesn’t make any real difference if they are bots or humans. In co-op, you have, say, four players, and you have all the AI on that level. If you boot up some of the Far Cry levels into the sandbox editor, you will see that the single player missions are far more complicated than the multiplayer maps, and it all has to be updated in real time. You can mask parts off that aren’t active, but players can split up and double the active area. Multiplayer maps are also often dumbed down, with reduced physics, so as to keep the performance acceptable. That’s difficult to do in single player missions, without breaking the game, or making it really obvious.

You’re an idiot.

What i’m saying is that it’s a gimme point. Technically, his assertion that you run into a lot of problems unless you plan for it is something i agree with, but it had nothing to do with anything else he said. I can also see the problem in creating a bus out of a VW bug instead of just creating a bus to begin with. Of course there are a bunch of potential pitfalls, but it’s like that with every other aspect and it really doesn’t answer why it’s MORE difficult. That’s all.

Ok. So it’s basically just the environmental physics, which are of arguable value, that are the hangup? Because i can kinda-sorta see the thing with players splitting up, but that doesn’t really seem like something co-op players like to do unless the area is really boring and they just want to get it over with. Again, it doesn’t have to allow all connected players to branch off on their own missions, it just has to let them partake of the main mission with the other guy. As far as the physics go, i haven’t played Far Cry but i haven’t really seen anything done with physics that couldn’t be done client side or with scripted objects.

But this is getting off the main point. Of course Far Cry does things one way, but none of this goes towards answering the question of what makes co-op so much more difficult, or so much more bandwidth hungry in general. And what happened to the AI or the models you mentioned in your last post?

Oh, good. I was afraid this might become an intelligent debate.

No, it’s not just the environment physics. Everything has physics in modern games. The bones of the player/AI models have weights and geometries. The vehicles too, have hundreds of different parts. And you can’t just script it on another machine, or just run it client side, because you can end up with completely different results. You will get bits and pieces of vehicles, barrels, players, and all sorts of things in the wrong place. You can do a certain amount of prediction, but you have to keep synching everything.

I’m not an expert on this, and I’ve actually had discussions with the network coders here on a similar issue. I asked them why they couldn’t just make the physics non-random for multiplayer games, so that it would be predictable client-side, but the general response was that it just couldn’t be done.