On 8/8/2011 6:55 PM, Casey Ransberger wrote:
On Sun, Aug 7, 2011 at 3:48 AM, Giulio Prisco <[email protected] <mailto:[email protected]>> wrote:

    SecondPlace, QwaqLife or TeleSim? Open ended, comments welcome.

    
http://giulioprisco.blogspot.com/2011/08/secondplace-qwaqlife-or-telesim.html


I almost missed this thread. I'm also hunting that grail. VR for consumers that isn't lame. CC'd FONC because I think this is actually relevant to that conversation.

My feeling is, and I may be wrong, that the problems with Second Life are twofold:

1. There are technical problems with the implementation. It's very crashy and didn't scale well. My suspicion is that the biggest problem they have is getting the user generated texture maps out to all of the clients on the fly. This leads to usability issues, etc. It can take minutes to get to the point where one is actually participating after arriving in a sim, while all those textures and meshes load it just thrashes like crazy. Also there's the server-centric architecture, which is usually harder to scale than peer to peer technology. I have not yet determined what the "weight" of the OpenQwaq server is yet, though, because I don't have enough machines to build out a "production-like" environment currently. It seems a touch crawly running all of the services on my modest laptop under a single CentOS host in VMWare while the client is also running at the same time (heh) and this is not a real measure of server or client performance:) it's currently just a way to warm up my apartment.


[sorry in advance, I mostly ended up running off in an unrelated direction, but maybe it could still be interesting].


IMO, probably better (than centralized servers) is to have independent world-servers which run alongside a traditional web-server (such as Apache or similar).

one can jump to a server using its URL, pull down its local content via HTTP, and connect to a server which manages the shared VR world, ...

a partial issue though becomes how much client-specific content to allow, for example, if clients use their own avatars (which are bounced along using the webserver to distribute them to anyone who sees them), and a persons' avatar is derived from copyrighted material, there is always a risk that some jerkface lawyers may try to sue the person running the server, or the author of the VR software, with copyright infringement (unless of course one uses the usual sets of legal disclaimers and "terms of use" agreements and similar).

allowing user-created worlds on a shared server (sort of like a Wiki) poses similar problems. the temptation for people to be lazy and use copyrighted images/music/... in their worlds is fairly large, and nearly any new technology is a major bait for opportunistic lawsuit-crazy lawyers...


2. Their entire business model ended up being a cultural toxin. Free accounts mean spam and griefing/trolling/abuse. A profit motive for users seemed like a good idea at the outset, as it's about the most marketable universal out there, but it seems that DRM+UGC = red light district, real estate, fashion, and a handful of enterprise applications which would probably be served at least as well by Teleplace. I think one ultimately wants user generated content, but I'm not sure what the right way to do it is. One might read a book about Logo:)


yep, and there is a question of what exact purposes these 3D worlds serve vs more traditional systems, such as good old web-pages.

games is a major application area for 3D, but the more open-ended world that is non-game systems is a much bigger problems, and the relative merits of 3D are much less obvious.

a partial issue at the time though is potentially the reasonably high costs of producing decent-quality 3D content (models, maps, ...) in contrast to most other content.

the industry-standard tools are typically expensive, have a steep learning curve, and still leave content production a rather long and tedious process (it is, in contrast, much faster and easier to produce spiffy-looking 2D graphics artwork, or for that matter to edit documents in a WYSIWYG editor).

also, the near-monopoly status that Autodesk holds in the DCC tools market is not ideal either (they tend to buy out most any competition which tends to gain any real semblance of market share).

also, there is also the general problem of a lack of non-suck free DCC tools. yes, I have my own 3D DCC tools, but sadly, they are not exactly non-suck either...

another problem at the present time is the general lack of freely-available 3D artwork, meaning much content production has to start from the ground-up, from basic cubes and cylinders (again, this may have something to do with the present sad state of DCC tools).


Minecraft has been running with an honor system for awhile now, and people just don't seem to mess with each other as much there. They're implementing some anti-griefing stuff around treasure chests now, but users build beautiful sculptures, ALUs, delay line memory, etc. Not a red light district to be found. I think it's because you actually have to pay in order to play, and you can't make money in there. My guess is the real difference is in the business model, but it might also be that low resolution volumetrics don't lend themselves as well to amplifying some of the less-awesome universals, instead amplifying much more creative and often non-universal activity. It's almost like Lego geology.


yes, but a lot may also be that there is no centralized Minecraft world, but instead most servers are run on an individual basis and only admit a limited number of players.

thus, the target for destructive behaviors or vandalism is spread very thin (people are far less prone to try to vandalize peoples' personally-run servers).


but, in some ways, I think Minecraft represents something "fundamental", but I don't really know what it is. in many ways, it has created something thus far reasonably unique in the world of gaming.

I also find voxels interesting, but there is an uncertainty where the future of 3D lies (moving on from the present system of polygonal geometry). voxels are one option, but not the only option.


in my case, I build partly on a different system: CSG.
although CSG is not exactly new either, people are far from using CSG to its full ability (like voxels, objects built from CSG are "solid", and so it is possible to cut/modify/... CSG-based objects).

also, the initial up-front cost of CSG (memory, rendering overhead, ...) is much lower than with voxels (and, CSG can usually be fairly easily converted into polygonal geometry for rendering/...). so, when a piece of CSG geometry is altered, its polygonal geometry can be fairly easily rebuilt (unlike with a mesh model, where there is nothing "in" the model beyond its external geometry).

a downside of CSG vs voxels is that voxels have all of their complexity up-front, so however the scene is changed the voxels remain approximately the same cost. however, supporting alteration of CSG-based geometry steadily increases the amount of internal geometry (creating new primitives and cutting holes with negative primitives, ...). so, a Minecraft-like game world couldn't be so easily created with CSG.

I have before had ideas for trying to combine CSG and voxels, but this is itself a complex problem area.

even more compelling would be if both could be combined with FEM and similar, allowing for structures which could be built initially from CSG primitives, broken apart or modified at a fine level of detail (as with voxels), and subject to mechanical forces (bending, flexing, fracturing under strain, shearing, ...).

it could be very cool, but poses a few problems:
how to implement it?...
how to make it able to be used at *any* real scale on current HW (voxels+FEM is not exactly a lightweight combination).

then again, there may be a partial way around it: the system is built top-down from CSG.

at the high-level, it is just CSG primitives, and this is how the world is initially built; CSG geometry may be animated/... through more traditional means (treated as polygonal geometry and subjected to weighted vertex transformations, ...); as-needed, the geometry may be "decomposed" into analogous voxel geometry (if done well, the transformation can be handled a single primitive at a time and in a reasonably transparent manner).

and, if most of the world remains as CSG, then the overall cost can be kept lower, and in regions where there is severe alteration, it transforms into voxels.


an example of this would be, say, one creates a big sphere of "sand" in the sky, and it proceeds to fall due to gravity (at this point, the engine sees a plain sphere). upon contact with the ground, high-forces (exceeding certain defined constants) cause the sphere to break apart into voxels, which are then subjected to internal physics (moving forwards at their prior speeds), and then stopping once there is nowhere for them to go. potentially, the engine leaves this as-is, or may begin trying to "recompress" these regions of voxels back into CSG geometry where possible (say, a big cube of voxels all of the same size is replaced with a "cube" primitive mapped to the given material type).

and, from the point of view of the user, they just say a big ball of sand fall from the sky and splat on the ground, leaving a sand-pile... (itself subject to being readily deformed, say the user shoots at it and puffs of sand fly off and pile up elsewhere, and ones' weapons deform the sand pile and leave their bullets embedded in the sand, ...).

an analogy would be the current partial integration between bitmap and vector graphics, but what if this were 3D?...


granted, all this is mostly speculation, and not really something I can pursue at present, and it may still be some years before this sort of thing is really practical on consumer-grade hardware... (by "practical" I mean: can be applied in real-time to large-scale game-worlds, in contrast to the reasonably small scales typically seen in most voxel+FEM+physics examples thus far).


also, the comparably lower costs of plain CSG and rigid-body physics make them currently a much more attractive target, as these work much better on current HW.


OTOH, Minecraft works as well as it does because its voxels are very low density and there are almost no large-scale physics (it is not possible, for example, to build a large structure, and have it break loose and fall over, ...).

voxels could also have potentially cool uses if combined with 3D printers:
imagine if, for example, one could build some large electronic device in a Minecraft like system, print it out, and have a real and working piece of hardware...

it could very well be possible given the existence of conductive and semi-conductive polymers, ...


or such...


note:
http://en.wikipedia.org/wiki/Voxel
http://en.wikipedia.org/wiki/Constructive_solid_geometry
http://en.wikipedia.org/wiki/Finite_element_method
http://en.wikipedia.org/wiki/Computational_fluid_dynamics

or such...


These are all just hunches though. I could be wrong.

--
Casey Ransberger


_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to