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)
OSS MMORPG (Score:4, Interesting)
Anyone? Anyone? Bueller?
Re:Linux Games (Score:3, Interesting)
Re:OSS MMORPG (Score:2, Interesting)
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: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:id is not being generous (Score:4, Interesting)
Quake 2 c code looks nothing like Quake which both look incredibly different from Doom.
Re:Strange licensing fees? Anyone undestand? (Score:3, Interesting)
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...
I'm not trying to be cynical (Score:3, Interesting)
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 clearly a good network engine. But the other FPSs of the world aren't failing to support 128 players because the TNL programmers are technical geniuses by comparison. They are undoubtedly good, but they're solving a different problem.
As an FPS network programmer, you use the available bandwidth to provide the best experience for the player. You stop optimising when you don't need to optimise any more. If all your maps aim to provide a good experience for 4, 8, 16 players, you don't design the engine to go up to 128 just because you think it would be neat.
Re:I've been working with Torque (Score:3, Interesting)
Concerning the network code, I haven't delved into it much, and don't expect to have to since its already well known that the Tribes2 netcode was superb.
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: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 all over the world, all with very little lag.
I only wish I knew more about network protocols so that I could take a peek at the source for it and get a true appreciation for tribes 2's power.