xna for xbox platform, networking a semi-authoritative config?

Started by
1 comment, last by themeow 11 years, 7 months ago
Hello, I wanted to discuss possible routes for setting up an semi-authoritative networking topology using xna for the xbox. Clearly there is a problem since xbox is limited to the Live network, and there is a 32 player connection limit. On top of that, to facilitate seemingly lagless gameplay using prediction techniques, the maximum amount of simultaneous players with near perfect results is 8 per server, maintaining a 64kbps transfer. Not accounting for peer-hosting lag due to physical location and ISP loads.

So my idea, so to speak, is to share the hosting between clients, and reserve a slot for the authoritative server (xbox). And I'm wondering what everyone's thoughts on this are, latency, error-prone considerations, fundamental flaws, things of that nature...

Say xbox [a] is the server, it has 2 lobby's of 20 clients it must provide for. I'm thinking that each client has built-in server hosting code, just like a lobby system for any popular fps nowadays would. And since only 32 people can be connected at any one time, have the master-host, xbox , capable of shifting control to another user when they exit the game. In this setup, I'm visualizing having the xbox connect simultaneously to the xbox [a] for routine cleanup and authoritative validation, and then disconnecting so that other lobby's containing another 20 clients can do the same, and therefore never exceed the 32 limit.

The only problem with such an idea, is that in for instance, an MMO game, only 32 people would be visible at any one time, and they may or may not be part of the lobby the client in debate is connected to. Which is quite problematic (characters phasing in and out of existence, pausing mid-animation... etc).
So if anyone has any ideas to best mine, or any ideas at all, I would definitely enjoy the read.

The end goal I have is to provide MMO content using a master-xbox for database transactions, and eventually using SteamWorks to combine xbox and pc users. So I imagine you can see the problem here, given Microsoft does not provide any networking facilities other than Live, nor dedicated servers for game logic.
Advertisement
Using XNA, give up on the idea of a lagless MMO. To do that on the Live! network, you need to pay Microsoft for access to their data centers, and certify your server code to run there.
For XNA, you need to stick with the game types that can actually be written using the available tools.
For an online RPG, "lagless" is not a necessity, though. You can crank down movement and action information to once every 500 milliseconds and it will work fine. That may let you run sessions of 32 players. Additionally, if you support late joiners, and host migration on server loss, you can still use client/server rather than peer/peer. peer/peer uses a lot more bandwidth overall.
enum Bool { True, False, FileNotFound };
thank you very much for the information, exactly the info I was looking for. It sounds like I would have to be either proven in the industry or one hell of a programmer to get "vested" w/ MS to get data center access.... So I won't even try for that route. :)

This topic is closed to new replies.

Advertisement