Slashdot Mirror


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."

24 of 183 comments (clear)

  1. Awesome news! by TempusMagus · · Score: 5, Interesting

    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.

    --
    -_-
    1. Re:Awesome news! by Lux · · Score: 4, Interesting

      That's certainly impressive, and it is related to the network, but in a kind of round-about way. The box being beefy helps, because processors scale so well. But the reason MMORPGs charge per month isn't processor consumption. Network bandwidth is much costlier, and doesn't scale as swiftly.

      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. :) I'd be blown away if they can do that over the Internet, and probably still impressed on a LAN. (I'm feeling too lazy to break out my calculation-envelopes. :)

    2. Re:Awesome news! by silentrob · · Score: 4, Informative

      Tribes and Tribes 2 will be available for free download on May 4th. Or will also be available bundled in Computer Gaming World on the same date.

      IGN Article here.

    3. Re:Awesome news! by Mark+Frohnmayer · · Score: 5, Informative

      Yes, TNL can easily handle 60 players who all have line of sight to each other. TNL takes a different approach - for most simulations the TNL server allots a fixed amount of bandwidth per client (Tribes 2 was 3K per second), regardless of how many objects are visible to that client. For each packet the server sends, it proritizes objects based on relevance to the client and then writes updates based on that priority. TNL performs a bunch of other tricks to reduce bandwidth usage as well. Take a look at the design fundamentals for more in depth info.

    4. Re:Awesome news! by Lux · · Score: 3, Funny

      This stuff beats the everloving snot out of DirectX networking. Thanks for the link. :)

      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. :)

    5. Re:Awesome news! by Jagasian · · Score: 3, Informative

      Quakeworld is nothing more than a patched Quake that optimizes the networking code and fixes some physics bugs (mainly bugs that prevented people from being "bounced" into the air from standing by explosions). The project was started in 1996, but the release that allowed for 64+ players was in 1997, when Quake was at the peak of its popularity and servers started running those death32 maps that were basically a bunch of smaller Id software maps glued together into one large contiguous map.

      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.

  2. OSS MMORPG by 7Ghent · · Score: 4, Interesting

    Great! Now, who's gonna extend this and built a P2P open-source MMORPG?

    Anyone? Anyone? Bueller?

    1. Re:OSS MMORPG by QuasiCoLtd · · Score: 5, Funny

      Hey... lets combine the two! See, heres the idea, you want to download something but instead of the search bar you literally have to go out and search for what you want. Perhaps you can bribe the drunk at the bar for some information as to the wereabouts of that song you wanted. Sercheth thou for pr0n? You ust first complete the task given to you by the local flower girl and she will present you with many naughty pictures of her and her sister (who she claims is 18). Watch out though, along the way you must fight many foul creatures such as leechers, corrupt files, viruses, and RIAA lawyers.

  3. Re:Linux Games by Anonymous Coward · · Score: 5, Insightful

    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.

  4. Re:Linux Games by Anonymous Coward · · Score: 3, Informative

    Tribes 2 was as Linux Friendly as Quake 3 and UT2004: I have the linux client and it works very nicely.

    Nice try though

  5. I've been working with Torque by oskillator · · Score: 5, Informative
    I've been working with the Torque engine for a while, and my assessment is that it's very solid where it counts (assuming you want to make a tribes-like game), but surprisingly flimsy in areas like extensibility and documentation.

    I imagine it's par for the course in the game industry, where code is written to be abandoned within a few years.

  6. opensource games? by apachetoolbox · · Score: 5, Funny

    Great! 100 sourceforge game project leaders just jumped for joy. Then went right back to not writing and linux games.

  7. Other good network layers by ezavada · · Score: 4, Interesting

    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.

    1. Re:Other good network layers by ezavada · · Score: 5, Informative

      Hmm... I guess I really should have hit preview.

      I meant to say:

      Other network layers to look at are OpenPlay and SDL net, both of which are also also free and OpenSource.

    2. Re:Other good network layers by Elbeno · · Score: 3, Interesting

      While 128 players is a great achievement, it's not all about the network model.

      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.

  8. Re:Linux Games by wideBlueSkies · · Score: 4, Insightful

    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?
  9. Step in the right direction by gringo_john · · Score: 3, Insightful
    This is definately a step in the right direction.

    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?

  10. id is not being generous by AHumbleOpinion · · Score: 3, 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.

    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.

    1. Re:id is not being generous by king-manic · · Score: 4, Interesting

      Carmac is a believer in OSS. although it's good business to ensure your engine has good penetration, by the time ID releases the code, the next generation looks nothing like the code GPL'ed. The benifit is much smaller then you imply.

      Quake 2 c code looks nothing like Quake which both look incredibly different from Doom.

      --
      "There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy."
    2. Re:id is not being generous by thryllkill · · Score: 4, Funny

      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.

      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?"

      --

      Note to self: No more arguing with the faithful.

  11. Re:Strange licensing fees? Anyone undestand? by alexandyr · · Score: 3, Interesting

    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

  12. Re:Multi-platform, what about languages? by Vaevictis666 · · Score: 3, Interesting
    I was actually thinking about this very thing - how hard would it be to write a wrapper for this using Ruby?

    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...

  13. Re:Volity? by Bryan+Ischo · · Score: 4, Funny

    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.

  14. Used to be non-free by billcopc · · Score: 3, Insightful

    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