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

183 comments

  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 WinterSolstice · · Score: 1

      That's pretty impressive. I haven't tried Tribes, but I think I will look into it.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    2. Re:Awesome news! by ottothecow · · Score: 1

      However, Torque is not the engine behind tribes as the article title says, that engine I believe would be shared with starsieg and is called the darkstar engine.

      --
      Bottles.
    3. Re:Awesome news! by silentrob · · Score: 2, Funny

      Fellow Torque developer here.

      Amen Brother!

    4. Re:Awesome news! by Anonymous Coward · · Score: 0

      Where can I download tribes2 for free?

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

    6. Re:Awesome news! by Anonymous Coward · · Score: 2, Informative

      Darkstar was the original engine; it later was used in Tribes 1, 2, and then became V12 and thence Torque.

    7. Re:Awesome news! by Anonymous Coward · · Score: 1, Insightful

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

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

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

    10. Re:Awesome news! by BrookHarty · · Score: 2, Informative

      I'm hoping with the free release of Tribes1 and Tribes2, tribes1 will have more tribes1 servers online. I checked a few days ago, and there was only 5 normal Base servers with players, and 1 was password protected (But full 32 players). Tribes1 is mostly mods now, Renegade, Ultra, etc. Super weapons like mechs. Tribes2 at least has bots so you can always play on downloadable maps. And the Bots are rather good at Rabbit on higher levels.

      Tribes3 (Vengence) should be pretty impressive using the Unreal2K(4?) engine.

      So, now that the games are free, will we see an emergence of new servers and players? If you run a lan party, make it a tribes lan party, share the game. (Legally!)

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

    12. Re:Awesome news! by Cylix · · Score: 2, Informative

      There are still plenty of Tribes 2 servers.

      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 like TFC and Half-Life were packaged after the initial release of Half-Life.

      Still, nothing quite matches 64 player Tribes 2 matches.

      --
      "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
    13. Re:Awesome news! by Jagasian · · Score: 1

      Quake was doing 60+ people on a server back in 1997, and it has been GPL for years now!

    14. Re:Awesome news! by eison · · Score: 2, Informative

      That's the really impressive stuff - it *was* out two years ago. It became available back in 2001 for $99 + some contract terms regarding publishing if you go over $250k in sales.

      These guys just rule.

      --
      is competition good, or is duplication of effort bad?
    15. Re:Awesome news! by Anonymous Coward · · Score: 0

      Especially in Rabbit, where you've got a whole mountain of bouncing players mauling the guy holding the flag with all sorts of things that go boom. The network code holds up really well under even that kind of strain.

    16. Re:Awesome news! by Stregone · · Score: 1

      I played on a 128 player server back in the day (on 56k no less). It was laggy, but not terribly so. I just couldn't duel people one on one, but I sucked at that anyways. It was alot of fun because there was action everywhere you turned.

    17. Re:Awesome news! by Anonymous Coward · · Score: 0

      I'm sorry What? Maybe I can start playing Tribes again so I can get my ass killed before I leave my base.

    18. Re:Awesome news! by Anonymous Coward · · Score: 0

      the best thing to do, if you want to reduce bandwidth, is to update all the clients via Multicast IP - this sort of thing is what Multicast IP was designed for. Whatever happened to the old Mbone?

    19. Re:Awesome news! by Anonymous Coward · · Score: 0

      Hey man, if you can't dodge my sniper round when you spawn, that's your problem.

    20. Re:Awesome news! by Trejkaz · · Score: 1

      I must say though, it would have been a lot nicer if they released the Torque Engine and not the Torque Networking Engine. For when I read the title, I almost glued my pants, and then got let down by one simple word.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    21. Re:Awesome news! by the+grace+of+R'hllor · · Score: 1

      Someone else chiming in on the 60 users: A-yup, no sweat. The Tribes newsgroup would occasionally get together for a GBL (Good, Bad, Ugly, y'know), invite some friends to pad out the server, and play a whole bunch of rounds. At the end, the group shot was obligatory, which meant all players in one central spot, usually doing the stupid tower thing (an experience immensely enhanced with a wellplaced concussion grenade)

      Aah, nostalgia.

    22. Re:Awesome news! by The+Evil+Couch · · Score: 2, Interesting
      damn right. I was probably on the same server. I don't remember too many 100+ servers for tribes 2, and I was on a 56k at the time, too

      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.

    23. Re:Awesome news! by Short+Circuit · · Score: 1

      Uh, that'd be QuakeWorld, not Quake. Quake could handle up to 16 players, and that was with a dedicated server.

      If you had a beefy enough box, you could comfortably run a four-player game (yourself included) without a dedicated server.

      I don't recall when QuakeWorld came out, though.

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

    25. Re:Awesome news! by Short+Circuit · · Score: 1

      Me, I was on 128K ISDN at the time. It took a while for me to understand why everyone was using macros that said "LPB! LPB! LPB! LPB! LPB!" five times per second.

      Alas, now my only internet connection is at work.

    26. Re:Awesome news! by PierceLabs · · Score: 1

      Sure - but wouldn't the routers along the way all have to support multicast? Otherwise the multicast packets go into the ether.

    27. Re:Awesome news! by clubin · · Score: 1

      OMFG. That is amazing news. Especially considering that I lost my TRIBES 1 CD.

      I admittedly haven't played too many of the most recent FPS's (MoH:AA, CoD, UT2k4), but I have tried TRIBES 2 and a few of the competing games that were released shortly after. Not /too/ surprisingly, TRIBES (the original) remains the most enjoyable FPS out there. The best thing any game publisher could do right now is clone the hell out of that game and lay on today's improvements, and IIRC, that's already in progress.

    28. Re:Awesome news! by Jagasian · · Score: 1

      ISDN, back in 1997, was extremely expensive! Well, I was in high school at the time, so everything was extremely expensive :)

    29. Re:Awesome news! by Short+Circuit · · Score: 2, Funny

      It's only expensive if your family doesn't own the ISP. I was actually in middle school, but I still manned the phones for tech support.

  2. Two thumbs Up by Trillian_Angel · · Score: 1

    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
    1. Re:Two thumbs Up by Trillian_Angel · · Score: 1

      Under the GPL even. Durn, my brains fried. Musta been the pleasant thought of games that blew it.

      --
      -- RJ
    2. Re:Two thumbs Up by abandonment · · Score: 2, Informative

      We have had our entire game engine available under an MIT license for 5 years - alot longer than Torque has existed.

      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'

  3. Linux Games by imbezol · · Score: 1

    I wish one of the more Linux friendly games (ahem Quake 3 or UT2004) would have its code opened! :)

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

    2. Re:Linux Games by TwistedSquare · · Score: 2, Interesting

      Given that Doom, Quake and Quake II have all been GPLed, presumably it literally is a matter of time until Quake 3 goes the same way.

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

    4. 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?
    5. Re:Linux Games by Anonymous Coward · · Score: 2, Informative

      Torque is Linux friendly, and Mac OS X friendly as well. Most Torque Games have been released for all 3 platforms (with the exception of the old tribes series, which were made before the engine became publicly available). Just look at Marble Blast, Think Tanks and Orbz! All Torque games, all available multi-platform.

    6. Re:Linux Games by StillAnonymous · · Score: 0

      Unreal Tournament (the original) got the GPL treatment.

    7. Re:Linux Games by Joe5678 · · Score: 1

      They already did....

      Either that or the guy who runs their ftp server is in REALLY big trouble.

    8. Re:Linux Games by StillAnonymous · · Score: 1

      Whoops, my mistake. It's not the GPL, but some other "free for personal use" license.

    9. Re:Linux Games by bman08 · · Score: 2, Informative

      That's just not true. The difference is that my windows copy of Tribes 2 was useless in linux, instead I had to buy the loki version for another 40 bucks. Both quake and ut have linux binaries for the windows game that are free. To me that amounts to a wallet-load less linux friendly.

    10. Re:Linux Games by Anonymous Coward · · Score: 0

      yet another troll who didnt learn how to share as a kid.

    11. Re:Linux Games by aliens · · Score: 1

      I gotta just say though I think the Quake III engine might have some more steam left in it before they decide to open it up.

      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.

      --
      -- taking over the world, we are.
    12. Re:Linux Games by cortana · · Score: 1

      Good luck trying to get the game to run on a modern system (glibc 2.3.2, kernel 2.6 with ALSA). The sound doesn't work, and the game will only run for a few minutes before segfaulting. :(

    13. Re:Linux Games by Trejkaz · · Score: 1

      So why did you buy the Windows version if you were intending to play it on Linux? If both the Windows and Linux versions cost money, that doesn't magically make the Windows version any more unfriendly as the Linux version (actually IIRC, the Windows version used to cost more than the Linux version.)

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    14. Re:Linux Games by Trejkaz · · Score: 1

      That must be related to the specific version of the engine they were using. Updated versions of the engine work fine, witnessed by the fact that Marble Blast and Mutant Storm have no problems with sound on the system version you describe. So the problem in this case is either that you're not up to date, or that they never released a later version.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    15. Re:Linux Games by cortana · · Score: 1

      Oh, I'm sure that modern versions of the engine work fine on today's Linux distributions; after all, the engine is actively maintained.

      But the source for the Linux port of Tribes 2 was never released, so after Loki was run in to the ground by the idiots who ran it, the port became unsupported. :(

    16. Re:Linux Games by Anonymous Coward · · Score: 0

      You ever notice how many games are game of the year? Its like best movie of the season, or greatest sports star ever. I am now offical known as the greatest slashdot poster of the year.

  4. 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 ShadeARG · · Score: 2, Interesting

      Actually, if it can handle high-speed gaming with an assload of players really well, I bet it would make a beefy P2P backend. (P2P + TNL) * Users * Bandwidth = Extremely beefy high-speed file distribution.

    2. 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:OSS MMORPG by fcecin · · Score: 1

      I'm researching into P2P MMOG networking! You can get your fix at http://freemmg.sf.net :-) It even has a small RTS demo game (warning: the game SUCKS and requires Java run-time)

    4. Re:OSS MMORPG by Kiyooka · · Score: 1

      so people can change the code to give themselves whatever power they want? no thanks.

      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.

    5. Re:OSS MMORPG by Spy+Hunter · · Score: 1

      Two out of three ain't bad. (Open-source, MMORPG) Doesn't use this Torque thing, but it looks impressive.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    6. Re:OSS MMORPG by Anonymous Coward · · Score: 1, Informative

      I am one of the authors of PlaneShift. We have tested it with upwards of 80 concurrent clients and consumed about 15% CPU during that time. We have been working for over a year on the next tech demo release (v0.3), which should be out in the next few weeks. I expect to support at least 500 concurrent players on a single box in that release.

      Stay tuned for more info when 0.3 (aka "Crystal Blue) is released.

    7. Re:OSS MMORPG by Anonymous Coward · · Score: 0

      Wasn't that shit supposed to be out last December?

    8. Re:OSS MMORPG by Trejkaz · · Score: 1

      Yeah, but usually high-speed gaming with an assload of players is client-to-server, and the majority of the tricks it employs is stuff (which should be obvious) like giving priority to more important game packets. In P2P the only thing you really care about which should get priority is search results, which doesn't impact your download efficiency, and once the downloads are started you shouldn't care which one you want to prefer as long as it uses up the maximum bandwidth available.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    9. Re:OSS MMORPG by Trejkaz · · Score: 1

      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.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    10. Re:OSS MMORPG by ultranova · · Score: 2, Informative

      Mod parent funny all you like, but there was a post 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 decided by analyzing the text somehow.

      And yes, I'm serious.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    11. Re:OSS MMORPG by Anonymous Coward · · Score: 0

      for each occurence of the string "troll" in the page, make one troll appear in the room

      Just don't read Slashdot comments pages at -1. Instant slideshow.

    12. Re:OSS MMORPG by Lil'wombat · · Score: 1

      You mean like VRML?

      --

      Truth: If it's not one thing, it's another

    13. Re:OSS MMORPG by ultranova · · Score: 1

      for each occurence of the string "troll" in the page, make one troll appear in the room

      Just don't read Slashdot comments pages at -1. Instant slideshow.

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

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    14. Re:OSS MMORPG by ultranova · · Score: 1

      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.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    15. Re:OSS MMORPG by Alsee · · Score: 1

      SIG:
      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 that 39 was changed to 31. This one only works correctly for binary sizes (1,3,7,15,31,63...).

      Or we could turn the triangle upside-down and save a total of five characters:
      main(r,c){for(r=c=39;r+1;) printf(!c--?c=39,--r,"\n":c>r?" ":~r&c?" `":" #");}

      I can trim another 2 or 3 characters from most versions if you don't mind clipping off the single # at the tip of the triangle.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    16. Re:OSS MMORPG by Spy+Hunter · · Score: 1
      Nice! Man, last time I looked at optimizing this thing, I thought for sure all the excess characters had been squeezed out. I can't believe I overlooked moving the ++ and using !c instead of c<0.

      I have thought before about removing the top # but I think it would really degrade the elegance of the hack. However, I think I see a way to take advantage of argc without sacrificing the all-important top #. How about this, weighing in at 73 characters (a savings of 9 over my previous version):

      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}

      Now, if that works, I would expect the following to work (and not require any extra spaces to get past slashcode):

      main(c,r){for(r=32;r;)printf(++c<32?c<r?" ":~c&r?" `":" #":c=!r--,"\n");}

      But both GCC and VS.NET barf all over that version, complaining about c not being a valid lvalue. This makes me think that maybe the first version isn't really valid C either, but it compiles, so who cares? ;-)

      Do you mind if I incorporate your improvements into the version in my sig? It's a constantly evolving sig (one might even say it was "open-source" ;-). I'm really interested to see how small the contributions from all the coders on Slashdot can make this thing.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    17. Re:OSS MMORPG by Alsee · · Score: 1

      68 now, another 5 down :)

      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 :D

      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 fact by wrapping the comma expression in parentheses, that makes it to work. When the comma expression is the first item in the ?: tree it works fine. When it is the last item it chokes. Best to arrange the tests to manuver the comma expression into the first branch.

      I think the version you posted may have hit the length limit for that approach. However I've got a whole new method :) Rather than juggling four print strings, just use ONE! Always print " %c" and fill in the right character value. Newline is 10, # is 35, ` is 39, and to get the single space use the non-printing bell at 7:

      main(c,r){for(r=31;r;)printf(" %c",++c>31?c=!r--,10:r>c?7:~c&r?39:35);}

      71 characters. However with a minor display change we can use:

      main(c,r){for(r=31;r;)printf(" %c",++c>31?c=!r--,10:r>c?7:!(~c&r));}

      68 characters! The # becomes a smile character and the ` becomes a blank. It looks different, but just as good. Note that we are still locked into binary size trees (15,31,63 etc).

      Just for laughs, we can flip it upside down and lock it at size 10 to trim 2 characters, then clip the point for another 2 characters:
      main(c,r){for(r=10;r--;)printf(" %c",c--?c>++r?7:!(~r&c):c=10);}
      It's crippled, but it's only 64 :D
      Naturally stick with the 68 version.

      incorporate your improvements into the version in my sig?

      Sure, I assumed you would :)

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    18. Re:OSS MMORPG by Spy+Hunter · · Score: 1
      Hmm, I'm having trouble making your improvements work in a cross-platform way. The smiley-face thing only works on Windows, because windows assigns random graphical characters to ASCII 1-31 (except for 7). Also, the program takes forever to run, pausing after each bell (this may be because I'm running it over remote desktop, though I don't know why that would cause it), and I imagine it beeps a lot too. I don't like printing out hundreds of bell characters; that could be really annoying, especially if your terminal puts them in a queue and plays them all sequentially like some do. On Linux, unlike windows, characters 0-6 don't print, so we can use them instead of bell, but the 68-character version won't work because it relies on character 1 being a smiley face.

      So the 68-character version is out. The 71-character version works on Windows only when bell is used, but this could be annoying and slow. The best I've been able to do so far is use ASCII 4 (EOT) as the non-printing character. That way it won't beep on Linux and it won't beep or go slowly on Windows (though it will print out lots of diamonds).

      main(c,r){for(r=32;r;)printf(" %c",++c>31?c=!r--,10:r>c?4:~c&r?96:35);}

      I like this version even more because slashcode doesn't mangle it and it doesn't even need any HTML escaping (no <s). If only it worked as intended on Windows!

      P.S. Using GCC 3 you can remove the 4 and the ?: will return the value of the conditional expression if it is true (1, which works on Linux as a non-printing character). This only seems to work on GCC though, and it may be specific to GCC 3.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    19. Re:OSS MMORPG by Alsee · · Score: 1

      pausing after each bell

      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 :) Maybe acceptable?

      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;)printf("%c",c>31?c=--r,10: ~c ++&r?96:35);}

      I did some Googling on ANSI C, and I suspect main(c,r) may not be legal. My compiler demands I declare types for c and r, and every refference I can find seems to imply typing them. Any thoughts?

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    20. Re:OSS MMORPG by Spy+Hunter · · Score: 1
      I think the main(c,r) trick may be an artifact of support for old-style C argument lists, i.e.:

      foo(x,y)
      char x;
      int** y;
      {

      }
      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, the behavior is undefined (much in the same way that printf and other varargs functions work; ever wondered how printf can tell the difference between a float and double argument, when they use the same formatting code? I have, and now I know: all float arguments to varargs functions are promoted to doubles by the compiler, so they're the same size).

      Now, the C99 spec requires that all variables used in a function declaration must have their types defined before the code block starts, but I can only assume that previous versions of C didn't require this and defaulted to int (which is what GCC does).

      So the answer to the question of whether this is legal is: It's not exactly legal in C99, but it used to be legal. It's kinda fun: you can declare a function like this and then give it a hundred arguments of different types, and GCC won't complain. Just goes to show you how complex computer languages are, and how many nooks and crannies show up when you start testing their limits. I wouldn't want to be a GCC developer!

      About the running time issue: it took a long time (like 20 seconds) for anything at all to be printed, because many bell characters are printed before the first #. I first assumed it had failed to work at all and killed it. I think I may stick with the 73-character version at this point, since it is guaranteed to work on all systems and doesn't print hundreds of bells. It was a clever idea, and if Windows stuck to the ASCII standard instead of printing stupid smiley faces and playing-card symbols, it would have worked beautifully.

      About non-centered triangles: the centered ones are so much cooler. The only reason I suggested the diamond version was because it worked as intended on Linux.

      I'll probably change my sig to the 73-char version:

      main(c,r) {for(r=32;r;)printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}

      Although, it's small enough now to encase it in a shell script and still fit it into the sig box:

      echo 'main(c,r) {for(r=32;r;)printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}'>s.c;gcc s.c;./a.out

      Argh! That one encounters the lameness filter if you put it in your sig box. Oh well. The 73-char one works.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  5. This great by Anonymous Coward · · Score: 0

    I think it is really great the games are getting GPLd. This is just another step in OSS becoming mainstream. Kudos to GarageGames.

    1. Re:This great by Anonymous Coward · · Score: 0

      Games? This is a gamelibrary!

      But yes, it's great :)

  6. Great that now you can't make a living coding? by Anonymous Coward · · Score: 0

    Fantastic.

    1. Re:Great that now you can't make a living coding? by Anonymous Coward · · Score: 0

      Sex is free, yet hookers still make a living...

    2. Re:Great that now you can't make a living coding? by Anonymous Coward · · Score: 0

      Sex is free? LOL yeah right. All girls are prostitutes, they just have different TOS.

    3. Re:Great that now you can't make a living coding? by DrSkwid · · Score: 1


      the majority of coding is in-house solutions not retail applications so your observation is invalid

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  7. 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.

    1. Re:I've been working with Torque by AndroidCat · · Score: 2, Insightful
      but surprisingly flimsy in areas like extensibility and documentation.

      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.
    2. Re:I've been working with Torque by schwaang · · Score: 1
      Well now that it's been released open source anyone can do that, right? :)
      Not really -- only the networking code has been open sourced.
    3. Re:I've been working with Torque by ImpTech · · Score: 2, Interesting

      Also working with torque, and definitely second those comments. Its high-quality, fantastic code for FPS gaming, but if you try to extend it too far you run into all kinds of problems, presumably since the designers never had intentions of extending the engine for anything other than Tribes2. I, for instance, am trying to make a small, fps-ish MMORPG, and the hardcoding of their terrain management and rendering code is driving me around in circles because its only designed for the very small Tribes2 maps. That said, you won't find an engine for anywheres near the price thats half as good, and cross-platform to boot.

      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.

    4. Re:I've been working with Torque by AndroidCat · · Score: 1

      Ah well, but that doesn't mean that it doesn't need volunteers to improve the documentation. (And no source code is not documentation. :)

      --
      One line blog. I hear that they're called Twitters now.
    5. Re:I've been working with Torque by nacturation · · Score: 1

      There's also the free Nebula Device released under essentially a BSD-style license. It's created by Radon Labs in Germany. Their site appears to be down right now, so here's a link to the archived version. Check out the screenshots for their upcoming Schwarzenberg game. Looks like a nice engine.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  8. 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.

    1. Re:opensource games? by simonharvey · · Score: 1
      FYI:
      an easy way of developing games on linux is to use the blender that is perhaps the best road to travel for people who just want to design a game and not get overwhelmed by the complexities of the game engine

      this is good news since blender 2.33 is going to be released soon that has the 2.25 game engine enabled allowing (almost) anybody to create a game (the quality of it will be dependant on the creator though).

      simon

  9. Nice. by Anonymous Coward · · Score: 0

    I wonder if there's any chance of getting them to release the complete original tribes 1 so we could port it to linux?

    OTOH, I probably wouldn't graduate then. Nevermind ;-). Most addictive game I've ever enountered, including quake.

    1. Re:Nice. by Anonymous Coward · · Score: 0

      The original Tribes 1 and Tribes 2 are going to be available for free in June, either on File planet (blah) and on the CD of some gaming magazine-or-another (can't remember name).

      Hear that? It's your productivity falling. ;)

  10. this rocks by Anonymous Coward · · Score: 0

    I spent aaages playing tribes in my younger days, the network code for it was awesome, i think it even won an award?

  11. 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 Anonymous Coward · · Score: 0

      Yea, except I've seen this particular netcode run a 128 player server when Tribes 2 was first released. It ran flawlessly except for the problems with Tribes 2 itself.

      I don't call that small or mid-size. Do you?

    3. Re:Other good network layers by Anonymous Coward · · Score: 2, Informative

      Small to mid-sized??

      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.

    4. Re:Other good network layers by ezavada · · Score: 2

      After downloading the package and looking at their current feature set, it seems like they've addressed most of my security concerns since the last time I'd looked at it.

      Overall I'd say the libray looks pretty good.

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

    6. Re:Other good network layers by alexandyr · · Score: 1

      But as a general-purpose engine (Torque) and general purpose network layer (TNL) wouldn't you say that is handy to be *able* to support lots of players if you need to? Developers can limit the number of players they allow on their maps, but at least they have the option of more if they need them.

  12. Volity? by yack0 · · Score: 1

    But what about Volity?

    --
    -- There is no sig line, only Zuul.
    1. 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.

    2. Re:Volity? by Anonymous Coward · · Score: 0

      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.


      That page also says 'parlor games'. But you're right, man - I need a l33t network layer to update my chessboard at 72 frames per second.

    3. Re:Volity? by Anonymous Coward · · Score: 0

      TNL does efficient event passing, so you could host a few hundred games pretty easily.

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

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

    3. Re:id is not being generous by AugstWest · · Score: 2, Insightful

      Read anything Carmack has had to say about the open source world and you'll see that your cynicism may be a bit misplaced here.

      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.

    4. Re:id is not being generous by Simon+Michelmore · · Score: 2, Insightful
      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.

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

      Case in point would be Daikatana - if anybody was going to be "familiar" with id's engines, you'd think it would be a former co-owner and employee. Originally Daikatana was designed and written using the Quake engine, which John Romero had been working with while it was being develop. Then, when the Quake II engine made it's first appearances, Ion Storm decided to change over to it; afterall it would give them coloured lighting, hardware acceleration and it was based on the Quake engine, so it couldn't be that hard, right?

      Unfortunately, as they found out, the differences between the two were enough so that large sections of Daikatana had to be thrown away (see this, if you want to check that out). Admittedly there were many other issues with Daikatana's development, but even Romero himself said that basically 11 months of coding with the Quake engine were useless once they switched to Quake II.

      Plus, id have done other things, outside of OSS, that have contributed to the community. 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. To put this in perspective, this was over 6 months before Quake was even released, yet there they were showing code on how to do BSP tree generation and rendering, descriptions of their lightmap system and so on and so forth. Stuff that, essentially, ended up in the game when it was released about half a year later. Hardly in their company's best interests if they want to be purely self-servicing.

      Hmmmmm... that's starting to sound like a id fanboy rant, but there you go.... :)

    5. Re:id is not being generous by n.wegner · · Score: 2, Insightful

      >Quake 2 c code looks nothing like Quake

      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 to MD2, I don't mean to say that MDL is similar to MD2.

    6. Re:id is not being generous by GlassHeart · · Score: 2, Insightful
      Carmac is a believer in OSS.

      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, based on his actions, Carmack believes in the closed source model of software development and sales.

      Now, intentional or not, open sourcing old engines has the following effects:

      • It's good karma. People will know that id is a cool company, and all other things being equal, you'd buy from a cool company.
      • It brings people in the door. Think of it as a loss leader that retail stores use to bring you in, hoping you'd buy something else as well. If you've worked with one id engine (and liked it), you have some confidence that the one you have to buy will also be pretty good.
      • It kills competition. Nobody can survive as an engine developer if your product is at the level of older id engines. IOW, id is forcing competitors to keep up, which is a hard thing because id moves pretty quickly.
      I think it's cynical to try to guess which effects are intentional. However, I also think it's pretty naive to think it's all charity.
    7. Re:id is not being generous by dustman · · Score: 2, 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.

      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 are a number of competing current engines: Doom3, HL2, Unreal, Renderware, Crytek...

      But, that aside, Carmack has specifically said that he has made the case for open source software before. I think he said he would like to try it for at least 1 engine. But, he is only a 1/3 owner of id software, and it is hard to convince his (non-programmer) co-owners about the merits of open source, when id makes $500k per engine license.

    8. Re:id is not being generous by John+Hurliman · · Score: 1

      Maybe this has to do with selling licenses for the latest engine? Give the old engine the GPL or a similar license so A) everyone has it and a game based off it isn't new and hip, and B) you can't use that engine in a closed-source game.

    9. Re:id is not being generous by Anonymous Coward · · Score: 0

      You could still use it in a closed source game, but you'd have to negotiate your own license with id to do it. If there is a business reason for releasing the source, this is probably it. It may generate a few more licensing contracts for older engines because developers get a chance to really learn the code, and then they want to use the engine they know already instead of a new, unfamiliar one. That's a shot in the dark, of course. I have no idea what they're really thinking, of even whether they will license their older engines to anyone any way other than the GPL.

  15. Strange licensing fees? Anyone undestand? by Anonymous Coward · · Score: 0

    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?

  16. Now closed source coders are whores? by Anonymous Coward · · Score: 0

    Typical zealot attitude

  17. Re:Strange licensing fees? Anyone undestand? by Anonymous Coward · · Score: 0

    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.

  18. Multi-platform, what about languages? by AndroidCat · · Score: 1

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

    2. Re:Multi-platform, what about languages? by Mark+Frohnmayer · · Score: 2, Informative

      The only tricky part of getting TNL to work with other languages would be the RPC framework, which does all kinds of macro trickery, inline assembly and worse in order to get clean-looking, high performance RPC out of C++. But then, if you're using TNL from another language, you don't need the C++ RPC functionality - you could implement RPC for that language using the NetEvent code, which is the base for the C++ RPC as well.

    3. Re:Multi-platform, what about languages? by Anonymous Coward · · Score: 0

      And then who would care? I don't know of any completed games that use Ruby.

    4. Re:Multi-platform, what about languages? by Vaevictis666 · · Score: 1

      True enough - I've been toying around with the idea of it though. Tie in a 3d engine like Crystal Space so that C or C++ can handle the low end rendering, and tie it together with Ruby. More as a personal "something to do" project than anything though. Probably explains why I haven't started yet :P

  19. Question by bonch · · Score: 1

    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.

    1. Re:Question by Saeger · · Score: 1
      These multiplayer games aren't copied near as much as singleplayer games though. The phone-home-keycheck makes that kind of difficult, and the hacked-versions aren't nearly as numerous and stick out like sore thumbs.

      --

      --
      Power to the Peaceful
  20. 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

  21. Will the for sale version differ from the gpl by Anonymous Coward · · Score: 0

    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.

    1. Re:Will the for sale version differ from the gpl by Mark+Frohnmayer · · Score: 2, Informative

      The for sale version will be the same as the GPL version. Anyone who wants to contribute back to the official version of the TNL will have to be willing to assign a shared copyright to GarageGames for code they submit.

  22. No one is saying they are incremental upgrades by AHumbleOpinion · · Score: 1

    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.

  23. I'm not trying to be cynical by AHumbleOpinion · · Score: 2, Interesting

    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.

  24. Game based on torque by zerocool^ · · Score: 2, Informative

    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?
  25. Serious question... by Anonymous Coward · · Score: 0

    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.

    1. Re:Serious question... by Anonymous Coward · · Score: 0

      Yes, this would probably be possible.

    2. Re:Serious question... by Anonymous Coward · · Score: 0

      probably

      Not probably. It is possible. That is the entire idea behind the licensing. Use the GPL'd version, get addicted to it, then pay for it when you want to make money from it.

    3. Re:Serious question... by Anonymous Coward · · Score: 0

      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)

      As the other ACs almost said, yes. You are under no obligation from the GPL until you start distributing binaries - so as long as you keep all binaries in house, don't throw a demo up on the web, etc., you're fine.

      Obviously in the interim all your internal codebases are GPL, but since you're the copyright holder you're free to relicence it as you see fit.

      IANAL so you should read the GPL FAQ.

  26. Awesome by Anonymous Coward · · Score: 0

    ... great! Somebody finally implemented TCP over TCP. Jackasses.

    1. Re:Awesome by Anonymous Coward · · Score: 0

      TNL is UDP based. Jackass.

    2. Re:Awesome by Anonymous Coward · · Score: 0

      I wasn't aware TCP had the ability to reorder the stream depending on the priority of the data.

  27. DDJ articles more self-serving than old engines by AHumbleOpinion · · Score: 2, Insightful

    Unfortunately, as they found out, the differences between the two were enough so that large sections of Daikatana had to be thrown away

    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. ... Hardly in their company's best interests if they want to be purely self-servicing

    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.

    1. Re:DDJ articles more self-serving than old engines by Simon+Michelmore · · Score: 2, Insightful
      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.

      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 deal of assumptions and beliefs regarding how it will work, only to have those beliefs made invalid. Thus, you not only have to learn a new system, but also actively undo all the assumptions that you had in equating it to the old system. This can sometimes be very hard - even (sometimes especially) if it was the same person/people who wrote the code for both iterations.

      This was my point with the Daikatana example. They appeared to have the belief of "Well, they're essentially the same engine, so it shouldn't be hard to port our stuff over". As I said - a dangerous, but probably unconcious, assumption.

      Now, if you have stated that people who are fimiliar with older id engines will be more likely to use them again because they have a relationship with id, or that there is something that they like about their design process, I would agree. However, I don't believe that they will necessarily be able to aclimiatise themselves to the new engine just because they used their last one.

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

      Nah. If they had released technical info that had been along the lines of "Here is how you make a model for use with our engine" or "Here is the SDK for our engine so you can write mods for it" then I would agree with you. But they were giving away source for things that would already been known by people working in the industry (BSP trees, Z sorted spans, etc are hardly anything new - they've been around for decades). The people that this would have benefitted were those in the community at large - ie. individuals who want nothing but to learn, and probably couldn't afford an id engine if they saved every penny they had for 5 years.

  28. GDC talk by mnemonic_ · · Score: 1

    Didn't Dynamix give a talk on the Tribes 1 netcode at a GDC long, long ago?

    1. Re:GDC talk by alexandyr · · Score: 1

      Yes, in fact Mark Frohnmayer gave that talk. He also wrote these updates to TNL.

  29. Smart move... by Anonymous Coward · · Score: 0

    It's also available under indie and commercial licenses for closed source projects..

  30. 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
    1. Re:Used to be non-free by Anonymous Coward · · Score: 0

      The Torque Networking Library is being GPL'd, not the entire Torque engine.

      At least that's my understanding. But yeah, I'm sure they do have some better stuff up their sleaves. Checking out the headlines on GarageGames.com, it looks like they have a Shader engine coming out soon too. Pretty crazy s***, especially for such low prices.

      Does anyone know for sure: when it comes out, if you license Torque Shaders, you get the source code too, right??

    2. Re:Used to be non-free by silentrob · · Score: 1

      Does anyone know for sure: when it comes out, if you license Torque Shaders, you get the source code too, right??

      I've bought the Torque engine, and yes, when you buy any license from GarageGames, you always get the full source code. Same thing for the upcoming shader.

    3. Re:Used to be non-free by Anonymous Coward · · Score: 0

      They still charge $100 for the Torque SDK.

  31. I love Tribes 2 by ae-valkyre · · Score: 1

    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.

    1. Re:I love Tribes 2 by Anonymous Coward · · Score: 0

      Looks like this is the networking portion of the engine (and an enhanced version of that). To get the full Torque engine, you have to still pay $100. But that is still awesome. I plan on getting a copy as soon as life slows down a bit (ha), and I actually have time to dig in.

  32. Re:Used to be non-free *STILL IS $100* by GarageGamer · · Score: 2, Informative

    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.
  33. Now if someone smart... by bruthasj · · Score: 2, Interesting

    Can give me a triple punch of an architecture including the best of:

    * Twisted
    * ACE
    * OpenTNL

    Any other neat ones you can think of?

    1. Re:Now if someone smart... by Anonymous Coward · · Score: 0

      I would add Ensemble and Spread to the list.

  34. And the flavor of the year is... by Fizzl · · Score: 2, 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 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?!*

    1. Re:And the flavor of the year is... by pixel_bc · · Score: 1

      HA! Yeah... this is basically what I was going to repsond with until I saw you beat me to it.

      P2P... cha. :)

    2. Re:And the flavor of the year is... by fcecin · · Score: 1
      > Explain to me what good would P2P do for a MMOG?

      For one thing, centralized MMOG developers have to face a network scalability problem. Each connected player must be updated in real time, and serving thousands (or millions?) of players can be very network intensive. Your typical, optimized 3D shooter protocol uses something like 2K bytes per second. Serving five thousand players, in this case, would require an 80 MBPS link, which I imagine is not really cheap, at least not yet.

      And of course the server is also a processing bottleneck. Running the simulation in the clients saves you from buying expensive machines or having to pay for the Butterfly Grid.

      FreeMMG is a mixed peer-to-peer and client-server MMOG model. It leaves the server doing "lightweight" work such as authentication, session tracking, etc. and uses a P2P protocol to run the actual game simulation. And it offers protection agains player cheating (I hope so, if not, I'm not getting my master's :-).

  35. Gaming API:s by Alkonaut · · Score: 1
    What's the state of the best free complete platform for gaming development? Something like this ought to be included anyway as the DirectPlay part of the DirextX competition.

    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.

    1. Re:Gaming API:s by Anonymous Coward · · Score: 0

      Yeah, if there were some way to get OpenGL, OpenTNL, OpenAL, and some cross-platform, open-source input library together, that would rock.

    2. Re:Gaming API:s by Anonymous Coward · · Score: 0

      Check out the example game that ships with TNL...

  36. Apache Torque by LimeyInLeipzig · · Score: 1

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

    1. Re:Apache Torque by Brando_Calrisean · · Score: 0

      Bah, now they'll have to rename it to something representing of a burning animal. (FireRhesus?)

      --
      Don't call me a cowboy, and don't tell me to slow down!
    2. Re:Apache Torque by Anonymous Coward · · Score: 0

      It doesn't matter....

      I mean, imagine if Id worried about there being some trendy restaurant named Quake, and changed the name of their game? Rediculous and irrelevant.

      Names only matter when you're comparing apples to apples.

  37. Impressive by Anonymous Coward · · Score: 0

    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?

  38. Cheating? by Anonymous Coward · · Score: 0

    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.

  39. Not useful for commercial products.. by d_jedi · · Score: 1

    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
    1. Re:Not useful for commercial products.. by Anonymous Coward · · Score: 0

      Uhh.. read the license. They want $1000 per programmer only if your company makes like $500K a year or more. In which case, more power to ya, but stop whining about $1000 for kickass tech (well, it looks kickass). Its cheaper for "indies" (which I guess are those who make $500K), even if they use it commercially. And its GPL for personal use.

      DirectPlay... okay, have fun with that :)

  40. Re:Cheating? FUD. by Psykechan · · Score: 1

    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.

  41. I'm pleased. by Short+Circuit · · Score: 1

    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.

  42. Negetive BS by phorm · · Score: 1

    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.

  43. Weapons? by phorm · · Score: 1

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

  44. Different for games by phorm · · Score: 2, Insightful

    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.

  45. Easy Fix by Anonymous Coward · · Score: 0

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

  46. You misunderstand/misrepresent my point by AHumbleOpinion · · Score: 1

    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.

  47. Lots by Anonymous Coward · · Score: 0

    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.

  48. Re:John "Eff'ing" Kerry by Anonymous Coward · · Score: 0

    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!

  49. P2P MMORPG was (Re:OSS MMORPG) by joaquin.keller · · Score: 1

    Have you looked at Solipsis it's a kind of P2P MMORPG and it's OSS

    1. Re:P2P MMORPG was (Re:OSS MMORPG) by fcecin · · Score: 1
      Hmm, I tought I had replied to your post before.. must have only previewed... d'oh!

      I cite the original SOLIPSIS paper a lot in FreeMMG's papers. Just downloaded the SOLIPSIS 0.2.5 alpha (much prettier interface than FreeMMG's demo game :-), but I can't seem to be able to connect to any nodes with the windows navigator. I don't know if I'm getting the interface wrong...

  50. small step by Anonymous Coward · · Score: 0

    it's one step at a time; living completely ideally in a world like this is hard; compromise is better than nothing

    GrimRC