Game Development Community

Network support other than XNA

by Chris Kim · in Torque X 2D · 07/09/2008 (9:30 am) · 10 replies

Does GG have any plan to roll network layer of its own?

#1
07/09/2008 (9:45 am)
Right now we are looking at what XNA networking has to offer. If we rolled our own, it may quite easily break any 360 network support implementations. It may also break and Zune sharing communication as well. Of course, I'm not sure what the engine dev team is working on behind closed doors, either.
#2
07/09/2008 (11:11 am)
XNA networking can remain the same if user wants to deployee games on Live but if you want to host your own network game, it should be possible to do so. So I mean to ask in addition to XNA network, if GG can add independent network layer not based on XNA. I'm not sure how many user develops game for Xbox but I believe there are more PC developers than Xbox. Does it sound reasonable?

Thanks.
#3
07/09/2008 (11:19 am)
GarageGames already has its own network layer used in the other engines. I believe its called TNL, but I may be incorrect.

As for whether they will implement it into TorqueX, I don't have that answer. TGB already has networking capabilities if you are not interested in developing for Xbox at the moment - I know that isn't exactly the answer you want to hear but it would at least get you going.
#4
07/09/2008 (1:04 pm)
You can use any of the other .Net network assemblies available with XNA on Windows. People have been doing that since XNA was introduced.
#5
07/09/2008 (3:49 pm)
For PC games that you want networking for just use the networking library that comes with .net. It's easy enough. I don't see how it can get much easier than the stuff already available in that library.

Here's a pretty good networking article that deals with .Net:

www.ziggyware.com/readarticle.php?article_id=133
#6
07/16/2008 (3:17 pm)
Object syncroniztion is much harder problem than one can imagine and needs pretty tight integration with the entity system in the engine. If it were just simple network transport layer, I wouldn't have brought it up. For TX to become more complete engine, TNL like layer is necessary but I don't see any initiatives. :(
#7
07/17/2008 (1:17 pm)
But then we fall into breaking TX into PC and 360 versions with features that do not work across the two.
#8
07/17/2008 (2:31 pm)
I see. Is one of the requirement of TX to provide cross platform solution between PC and XBox?
If so, I can give up on the hope cause Xbox won't have general network solutions.

However, I didn't see the crossplatform requirement mentioned anywhere and I believe there are more PC developers than Xbox.
I can argue that some feature only supported on one platform does not hurt.
In the case of network, I think it makes very good sense.
#9
07/17/2008 (2:33 pm)
It makes sense so far as it does not break XNA support.

EDIT:
And, of course, I'm not saying that a network layer won't happen for TX, but it doesn't make sense to possibly kill XNA platform support when TX is built on top of it.
#10
08/07/2008 (4:54 pm)
I have been looking at this problem recently as well.

Many people on the Creator's Club side have been recommending Lidgren or RakDotNet for developers not interested in using LIVE - or Windows developers that want to distribute commercial games (since an agreement is required from Microsoft for that service on Windows). In particular, an intermediary package that could ride on either XNA or Lidgren, RakDotNet, etc would be very handy. That would allow developers to program their games once and use whichever base library they needed.

The reason i mentioned this here is because GG's TNL might be a good candidate for that by creating an interface layer with the common functionality that people enjoy from the other engines, but having the option of using either XNA Live or GG's own network code as the base layer. At compile time, the appropriate layer could be compiled into the game, thus not breaking XNA for XBOX and not splintering Torque X. It sounds more like a component or add-on than anything else.

That's just an idea I threw out. Truthfully, it's probably quite a bit of effort and work to accomplish that.

I don't see any reason why the tried and true client/server/ghosting mechanisms that the rest of Torque uses can't ride on top of XNA's networking though. But I'm Not a GG Developer (INAGGD :-).