Torque Network Gaming Library Released Open Source
An anonymous user writes "GarageGames launched the Torque Networking Library under the GPL today - this is the PC game networking technology behind Tribes and Tribes 2. It's also available under indie and commercial licenses for closed source projects, but OpenTNL.org is the home for the open source release, which also has an official FAQ online. Along with the library itself is a master server implementation for game tracking, a graphical test app, Zap and a retro-styled space shooter."
I've been using the Torque engine for sometime. And I gotta say, these guys are doing it right! People still play Tribes 2 and it can handle 60 (yes six-zero) players on a beefy box with little lag. Props out to them.
-_-
Great! Now, who's gonna extend this and built a P2P open-source MMORPG?
Anyone? Anyone? Bueller?
It's quite likely ID Software is going to release the Quake 3 source under the GPL once Doom III is out, but only time will tell.
Given that Doom, Quake and Quake II have all been GPLed, presumably it literally is a matter of time until Quake 3 goes the same way.
Tribes 2 was as Linux Friendly as Quake 3 and UT2004: I have the linux client and it works very nicely.
Nice try though
I imagine it's par for the course in the game industry, where code is written to be abandoned within a few years.
Great! 100 sourceforge game project leaders just jumped for joy. Then went right back to not writing and linux games.
I've looked at the torque network layer while it was still part of the torque engine. It's well suited for developers who want a small scale (32 players or so) network game, particularly if its a first person shooter.
I wouldn't even consider it for a mid-size or larger multiplayer game, as it lacks important security features and IMO doesn't give enough control over the actual network protocol due to the emphasis on RMI.
Other network layers to look at are OpenPlay and , both of which are also also free and OpenSource.
Disclaimer -- I contribute to OpenPlay.
This is one of a couple of reasons why ID should be respected not only in the Gaming Industry, but in the Software Industry in general.
They create awesome games, awesome software. The technology rocks and is generally the cutting edge for their market.
Then a couple of years later they open up the whole thing and give it away. "Here community, take this and learn." Classy setup they have there.
Also, don't forget they started this with Wolfenstein. I think this was 1995. So they've been doing it for a while. They were one of the first commercial game houses to do so, if not THE first.
wbs.
Huh?
This, along with the recent announcement that Tribes 1 and Tribes 2 will be given away for free, I wonder what kind of cool mods / enhanced will be possible?
Torque is Linux friendly, and Mac OS X friendly as well. Most Torque Games have been released for all 3 platforms (with the exception of the old tribes series, which were made before the engine became publicly available). Just look at Marble Blast, Think Tanks and Orbz! All Torque games, all available multi-platform.
They create awesome games, awesome software. The technology rocks and is generally the cutting edge for their market. Then a couple of years later they open up the whole thing and give it away. "Here community, take this and learn." Classy setup they have there.
Id is not being selfless or altruistic, they are being self serving. They are doing the right thing for their business. That OSS advocates like this is a coincidence. You need to keep in mind id's business. It is not necessarily to sell games but to license their engine to other developers. That is why they can afford to be cutting edge. Their games don't have to run on typical systems, their games are in part proof of concepts and demos for the engines. By the time some other developer licenses the engine and has a game ready to release typical systems have caught up. They can afford to open the previous generation's source because they want a large body of programmers familiar with their engines. This puts pressure on developers to chose an id engine over someone else's.
Again, I am not saying id is doing anything wrong, quite the contrary. However don't have silly thoughts that they are doing this purely out of the kindness of their hearts.
That's just not true. The difference is that my windows copy of Tribes 2 was useless in linux, instead I had to buy the loki version for another 40 bucks. Both quake and ut have linux binaries for the windows game that are free. To me that amounts to a wallet-load less linux friendly.
A number of new features have gone into TNL. But more importantly, it would take a lot of work to rip the networking out of Torque and abstract it for general use. By getting TNL, all this is done for you, and documented. The added cost is largely for the time and effort all of this will save you. If you just want to start a game from scratch rather than adding networking to an existing project, the full Torque engine is probably a better option. Of course if you are doing an open source project, there is no added cost :)
Disclaimer: I am a GarageGames employee
With a cursory look at the docs, it looks like it wouldn't be too bad - it looks to be fairly OO at the moment, so you're just looking at a translation layer implementation. OTOH, it might be tricky to get all the efficiency on it, since it will do ints and floats to *bit* precision, and I don't know how well Ruby would interface with that...
The for sale version will be the same as the GPL version. Anyone who wants to contribute back to the official version of the TNL will have to be willing to assign a shared copyright to GarageGames for code they submit.
I'm not trying to be cynical. The original post seemed to suggest that id was being completely altuistic, that was naive. That's all I wanted to say. As far as your suggestion of "it's the right thing to do" that is not quite right either. In an old Game Developer Magazine article id was quoted as saying that Linux versions make no sense from a business perspective, that they just do it "because it is cool". Well, they can afford to be cool. Other developers can't.
The only tricky part of getting TNL to work with other languages would be the RPC framework, which does all kinds of macro trickery, inline assembly and worse in order to get clean-looking, high performance RPC out of C++. But then, if you're using TNL from another language, you don't need the C++ RPC functionality - you could implement RPC for that language using the NetEvent code, which is the base for the C++ RPC as well.
The entire torque engine is doing very well for it's self, and I just wanted to chime in and say:
Legends: The Comming of a New Age is comming along nicely. It's free, and can be downloaded from here. It's made with torque's entire engine, and is enjoying a moderately good following so far.
Good game, but, I've been too distracted by UT2004 to play. I need to make a point to play legends more.
~Will
sig?
According to the front page of the site you linked to, Volity:
* "Leverages XML technology"
* Has a reference server "written in Perl"
This is not a serious development platform.
Unfortunately, as they found out, the differences between the two were enough so that large sections of Daikatana had to be thrown away
... Hardly in their company's best interests if they want to be purely self-servicing
No one is saying that the next engine is dropin replacement for the previous. The next engine is going to contain some re-engineering to take advantage of additional hardware support, to take into account lessons learned, etc. However there will be common concepts and ideas found in both engines. Picking a scenario where the develop changes engines midstream is not a very good example. My point is that a bunch of programmers familiar with the Q3 engine will aclimate themselves to the D3 engine more quickly. You have to understand an engine before you start writing code for it.
Michael Abrash, who worked on the Quake engine, was also writing for Dr. Dobb's Sourcebook at the time. The subject of his articles? The tech that was going into the Quake engine - often with sourcecode.
Actually publishing conceptual and technical info with source for the current engine is more self-serving than releasing the old engine. It was absolutely in the companies financial interest. Again, you have to keep in mind that a large piece of id's business, maybe the larger piece, is to license their engines not to sell their own games.
To be clear I am not saying everything done by id is financially motivated, after all they admit to supporting Linux because it is cool not because it makes sense financially. I am merely trying to point out that their long history of sharing is not selfless and altruistic, both sides prosper.
If I remember correctly, they used to charge a ridiculously small fee for this SDK, like 99$. It's not much, but considering the typical indie game developer will spend enough time coding and developing content that he won't have time left to hold a steady, bread-winning rent-paying job, releasing Torque as GPL is a wise move. Besides, they probably have something even better up their sleeve, a revamped engine that will replace Torque as the 'commercial' SDK.
-Billco, Fnarg.com
This is NOT the full Torque Game Engine (TGE), but TNL the Torque Network Library as a stand alone API. This netcode is still at the core of the TGE architecture, but now can be leveraged by other applications and game engines. For those not wanting to or able to publish their source we also provide our trademark 'indie' license for $295 and a full commercial license at $995 a programmer seat. Jay Moore GarageGames Evangelist
Independent game developers because we WANT TO BE... not because we're wannabes.
Can give me a triple punch of an architecture including the best of:
* Twisted
* ACE
* OpenTNL
Any other neat ones you can think of?
P2P!
Why in the hell is everyone spouting stupid crap like parent here. Explain to me what good would P2P do for a MMOG?
And I'm not merely flaming parent here, but you people in general who generate instant karma from likely minded slashbots who have no clue of how networking or software works.
Imagine this:
Really Smart Software Engineer: What you observe here is a higly optimized algorithm for generic cryptoanalysis.
Point to Point Idiot: *has no clue but nods*
RSSE: And this is the networking core. It fetches data to be analyzed from the central archive, processes it and sends back the results.
P2PI: *Still has no fucking clue but hears the words networking and central* *Eyes bright up*
P2PI: Why don't you put P2P in it to make it go faster!=!=!1!?1+1!?1+1
RSSE: *WTF?!*
Bot Assisted Blogging
The problem with most games is the balance between server CPU, bandwidth, and client data.
In the case of 3d games especially, the clients' fancy 3d card won't do much good unless the server sends it rendering information. Having the server determine "what can be seen" by a player beforehand gives excessive overhead, so in most cases you're sending such info to the client regardless of whether it is intended to be rendered. With the code for server/client communication, you could create a proxy or crack that would allow you to sniff data that should be hidden... like that guy hiding behind the crate you shouldn't see.
And, of course, in the same situation one could do all that by using a modified video setting which makes textures partially transparent... allowing you to see through the crate without any changes to the game binaries needed.
It might be OK for RTS games where the calculation of visibility is less intensive on the server, but not FPS or MMORPGs with 20+ players.
We have had our entire game engine available under an MIT license for 5 years - alot longer than Torque has existed.
Plus we beat torque feature-for-feature for graphical rendering quality and ease-of-use.
The rest of the game industry IS doing similar things - just no one on slashdot seems to be inclined to check anything out outside the familiar box of 'garage games == everything indie'
Gekido's Lair