Game Development Community

How exactly does the client-server architecture work in Torque3D?

by Tetragrammaton · in Torque 3D Professional · 04/09/2013 (12:03 pm) · 6 replies

I've been looking around the C++ codes, but couldn't make myself a picture of it. So, I'm asking now, how exactly does the client-server architecture work. As I heard, it's award winning, which means that it is really good. So, could someone explain it to me? You don't need to post C++ code, but if you want it, you can do it. You can do it as detailed you want.

#1
04/09/2013 (12:05 pm)
the documentation is always a good place to start ;)
#2
04/09/2013 (7:56 pm)
also do some search om old forum threads.i got some really cool explainations on those posts.far better then documentation.
#3
04/10/2013 (5:40 pm)
<smart remark>
You see Torque has a client and a server part. The client does the...well...you know...the clienty stuff and the server does the servery stuff. Except usually there are a lot more clients than servers. Sometimes there are only client stuff to do by the client. In addition there is sometimes a server that only does server stuff. So these two parts get together to do the clienty servery stuff. Make sense?
</smart remark>

tdn.garagegames.com/wiki/TorqueNetworking
#4
04/11/2013 (7:24 am)
<another smart remark>
Except in the case of a "single-player" game - then there is only one client and one server. And they pretend that there is no client or server. A sort of passive-aggressive game engine.
</another smart remark>

<pretend I re-inserted Demolishun's link>
#5
04/11/2013 (11:31 am)
@Richard,
Awesome! I totally forgot about the bipolar clienty-servery situation.
#6
04/11/2013 (1:35 pm)
Yeah, that's what LocalClientConnection was added to short-circuit. When in "single-player" there are a ton of things that get bypassed, but some of it is still sticky - like packet sizes (oddly enough).

It occured to me that The Torque Network Library Reference might be a better resource for the OP - the network subsystem was separated and sold as a stand-alone package for a while before being released as open source software. This gives the OP a chance to look at it independent of the engine so as to give a cleaner view of how it works.

[edit]
Ok, so the opentnl.org site is defunct but that page still has a few useful links. The SourceForge project is at this location but you'll have to either download a zip of the code or pull it with CVS.