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