Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 1 more developer from Canada and 12 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!

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

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 themeow   Members   -  Reputation: 105


Posted 28 September 2012 - 07:45 AM

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 [b], capable of shifting control to another user when they exit the game. In this setup, I'm visualizing having the xbox [b] 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.

Edited by themeow, 28 September 2012 - 07:58 AM.


#2 hplus0603   Moderators   -  Reputation: 7867


Posted 28 September 2012 - 01:14 PM

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 };

#3 themeow   Members   -  Reputation: 105


Posted 29 September 2012 - 08:08 AM

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. :)

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.