Memory is a very precious resource, especially on consoles, and any MB used to load the city is a MB that can't be used for vehicles, NPCs, well. Because each player can freely roam the city untethered in SR co-op, the engine would need to support having two areas of the city loaded into memory (ouch!). And then you have to start looking at reducing the actual scene complexity - cutting polys, reducing texture quality/variety, reducing object counts, etc.ģ) The memory cost to load two areas of the city (unique to non level based games), doubles. Depending on the game, a lot of these costs can be offset by turning off rendering features in split screen (disable AA, reduce render resolution, etc.), but that may not offset all of the costs. Since there are very hard limitations based on the system hardware, in order to still run at 30fps (which means you have to simulate AND render a frame every 33 ms) you must reduce the complexity of the scene from what it would be otherwise to keep a solid framerate. Since local co-op is a complicated feature (see below) it is also costly to implement both in time and $.Ģ) The game must render the scene twice each frame, instead of just once, which increases the CPU/GPU cycles and memory used by the rendering engine drastically.
While we would all like to pretend there are not budget constraints, it's unfortunately usually a very real part of making AAA games. So why is this feature often overlooked in games (especially open world games), when it no doubt adds value to the game? Well, the benefits are quite obvious, so let's look at some of the immediate costs (at least for SR).ġ) The budget cost to implement the feature. In fact, I can only think of one open world game that supports this feature, Borderlands (which is a fantastic game, BTW). It gets even more costly for open world games, which is why you don't see it implemented very often in open world games. Local player co-op is an extremely expensive feature, in general. (It was actually considered at the start of SR2, but was cut pretty early on for reasons that are listed below) While we would all love to have been able to include local co-op to Saints Row, it was determined to be not cost effective, and thus, not included. The cost of any feature X can be broken down into the actual cost for labor to implement the feature (man hours), system resources (CPU/GPU cycles, memory, etc.), and finally, the lost benefit from other features Y that were forgone in order to implement X (this last cost is often overlooked ). For any feature, you must compare it's cost with it's benefit, and decide if it's a good fit.
As a general rule when designing games (or anything really), you need to utilize limited resources in an effort to make the game you want to make the best it can be.