#64768 - sgeos - Mon Dec 26, 2005 2:56 pm
Practically speaking, what are the limitations on 16 player wifi games? (Ie, what clearly can't be done.)
-Brendan
#65805 - tetsujin - Thu Jan 05, 2006 9:06 pm
Most likely a basic limiting factor is the way the probability of a connection error rises as more people are participating in a single game. If all communications went through a single "host" player, then the probability of a failure in the game rises exponentially as you add more players. (Probability of one player losing connection, losing power, etc. during a two-player game = 1-(1-p)^2, Probability of at least one player losing connection, losing power, etc. during a sixteen-player game = 1-(1-p)^16) so if the probability of any one player's connection failing during any game is something like .01, the approximate failure rate for a two-player game is about 2%, where for a sixteen-player game it'd be around 15%)
If communications don't go through a central host, but instead are broadcast, then the probability of an error rises much more quickly, and your ability to be confident that all players have a similar view of the state of the game decreases similarly. (The odds of an error between one pair of players is (1-(1-p)^2), and there are (n!) unique pairs of players in an (n) player game - so the odds of a failure are (1-(1-p)^(n! * 2)) Redundancy in your communications and periodic synchronization can help the situation, of course.
I think that's one of the main limiting factors - reliability decreases quickly as you add more players, and that affects a lot of things in similar ways. The process of getting that many players together in the first place is a similar problem. The player-to-player interactions in the game itself will show a similar risk of degradation. The risk of losing a player, the apparent effect and incidence of lag, the impact of "race conditions" related to lag, all respond similarly. How serious all of this is in practical terms may depend greatly on the nature of the game.
On a simpler level, a 16-player game needs a 16-player display, of sorts. If it were a race game like Mario Kart, you'd need to be able to render all those players at once and handle their interactions on the track correctly. If it were a puzzle game in the vein of Tetris, it might be valuable to have those players' games all on-screen, or at least some representation of their progress. If it were a multi-player sandbox like Animal Crossing, it might not be much of a problem, but you'd at least want to be able to handle conditions of all those players trying to take the same object at once - what exactly happens and how does it relate to lag issues? Does a player who grabs the object then find out, "sorry, actually this other player got it first, so you don't get it." (This is actually exactly how Bomberman online worked on the Dreamcast...)
Beyond that, I don't think there are any strict limiting factors on 16 player games. It's simply a problem that, as the number of players increases, the difficulty of getting a reliable, enjoyable game experience (and of starting the game in the first place) in which the players can easily ignore the fact that their communication channel is inherently unreliable gets much more difficult.
_________________
---GEC
I think that all the work that's been done by the homebrew community so far to support people who want to program for the GBA or DS is amazing.
Thank you, everyone, I look forward to taking advantage of your work.