XNA Creators Club Online
Page 1 of 1 (8 items)
Sort Posts: Previous Next

Network Problems and one megabug :-)

Last post 10-07-2008 5:50 PM by Nick Gravelyn. 7 replies.
  • 10-04-2008 8:59 PM

    Network Problems and one megabug :-)

    Hello everyone!

    I would like to ask some questions to developers of XNA (network part)... I am using microsoft XNA to write a techno demo of retail casual game for PC, and I choose XNA as fast and relaible tool for doing this...

    Note: I have some experient of game writing (for example I developed a couple of casual games, and participate in one big retail title), but I got little experience in networking..

     

    Network problems:

    1) Can not create network on a standalone PC.

    Why? I would like to play single player game and do not need any network or internet connetion... And as a programmer I would not like to write separate piece of code for network and standalone game, I would like just to create server and play alone! :-)

    2) Long initialization duiring start up

    How can I descrease time of waiting if my computers are not connected ot the internet? I do not like to wait about 30 sec waiting while XnaLiveProxy realise that there is no internet connection... It's quite nasty and slows development...

    3) Network state does not have Loading and Loaded states...

    Ususally after Lobby state games load the game resources and that's why these stated should be included....

     

    4) MEGABUG

    I sruggling with network more than one month. I write relaible server/client architecture and all fine except one significant thing - over 1gb ethernet I can only send without lags no more than 40-80KB per second (this amount can very from session ot session for unknown reason)...

    It's ridiculos... :-) I done lots of experiment and I can descrive them in details... But I am quite sure that the problem is inside XnaLiveProxy (as I understand it has internal buffer about 1mb and does not allow exceed some amount of traffic)... I have experience lag about 30 sec before the game crashes (exception about buffer overflow and recommendation to lower packets with RelaibleInOrder option)

    Note: I update network session 60 times per seconds and send only ONE packets per tick from server to each client and only ONE packet from any client to server...

    Can someone explain such restiction for network traffic? During development I do not care about traffic... especially for PC game..

    (and one more thing about using HalfSingle - often Single can not be packed into HalfSingle due to flikering effect... And I zip each packet (500 byte -> 340 byte)...

    But I read pdf from one of XNA developers where he suggest to use HalfSingle and do not use zip - BUT realworld application show absolutly different result)

     

     

    Sorry for my english...

    Regards,

    Lesha VH

  • 10-04-2008 9:04 PM In reply to

    Re: Network Problems and one megabug :-)

    I can really only address two of these:
    Lesha VH:

    1) Can not create network on a standalone PC.

    Use NetworkSessionType.Local when creating the NetworkSession and it should work just fine.

    4) MEGABUG

    I sruggling with network more than one month. I write relaible server/client architecture and all fine except one significant thing - over 1gb ethernet I can only send without lags no more than 40-80KB per second (this amount can very from session ot session for unknown reason)...

    That is quite known behavior at this point and, it would seem, unlikely to change. The XNA networking APIs are made for game traffic. At least on Xbox 360, the official recommendation is that your game should not require more than 8KB/s. The XNA networking APIs are not written with large data transfers in mind.


    Nick Gravelyn -- Microsoft XNA MVP
    Blog | Metacreature Games | Super Gravelyn Bros | Bloc | Next-Gen
  • 10-05-2008 3:00 AM In reply to

    Re: Network Problems and one megabug :-)

    Nick Gravelyn:
    That is quite known behavior at this point and, it would seem, unlikely to change. The XNA networking APIs are made for game traffic. At least on Xbox 360, the official recommendation is that your game should not require more than 8KB/s. The XNA networking APIs are not written with large data transfers in mind.

    I thought the 8kb/s was to ensure that you were within the 99% of all XBL customers... if he is testing over 1Gb ethernet locally then I cant imagine there should be a problem even with odd optimisation. I know the trasnport to/from the PC/xbox is somehow an odd enough architecture that it doesn't go fast but I had not heard anything about the other channels



    The ZBuffer News and information for XNA

    Please read the forum FAQs - Bug reporting
  • 10-05-2008 4:03 AM In reply to

    Re: Network Problems and one megabug :-)

    The ZMan:

    Nick Gravelyn:
    That is quite known behavior at this point and, it would seem, unlikely to change. The XNA networking APIs are made for game traffic. At least on Xbox 360, the official recommendation is that your game should not require more than 8KB/s. The XNA networking APIs are not written with large data transfers in mind.

    I thought the 8kb/s was to ensure that you were within the 99% of all XBL customers... if he is testing over 1Gb ethernet locally then I cant imagine there should be a problem even with odd optimisation. I know the trasnport to/from the PC/xbox is somehow an odd enough architecture that it doesn't go fast but I had not heard anything about the other channels

    True, however as AJ Miles has brought up a bunch, the networking APIs seem to be limited right around the 30-40KB/s range. Over LAN or internet it doesn't seem to go any faster.


    Nick Gravelyn -- Microsoft XNA MVP
    Blog | Metacreature Games | Super Gravelyn Bros | Bloc | Next-Gen
  • 10-07-2008 11:26 AM In reply to

    Re: Network Problems and one megabug :-)

    Hello, Nick!

    Thanks for answers!

    Could I ask you please to speak someone who responsible for network API to remove restriction about traffic per second in case when the NetworkSession created with option Local or SystemLink?

    I think this proposition is good :-)

    This can help speed up game developing (no need to heavily optimize network) and allows to develop somekind of games that require more than 40Kb per sec (for example only for local area network 16 vs 16 players games)...

    Well, actually I am developing such kind of game and I really will be disappointed if I need to write my own network code due to this restriction...

    As I understand some other developers also would like to ask the same :-)

     

    Regards,

    Lesha VH

  • 10-07-2008 12:22 PM In reply to

    Re: Network Problems and one megabug :-)

    Woo, it isn't just me :).
  • 10-07-2008 3:41 PM In reply to

    Re: Network Problems and one megabug :-)

    Lesha VH:

    Could I ask you please to speak someone who responsible for network API to remove restriction about traffic per second in case when the NetworkSession created with option Local or SystemLink?

    This can help speed up game developing (no need to heavily optimize network) and allows to develop somekind of games that require more than 40Kb per sec (for example only for local area network 16 vs 16 players games)...

    Sadly none of the MVPs in here have the sort of power to get the team to change things. However *YOU* do. Head off to http://connect.microsoft.com/ and add your request to the connect tool. Make sure you put in justification in the form of your scenario which isn't working and include demo code to show the issue.

    Lesha VH:

    Well, actually I am developing such kind of game and I really will be disappointed if I need to write my own network code due to this restriction...

    On the Xbox you cannot write your own network code...



    The ZBuffer News and information for XNA

    Please read the forum FAQs - Bug reporting
  • 10-07-2008 5:50 PM In reply to

    Re: Network Problems and one megabug :-)

    Lesha VH:
    This can help speed up game developing (no need to heavily optimize network) and allows to develop somekind of games that require more than 40Kb per sec (for example only for local area network 16 vs 16 players games)...
    I'm pretty sure Enemy Territory: Quake Wars features 16 vs 16 player online matches and, since it passed certification, this means it cannot use more than 8KB/s (unless they lied to us at Gamefest about the requirements). 40KB/s is certainly not needed for a 16 vs 16 game if you optimise your networking. You should be able to bring that down quite a bit. As a relevant topic, I'd suggest giving a look at Shawn's networking talk from Gamefest.


    Nick Gravelyn -- Microsoft XNA MVP
    Blog | Metacreature Games | Super Gravelyn Bros | Bloc | Next-Gen
Page 1 of 1 (8 items) Previous Next