Game Development Community

Tnl And Tge

by Jay Barnson · in General Discussion · 04/20/2004 (2:16 pm) · 18 replies

Okay - as a (currently) non-TGE owner, I have a question about TNL vs. TGE...

Torque does include networking libraries as part of the engine, correct? Assuming so, what's the difference between what is found within the game engine and the new stand-alone networking library?

About the author

Jay has been a mainstream and indie game developer for a... uh, long time. His professional start came in 1994 developing titles for the then-unknown and upcoming Sony Playstation. He runs Rampant Games and blogs at Tales of the Rampant Coyote.


#1
04/20/2004 (2:17 pm)
I was pretty sure until recently that TNL was the built in network layer found in Torque V12 but that you can now use it in your own engine.
#2
04/20/2004 (2:39 pm)
So if you already own and are using Torque, there's no reason to get the TNL? Or are there additional features / enhancements that TNL offers?

I was just curious as the TNL is priced significantly above the TGE...
#3
04/20/2004 (3:29 pm)
TNL has some improvements over TGE's networking layer, like encryption, dos protection and stuff. But it's meant to be used outside of TGE, ie if you have a project going with engine XYZ and you need a powerful networking library to use.
#4
04/21/2004 (12:44 am)
TGE is a game engine.

TNL is a networking library.

TNL is not what is contained in TGE although it is similar.

If you would like to find the differences, please consult the TNL source code, which is available for free download from opentnl.org. It is cleaner, more reliable, more efficient.

On the other hand, TGE is a full feature game engine.
#5
04/21/2004 (5:32 am)
To follow up on what has been said already:

TGE has awesome network support. TNL is based on this, but has been enhanced and re-factored to stand on its own.

Indie and commercial licenses for TNL respectively cost $295 and $995 per programmer. Anyone who knows about network coding and investigates TNL will recognize that this is an awesome deal. :)

Yes, TGE is even less expensive, even though it includes most of TNL's functionality and a whole slew of other AAA game engine stuff. There is no explanation for this other than the simple fact that TGE is a crazy, ridiculously good deal. :)
#6
04/21/2004 (6:15 am)
From what I understood was this was being marketed as a seperate entity so you could use this for your network layer in a game that is created using any engine. ie. Bungee using TNL for Halo instead of whatever the hell they used.

So that is my guess as to the price difference. Developers can plug it in instead of using Torque.
#7
04/21/2004 (6:52 am)
TNL is an incredible deal...


I haven't even yet grasped the full scope of it but in 10 minutes of looking at the open source code I can tell you these things for a fact....


1. TNL includes the Master Server code. How many of you have dreamed of having that code? Having your own master to design and modify as you please just added a whole new dimension to Torque that we didn't have before. If you can't write your own, now you have one available.

2. TNL is well built and INCREDIBLY well documented. Not that Torque hasn't been given it's fair share, but it's obvious that GG learned to knock out the documentation as the code was being written and they did a great job.

3. TNL is stripped of Torque. At $295 and $995 respectively the licenses are impossible to beat. The guys at GG set those prices very carefully and here's why. If you are an indie developer that wants Torque's network code but not all of Torque's other stuff, are you REALLY going to sit down and disect Torque down to it's network layer, and THEN add in TNL's improvements, and THEN write your own MasterServer just to save yourself $195??? Nadda. And the $995 license, same thing. The manpower, time, and risk of problems dictates that a smart company buys the TNL. Keep in mind please that this is NOT "gaming" network code, this IS network code. You don't have to make games with it.


4. It's Award winning code. What more really need be said. When it comes down to performance and PROOF of performance, along with years of refinement and empirical data that is indisputable, Torque is a leader. Now that TNL is out, and the next step in it's evolution has been made, where else are you going to find a product with credentials as impressive as these?
#8
04/21/2004 (7:41 am)
I got to look over it a little bit before rehearsal and am extremely excited by the prospects for TNL. One of the best decisions was mutli-licensing it as well. It's an excellent strategy. Having it under the GPL keeps the codebase open and updated as new technologies emerge AND gives developers using OS'd engines an extremely robust set of network code to deal with. The indie license gives those of us on a limited budget the ability to integrate it into any closed-source codebase (such as Torque) that we need. Same with the commercial license, but at a fraction of the cost of most commercial network code packages.

This is EXCELLENT news!
#9
04/21/2004 (7:46 am)
I think the mutli-license concept will work great for libraries such as this!

This is very exciting because my project is more about network traffic than just about anything else!
#10
03/04/2005 (12:33 am)
Does TGE not have master server source code inside?

protozerg
#11
03/04/2005 (12:42 am)
Source for the master server is not included in the TGE SDK
#12
03/04/2005 (1:21 am)
Has anyone had any experience with and / or tried connecting an application running TNL with TGE?

My project could really use a "thinner" client (not using the 3d stuff, etc.) connected to TGE to control aspects of the game / simulation, and using TNL in a smaller footprint app would seem to be an elegant solution to such a problem...

What do you think? Is it possible?
#13
03/04/2005 (5:45 am)
So... Can I make a master server for TGE with TNL?

Most of all, is it illegal for making a commercial game?
#14
03/04/2005 (6:38 am)
Illegal, no. But if you use the GPL''d TNL, then you'll have to release all of your server code. If you purchase an indie/commercial license, then you won't have to release it. Simple as that.
#15
03/04/2005 (7:13 pm)
@Paul, you should try this command
make -f mk/configure.mk OS=LINUX COMPILER=GCC3 BUILD=RELEASE
make --dedicated
The above makes an EXCELLENT server, w/o all the 3D and sound lib stuff you really don't need on a dedicated purpose built game server.

@GG I'm just wondering if TNL/OpenTNL code can be incorporated into a TGE based game to take advantage of the better net code. If so how would one go about doing this? I mean not that the TGE net code is bad, but if TNL has master server capabilities and some of the other stuff TGE doesn't I would REALLY love to incorporate it.

Also is there any difference between TNL and OpenTNL other than the license?
#16
03/04/2005 (7:20 pm)
CEC: All that's different is the licence.
#17
03/05/2005 (3:57 pm)
@CEC: Thanks for that info, there! Isn't that pretty much the same as running the game executable with the -dedicated option, however?

Would such a thing work as a sort of "dedicated" client? If so, how would you go about connecting it up to other systems running a TGE server?

Thanks!
#18
03/05/2005 (5:35 pm)
It sounds like there are two misconceptions here:

The code for the "master server" that is in OpenTL is simply an implementation similar to battle.net that allows "game servers" to advertise their presence to players that aren't necessarily interested in playing on a particular server. This "master server" code is NOT designed to be a "dedicated server" for your game, but a means to be able to advertise your server's presence on the "GarageGames Community" in a very general way. You do not need this code to create a dedicated server/dedicated client setup using Torque.

Additionally, the TNL is simply a slightly streamlined and optimized (and I do mean slightly) version of the network code that (most) Torque products already have. There is no real benefit to worrying about the OpenTNL implementation if you already have TGE, TSE, the RTS-SK, or (soon, very soon!) T2D. All they did was separate and package TNL as a separate product because some people in the past wanted Torque's network code to use in their own code bases/projects, without the rest of TGE's infrastructure or code.

Personally, no one on my project has even glanced at TNL (except for reference to answer questions on the forums), but we have used the network code in TGE (again, which is just about exactly the same as TNL in capability), yet we have a full dedicated server and dedicated clients that we release to our testers (and eventually, our players). All you have to do is to create two separate make rulesets, and compile one with a "make dedicated" rule, and the other with simply a "make" rule--or, a "make client" if you feel like writing your rule that way. Each rule would define what is code is compiled into the executable.

@Paul: Theoretically, you could use TNL in it's standalone form and hook it into a client application that you wrote completely by yourself, with no TGE code whatsoever in your "thin client". However, that would mean that you'd have none of the TGE gui's, simulation capabilities, or anything else that TGE provides. In the long run, I would suggest that if you want a thinner client that is meant to run a TGE application, just cut out the code you don't need. Depending on your client's functionality requirements, I think that you'll find out that it there actually isn't a ton of "fat" to cut out.