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.
-_-
Cool. Maybe other gaming companies will follow suit and do similar things. Anything released by large companies under the company deserves a loud applause and two thumbs up.
-- RJ
I wish one of the more Linux friendly games (ahem Quake 3 or UT2004) would have its code opened! :)
Great! Now, who's gonna extend this and built a P2P open-source MMORPG?
Anyone? Anyone? Bueller?
I think it is really great the games are getting GPLd. This is just another step in OSS becoming mainstream. Kudos to GarageGames.
Fantastic.
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 wonder if there's any chance of getting them to release the complete original tribes 1 so we could port it to linux?
;-). Most addictive game I've ever enountered, including quake.
OTOH, I probably wouldn't graduate then. Nevermind
I spent aaages playing tribes in my younger days, the network code for it was awesome, i think it even won an award?
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.
But what about Volity?
-- There is no sig line, only Zuul.
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?
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.
They charge $295 for an indy license, or $995 for a commerical license. But the torque engine's indy is only $100 and includes this? Is that strange or am I missing something important?
Typical zealot attitude
That does seem kind of strange, but oh well. Just get the $100 Torque. :) I don't know if Torque networking has all of the features of this library, but the core functionality has to be there. I guess it's a question of whether it's worth the $195 or whatever to rip out the networking code.
Me, I'd rather get all the added gaming stuff. For $100, that is awesome.
Anyone know how easy it would be to use their API from another language? (Assuming some header translation and an IDE that can make compatable calls.)
One line blog. I hear that they're called Twitters now.
Well, since we like them so much, how do Slashdotters feel about the fact that people pirate the fuck out of their games on eMule? Are they "sampling" those games? Or is it "free advertising?" And why does that philosophy apply to music in the minds of Slashdotters but somehow break down when it comes to software?
I wonder how many people will sample the free advertising of Doom 3. Enough to make a dent in sales, that's for sure.
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
I hope the for sale version is just based of the initial release and not the community contributions. Otherwise it would be in violation of the gpl. I am pleasantly suprised they didn't release it under a noncomercial licence.
That doesn't make a whole lot of sense since Id wants you to license their new engine. Iirc they write a completely new one every time, not just incremental upgrades to previous engines. So having developers familiar with technology from 3-4 years ago does them no good.
No one is saying they are incremental upgrades. Even when rearchitecting to take into account newer hardware capabilities and old lessons learned there will be some familiarity going from one generation to the next, the learning curve is better. Anything that saves time is important to a developer.
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 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?
You'll have to forgive me for not reading the article, but:
Is it possible to develop in-house using the GPL libraries and purchase an 'indie' license before publishing a game? (By in-house, I mean literally, in my house, or with a small handful of friends... nothing corporate)
I am interested in developing a game on a 'spare-time' basis and cannot afford to pay $295 for something that may never go public.
... great! Somebody finally implemented TCP over TCP. Jackasses.
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.
Didn't Dynamix give a talk on the Tribes 1 netcode at a GDC long, long ago?
It's also available under indie and commercial licenses for closed source projects..
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
I love both Tribes games, and looking very much to the release of Tribes 3. It's great that they decided to release the engine behind Tribes 2. I might play around with it and try to get familar with working with game engines. Stuff like this is an invaluable oppertunity for people wanting to develop games, or learn how to.
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
I surely hope there will be an alternative to DirectX soon, or gaming will be forever stuck in windows.
A unified platform is a must-have to develop games in a smooth fashion, one can't be bothered using separate libraries for audio, 3d, networking, and so on.
There is another project called Torque. It's an Apache project. You can find it here. This is a database persistence engine for Java and is very good too. I wonder which came first...
Humm... after reading this, I've been checking out GarageGames' site. Pretty cool stuff. Has anybody here checked out some of the game demos on it? There are some cool ones. Orbz was a blast. It's awesome that people can use their engine to actually make a living doing independent games. I'm impressed. I Checked out the info on the upcoming Torque Shader Engine too. Wow. If that thing is going to be cheap too, I'm definitely picking it up. This is pretty cool. Are there any comparable sites/engines? I remember hearing about GarageGames a couple years ago, I wonder if anyone else has come out with a AAA engine that you can actually license and use commercially for $100 since then?
Here is the one glaring example in my mind where the GPL fails miserably.
If you GPL your sources to your game, and it becomes popular, the hackers will have a field day.
Don't tell me 'the game can be hacked anyway'. Well my house could be broken into, but I am locking the doors all the same.
They want $1000 PER PROGRAMMER(!!) if you use the library in a commercial product. I say, a freely available - albeit proprietary - API.. like DirectX is much more suitable, IMHO.
I am the maverick of Slashdot
Do you work for Microsoft?
Security through obscurity doesn't work.
The idea behind security in a GPL'd application is that if someone found a gaping whole, they could either exploit it or fix it.
I'm pleased that they do it because it's self serving. It shows that there are business benefits to adding to the code available under the GPL license.
And as long as those benefits can be seen, the practice will continue. Possibly even spread.
tasks(723) drafts(105) languages(484) examples(29106)
Why is it that when somebody mentions "company X" is doing this, it's a good thing... somebody else always has to say "they're not doing it to be good, they're doing it to serve themselves."
Of course, anything that helps the community is self-serving at least in the perspective of PR, but it's not always done with that intent. I doubt they're thinking directly that "Action X = Result Y = More $$$ for us"." Carmac likes open source, and he's a great developer. By OS'ing previous engines, it helps the developer community well... make more people like Carmac. Good for us, good for ID, good for PC-game development in general.
It's almost impossible for a company to do something like this and be *entirely* altruistic, but that doesn't mean that they're looking directly at profits (exempting that they don't lose any). It probably comes down more to something like a pitch from developers saying how it's good for PR and will improve the developer pool etc etc, and a PHB going with it based on that idea - but not everyone is in this for profit.
If you think that John C or many others at ID do what they do out of complete focus on profit, I think you're ignoring a lot of "love" put into the games and love for the community itself.
So you could equip your character with a discman and a "+50dmg Britney Spears" ear-breaking audio clip?
How about a treasure box with a trap: What first looks like some good pr0n is in fact a goatse which deals 999hp damage...
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.
Using encrypted memory space on each client you could distribute the network traffic and computations. Instead of having a many-to-one layout (e.g. Clients to Server) you could theortically design a many-to-many a la BitTorrent. The server could get the sums of more then one client via one client.
Of course you REALLY have to tune and design your Presentation and Application stack very well...
You misunderstand/misrepresent my point. I am not saying id's focus is completely on profit. I am merely countering the original post that seemed to suggest they are being completely altruistic. Many people fail to realize that selling retail games is only a part, possibly the smaller, part of ids business. They are also in the business of licensing engines. You have to consider this licensing when they release older engines, publish articles about how the new engine works, offers sample source code, etc. Everyone knows id loves what they do, everyone knows they do things just for fun because they think it is cool not because it is profitable (Linux - Game Developer Magazine), but do not discount the profit motivation. They are smart enough to know that without those profits all the other hobbies, Linux (again, done for coolness not profit), cars, spacecraft, etc. can't happen.
P2P would save on the most expensive commodity that MMORPG need, network bandwidth. Of course the down side of this is that any P2P messages could be easily spoofed. But there are ways around it. Now comes the next trick, content, with a good enough level designer tool, and a decent engine, you could pull it off. So when is that Q3 Engine coming out? Or you could go to there.com or secondlife.com if you can live within their rules.
yeah, fuck those socialist libraries where people can read books for free because the government took my money from me! and fuck that fire department... my house ain't gonna catch on fire so why should I cough up my tax dollars to put out some poor schmuck's house which is burning down with his kids inside? and don't get me started on the police... I can afford my own private protection service so I don't know why I should have to buy into that tax-funded protection racket the government is running.
stupid bureaucrats... all hail Ayn Rand's utopian society, I am motherfucking John Galt, you insensitive clod!
Have you looked at Solipsis it's a kind of P2P MMORPG and it's OSS
it's one step at a time; living completely ideally in a world like this is hard; compromise is better than nothing
GrimRC