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."
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.
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?
Well now that it's been released open source anyone can do that, right? :)
One line blog. I hear that they're called Twitters now.
Tribes and Tribes 2 were both focused around gameplay in large outdoor areas.
So indeed, 60 players all who have line of site with eachother (or who are constantly moving in and out of LOS).
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.
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
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.