Please create an account to participate in the Slashdot moderation system


Forgot your password?
The Internet Entertainment Games

First Technical Look at the Second Life Client 52

An anonymous reader writes "Second Life is a virtual world, maintained through a combination of client software and hosting servers. It has the unusual quality that nearly all of the content is user-provided. It is also unusual in that Linden Labs recently announced the release of its client software as open source. This is something that is rarely, if ever, done in commercial MMO apps. This article introduces the client (or "viewer" in Linden terminology) and explores the Second Life development environment."
This discussion has been archived. No new comments can be posted.

First Technical Look at the Second Life Client

Comments Filter:
  • Nothing for you to see here. Please move along.

    I guess we're going to have to wait for the Second Technical Look before we can see anything.
  • by TubeSteak ( 669689 ) on Thursday March 29, 2007 @02:51PM (#18532153) Journal

    It is also unusual in that Linden Labs recently announced the release of its client software as open source. This is something that is rarely, if ever, done in commercial MMO apps.
    All their money is made server side.
    Why wouldn't they open up the client?

    The only reason I can imagine involves the prevention of IP (skins, etc) theft.
    But, that is an arms race that they've already lost.
    • by Rei ( 128717 ) on Thursday March 29, 2007 @03:06PM (#18532467) Homepage
      Perhaps some contributors to the client, now that it's open source, can make the rendering engine not look late-90s. I'm not talking poly counts or texture detail, which would be constrained by bandwidth. I'm talking about how flat everything is. I don't know what their lighting and texturing models are, but they need first aid. :P
      • Not to mention the fact that the efficiency of said rendering engine is currently... how can I put this delicately... vomit-inducingly pathetic.


        • Re: (Score:2, Informative)

          by reverius ( 471142 )
          Second that. I can't run Second Life on my laptop at all... I get maybe 6 fps on all the lowest possible settings. Compare that to 20-25 fps on World of Warcraft at not even the lowest settings. That's with a Radeon 9200 Mobile. Which game would you guess is more graphically demanding? I'm really not sure, but WoW sure as hell looks a lot better.
          • I don't disagree with you that their render engine could be more efficient, but if you are only getting 6 fps, something is wrong. I run SL on my old 2Ghz laptop with a Radeon 9700 Mobility. Granted a little better than yours, but I regularly get 20-30 fps with most graphics settings medium to high. Check in the about panel to make sure your drivers are _at least_ OpenGL 2.0. I would also highly recommend using the ATI Omega drivers [].
            • Cool, thanks, I'll check my drivers... that makes me optimistic, though. Unfortunately I can't use the Omega drivers, because I run Mac OS X (yes, I neglected to mention that my laptop is an iBook G4). If new drivers don't fix it, I'm going to assume that it's probably a performance difference between the Windows and Mac OS X versions of the Second Life client.
          • by Kris_J ( 10111 ) *
            WoW looks better because the textures are so much better. You can get stuff to look just as good in SL if you spend as much time on the textures. Thing is, textures cost $L to upload, so people tend to upload as few as possible, and make do if they're not quite right.
      • Re: (Score:2, Informative)

        by DaleGlass ( 1068434 )
        SL doesn't transmit polygons to the client, it transmits "primitives". So the viewer knows that there's a sphere at position x,y,z with radius r, texture t, and so on. The amount of polygons you see depends on the detail setting.

        I don't think SL is ever going to luck really stunning though. While rendering can be improved, the content is still generated by normal people, and not by a company who hires artists and has a plan of how things should look like. You can find professionally looking areas (especiall
        • There's one thing, more than anything else, that I'd hope someone will change. If you move quickly across the SL landscape, you can easily outpace the rate at which the server can stream stuff to you. But what often happens to me is that my avatar starts bumping into objects that aren't yet visible. Basically, the client knows that they're there, because it's performing a collision detection and stopping my character. But I guess since it hasn't gotten enough texture data or whatever, it has chosen not to s
          • Actually, the client itself doesn't know jack about positions - the server handles the physics. That's why you bump around. The client says "I'm moving in this direction", and the server says "ok...... STOP!" (more or less). The client doesn't know there's a wall there yet. Usually, prims will get drawn as soon as the client knows enough about them to make a grey block/sphere/whatever - and the texture comes when it can.

            In short, it's the server doing the collision detection, not the client.
            • Ah, I was not aware of that.

              Avatar physics should not be handled that way then. It is annoying. I'm sure that changing that would probably break all sorts of other things that I'm not thinking of though.
              • by Cerium ( 948827 )
                It may be annoying, but as soon as you start trusting the client to tell you where it is, that's when you start running into wallhacks and what have you.
          • There has been a discussion of texture caching on the development list some days ago, and perhaps the result of that will be that the client will be improved to make it load the world faster.

            I haven't really looked at the rendering code yet, but I know what you mean. Some data must be there, so probably something can be done about it.
      • I'm working on a raytracing engine that'll knock the socks off anything LL can put out -- if you're running an 8-core or better system. Hopefully I'll be able to speed it up so that people stuck with quad-core computers can use it.
        • by Rei ( 128717 )
          Best of luck to you. :)
          Offloading some of the work to the GPU, I presume?
          • Offloading some of the work to the GPU, I presume?

            Offloading camera-ray intersection testing (just what the ray intersects, not the intersection point) to the GPU is one of the speedups I'm looking at. GPUs aren't quite flexible or fast enough to handle the entire process, and the communications overhead is too high for finer-grained division of tasks.
  • by DaleGlass ( 1068434 ) on Thursday March 29, 2007 @02:52PM (#18532161) Homepage
    It's pretty much a copy of a small part of the build instructions from the wiki. Absolutely nothing new, and even not enough information to actually build it.

    It's also out of date. The latest versions do build with GCC 4, although it doesn't seem to be fully supported yet. Once in a while they release source with a couple of lines that GCC chokes on (such as using "class::method" in headers), but compiling with GCC 4 doesn't require any changes besides fixing that.

    OpenJPEG recently became very usable as well, thanks to some good work on optimizing it.
  • That's technical? It's just some tips (albeit useful ones) on how to build the Second Life client. Don't waste your time with TFA unless you're interested in building the client.
  • I'd hardly call 'How to compile this program' hacking.

Those who can't write, write manuals.