


Torque Network Gaming Library Released Open Source 183
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."
Awesome news! (Score:5, Interesting)
Re:Awesome news! (Score:2)
-WS
Re: (Score:2)
Re:Awesome news! (Score:2, Informative)
Re:Awesome news! (Score:2, Funny)
Amen Brother!
Re:Awesome news! (Score:5, Interesting)
If you take the naive approach to implementing state synchronization in a real-time system (like a video game) your server consumes upstream bandwidth proportional to the number of updates per second, times the number of participants, times the number of items synchronized. In a game, you have to synchronize each player at least, so we're talking quadratic bandwidth in just the players. That's how I did it when I had to, and we scaled to at least six players with plenty of breathing room. (Our dev team had six players. I don't think we ever brought in more testers to push it harder.
If you take a less naive approach, you can get that from quadratic to n*log(n). And you can get a lot of constant-time and common-case improvements (the above is all worst-case.) You can find that approach somewhere in "Game Programming Gems," IIRC.
I don't know if that has been proven as a lower bound, but I'd squint hard at anything that claims to be faster.
Can it handle 60 players who all have line of site to each other? That's a tough stress test.
Re:Awesome news! (Score:1, Insightful)
So indeed, 60 players all who have line of site with eachother (or who are constantly moving in and out of LOS).
Re:Awesome news! (Score:5, Informative)
Re:Awesome news! (Score:4, Funny)
To think... if this package were out two years ago, I could have totally slacked off through, and hence missed out on, one of the best learning experiences of my college career.
"*Ahem* yeah... network stuff's coming along okay... you know... work smarter, not harder. Bob, I know you're pretty busy writing that graphics engine single-handed, but can you get me that scopeing stuff from your scene graph by Friday so I can decide what to send? About licensing... I'm thinking GPL..."
That would have been awful.
Re:Awesome news! (Score:3, Informative)
These guys just rule.
Re:Awesome news! (Score:2)
Re:Awesome news! (Score:2)
Re:Awesome news! (Score:4, Informative)
Quakeworld also was the testing grounds for other improvements/features such as radiosity in maps, improved score boards, a global ranking system, extended server settings and gameplay modes (deathmatch 3, deathmatch 4), etc...
I am not sure how beefy the server was that was running the 64+ players, but I was there. The problem was that everyone started to meet in the same room. It brought clients to a crawl as back then everyone only had 28.8 dialup. It was also killing everyone's framerate to have to draw 60+ player models.
Re:Awesome news! (Score:2)
Re:Awesome news! (Score:2, Funny)
Re:Awesome news! (Score:2)
Re:Awesome news! (Score:4, Informative)
IGN Article here [ign.com].
Re:Awesome news! (Score:3, Informative)
Tribes3 (Vengence) should be pretty impressive using the Unreal2K(4?)
Re:Awesome news! (Score:3, Informative)
I still play as no one has quite made a game that captures all the aspects of Tribes 2.
Onslaught mode on Unreal 2004 is as close as it comes now a days.
There is a mod in development which captures the original Tribes play style and this mod is currently in development on Unreal 2k engine (I suspect it will be moved to 2004 when the resources are availble (now maybe?).
If the mod is developed well enough it might be offered in an upgraded Tribes 3 package. Much l
Re:Awesome news! (Score:3, Interesting)
the game handled the unheard of at the time amount of players extremely well. I had even slightly better performance as I was even able to duel people one on one, I just enough lag that I couldn't snipe.
the truely miraculous thing about those servers is that they were public servers, which naturally means having people stretched out from all over north america and likely
Two thumbs Up (Score:1)
Re:Two thumbs Up (Score:1)
Re:Two thumbs Up (Score:2, Informative)
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'
Linux Games (Score:1)
Re:Linux Games (Score:5, Insightful)
Re:Linux Games (Score:5, Insightful)
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.
id is not being generous (Score:4, Insightful)
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.
Re:id is not being generous (Score:4, Interesting)
Quake 2 c code looks nothing like Quake which both look incredibly different from Doom.
Re:id is not being generous (Score:3, Insightful)
That's not quite right. Some things, like the alias models, are identical*, either because there was no need for change, or because they were introduced while Quake 2 was still the same code base. Lots of other things, like the game dll/QuakeC, share very similar designs such that the differences are mostly just the changes from QuakeC to C dll, or those needed for the different monsters and maps.
*GLQuake read the MDL format and dumped it into something similar t
Re:id is not being generous (Score:3, Insightful)
If so, his belief in open source is less than his belief that he should make money selling closed source software, because he's not open sourcing his newest stuff. If open source was his first priority, then the Doom III engine would be on sourceforge where a thousand eyes can help him debug.
This takes nothing away from id Software. They should be lauded for open sourcing code that they feel they can. I'm sure this benefits students of 3-D graphics and game design. However, b
Re:id is not being generous (Score:3, Insightful)
Personally, I rather think it would a bad idea financially to write the engine in an open source manner. Think of the hoopla behind the leaked HL2 src, etc... The game engine market is pretty competitive... There a
Re:id is not being generous (Score:5, Funny)
It probably went more along the lines of:
Id employee 1: "Hey why don't we open the source from our last engine."
Id employee 2: shrugs "Sure, why not?"
No one is saying they are incremental upgrades (Score:2)
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
Re:id is not being generous (Score:2)
Re:id is not being generous (Score:3, Insightful)
I'm not some fanboy, but I appreciate the fact that id will always release their games on Linux, despite the fact that it's not cost-effective to do so.
It isn't entirely "out of the kindness of their hearts," but more like "it's the right thing to do."
They know that, and act accordingly. Your points are valid, but they're not the entire picture.
I'm not trying to be cynical (Score:3, Interesting)
Re:id is not being generous (Score:2, Insightful)
Would be good in theory - if each different generation of theirs engines where similiar. For better or worse, they are often not. The obvious case here being the jump from Doom to Quake, but even each iteration of the Quake engine has had significant changes that would make a change over far from trivi
DDJ articles more self-serving than old engines (Score:3, Insightful)
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 ver
Re:DDJ articles more self-serving than old engines (Score:2, Insightful)
I agree with the latter part of this, but not so much the former. Largely because I believe, primarily through experience, that having intimate knowledge of a system (or, in this case, engine) can often lead to a slower understanding of a new system. Why? Because you'll go into working on the new system with a good
Negetive BS (Score:2)
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 devel
You misunderstand/misrepresent my point (Score:2)
Question (Score:2)
I wonder how many people will sample the free advertising of Doom 3. Enough to make a dent in sales, that's for sure.
Re:Question (Score:1)
--
Re:Linux Games (Score:2)
Either that or the guy who runs their ftp server is in REALLY big trouble.
Re:Linux Games (Score:2)
Call of Duty used Q3 as a base, then heavily modified it, but if one of the most recent Game of the Years used it I think they might want to get a few more licsences out of it before they open it all up.
I'm sure they will, but I think it'll be a bit later than the first couple.
Just my $0.02.
Re:Linux Games (Score:3, Interesting)
Re:Linux Games (Score:3, Informative)
Nice try though
Re:Linux Games (Score:3, Informative)
Re:Linux Games (Score:2)
Re:Linux Games (Score:2)
Re:Linux Games (Score:2, Informative)
Re:Linux Games (Score:1)
Re:Linux Games (Score:1)
OSS MMORPG (Score:4, Interesting)
Anyone? Anyone? Bueller?
Re:OSS MMORPG (Score:2, Interesting)
Re:OSS MMORPG (Score:5, Funny)
Re:OSS MMORPG (Score:3, Informative)
Mod parent funny all you like, but there was a post [slashdot.org] on Slashdot recently bitching about how he couldn't get funding to develop this kind of user interface...
Hmm... I feel an inspiration coming in. An adventure web browser ! It reads HTML pages and renders rooms based on them, with links as doors (and one for "back"), shaped by keywords (so for each occurence of the string "troll" in the page, make one troll appear in the room). Bigger pages make bigger rooms, and the general theme and shape of he room are
Re:OSS MMORPG (Score:2)
Re:OSS MMORPG (Score:2)
No, for VRML is a language of it's own. What I was thinking about was an algorithm to generate rooms (levels) from perfectly normal HTML pages.
Bit like the old game File Fighter, which generated character stats from files. Just take two random files, feed them to it, and watch them fight. Great fun for all of five minutes.
Re:OSS MMORPG (Score:2)
Good point, better make an adaptive engine that automatically scales down details to keep a good framerate.
Of course, with Slashdot, it might be forced to switch to sprites...
Re:OSS MMORPG (Score:2)
Re:OSS MMORPG (Score:1)
Re:OSS MMORPG (Score:1)
it's open source, so you can't accuse them of being hackers. you'll have to accuse them of being "OSS customizers", which doesn't quite have the same charge.
Re:OSS MMORPG (Score:2)
Security is on the server, not the client. If a person hacks their client they won't be able to do much of interest except make bots.
And incidentally, if the bot is written in a quick and dirty yet eerily skillful fashion, it is still a hack, regardless of whether the library used was open source or not.
Re:OSS MMORPG (Score:1)
Re:OSS MMORPG (Score:2)
There is a trivial way to save one character by deleting the c++ and adding a ++ infront of c<0.
Note that I will insert an extra space before each printf below to prevent slashdot from inserting one randomly.
A rewrite can save a total of two characters like this:
main(r,c){for(r=0,c=39;39-r;) printf(!c--?c=39,++r,"\n":c>r?" ":~r&c?" `":" #");}
We can save a total of four characters like this:
main(r,c){for(r=31,c=0;r;) printf(++c>31?c=0,--r,"\n":c<r?" ":~c&r?" `":" #");}
But note tha
Re:OSS MMORPG (Score:2)
Note: main(c,r) barfs for me. I'm using gcc-2.953 and it wants main(int c,int r). I need an additional 8. I dunno if it's an issue on my end or if you're getting away with a "cheat" on your end
I see a way to take advantage of argc
Doh, I spotted that too! I got sidetracked and forgot to implement it
c=!r--
VERY cute move!!! Kudos.
But both GCC and VS.NET barf all over [second] version
Yes, I ran into that too. It's caused by order of evaluation. You can verify that fac
Re:OSS MMORPG (Score:2)
Re:OSS MMORPG (Score:2)
Oh. Over here the bells run together almost as fast as a single beep. Still, it's not like running time is an issue or people will be running it more than once
The diamond version is pretty bad. However it does raise the issue of non-centered triangles. I have avoided them thus far on the assumption that centering was a requirement. If we do want to permit it then we may as well just left-justify it all and get a 63 character version:
main(c,r){for(r=32;r;)print
Re:OSS MMORPG (Score:2)
I found a copy of the ISO C99 spec. It seems that when functions are declared this way, they are different from normally declared functions. The compiler promotes all of the arguments to these functions to int size (or double size in the case of floats), and isn't required to check that the types of the arguments match, or even that the number of arguments matches. If they don't, th
And the flavor of the year is... (Score:3, Insightful)
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
I've been working with Torque (Score:5, Informative)
I imagine it's par for the course in the game industry, where code is written to be abandoned within a few years.
Re:I've been working with Torque (Score:2, Insightful)
Well now that it's been released open source anyone can do that, right? :)
Re:I've been working with Torque (Score:1)
Re:I've been working with Torque (Score:3, Interesting)
Re:I've been working with Torque (Score:2)
opensource games? (Score:5, Funny)
Other good network layers (Score:4, Interesting)
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 [sourceforge.net] and , both of which are also also free and OpenSource. [libsdl.org]
Disclaimer -- I contribute to OpenPlay.
Re:Other good network layers (Score:5, Informative)
I meant to say:
Other network layers to look at are OpenPlay [sourceforge.net] and SDL net [libsdl.org], both of which are also also free and OpenSource.
Re:Other good network layers (Score:2, Informative)
I think not. T2 could handle 128 players, and I'm sure they've made even more improvements over the past 3 years.
And the part about weak security... maybe you haven't checked out their page yet, but from what I can see, it looks like they've put a lot of work into making it very secure. Check out the sections on encryption and client puzzles.
I'm impressed they'd actually GPL this. Cool stuff.
Re:Other good network layers (Score:3, Interesting)
The reason why most FPSs do not have such large numbers of players is less to do with the network bandwidth and more to do with a) the CPU cycles devoted to rendering and/or running collision models for N detailed player characters in complex environments, and b) the content generation: maps are specifically designed to be good for a smallish range of players, and it's usually not worth it to design 128-player maps.
This is clea
Re:Other good network layers (Score:1)
Re:Other good network layers (Score:2)
Overall I'd say the libray looks pretty good.
Volity? (Score:2)
Re:Volity? (Score:5, Funny)
* "Leverages XML technology"
* Has a reference server "written in Perl"
This is not a serious development platform.
Step in the right direction (Score:4, Insightful)
This, along with the recent announcement [slashdot.org] that Tribes 1 and Tribes 2 will be given away for free, I wonder what kind of cool mods / enhanced will be possible?
Multi-platform, what about languages? (Score:1)
Re:Multi-platform, what about languages? (Score:4, Interesting)
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...
Re:Multi-platform, what about languages? (Score:2)
Re:Multi-platform, what about languages? (Score:2, Informative)
Game based on torque (Score:3, Informative)
Legends: The Comming of a New Age is comming along nicely. It's free, and can be downloaded from here [tribalwar.com]. 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
GDC talk (Score:1)
Used to be non-free (Score:3, Insightful)
Re:Used to be non-free *STILL IS $100* (Score:2, Informative)
Now if someone smart... (Score:3, Interesting)
* Twisted [twistedmatrix.com]
* ACE [wustl.edu]
* OpenTNL [opentnl.org]
Any other neat ones you can think of?
Re:Strange licensing fees? Anyone undestand? (Score:3, Interesting)
Re:Will the for sale version differ from the gpl (Score:2, Informative)
Re:Great that now you can't make a living coding? (Score:2)
the majority of coding is in-house solutions not retail applications so your observation is invalid
Re:Cheating? FUD. (Score:2)
Security through obscurity doesn't work [slashdot.org].
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.
Different for games (Score:3, Insightful)
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 th