Settings

Theme

Startup building the open-source “operating system” of the Metaverse

lucidscape.com

80 points by rfurlan 11 years ago · 44 comments

Reader

Animats 11 years ago

My first thought was "Wow, somebody made that work!" After reading their site, it's clear they have a long, long way to go.

In the early days of There, Inc., I was recruited by them, and was in on some early design discussions. They wanted to build a planet-sized 3D virtual world with physical simulation, with all the scaling problems that implies. My comment was "Now let us all join hands around the world", which produced groans. (Doing physical simulation across a cell boundary is hard enough, but if the users can force you to have to do it across N cells, you have a real problem.)

For that system (and for Second Life) the assumption was that all the servers were in the same data center, with low inter-server lag. Trying to do this with home servers and lag in the 100ms and up range is going to suck. However, a distributed system where all sites are hosted in data centers on the same continent with low-latency connections might work.

Now they have to deal with the security problems, the delay problems, etc. They also need a really big MMORPG to exercise the system. Something like a planet-sized version of Minecraft would be a good test. The rules are simple and users create the content. A tougher test would be to create a simple, but huge, driving game, using Open Street Map, "seamless.gov", and topo data. Then load it up with automated traffic and let people drive in it.

  • angersock 11 years ago

    Many years ago some friends and I kicked around an MMO on a post-apocalyptic version of the US, full-scale. The actual data involved worked out to less than a terabyte, including topo. Modern hardware has made that part tractable.

    The problem is, how the fuck do you make it fun?

eli_gottlieb 11 years ago

I really do feel the need to ask, these days: am I the only technologist completely uninterested in transforming real life into Snow Crash? As far as massive-world 3D games go, I still see more artistry in the Assassin's Creed series (for all its flaws) or even something more fantastic like Pokemon Snap (safari games are the idea that stay with me for VR implementation: make something that does not already exist rather than copying meatspace) than in these weird attempts to create a "virtual reality" or even just large-scale game world modeled off... Times Square.

Not only can I already visit Times Square in real life, I choose not to. Ditto on the more branded, corporatized, ad-infested portions of the internet (ie: the "downtown internet" approved by official, polite society).

Many scifi novels (insofar as Snow Crash can even be called "fiction" rather than "prediction" these days :-() are written to make fun of wacky technologists and our just-somewhat-off-target ideas, you know.

Now, to end on a zog note rather than zig or zag, here's an idea: someone figure out the massive-game or VR equivalent of 4chan. There's something people will actually want to use. (For all the official disapproval from all sectors, 4chan and 2chan are massively popular and influential. They are offering something users want: anonymity, obscurity, simplicity, and freedom!) EDIT: http://kazerad.tumblr.com/post/96020280368/faceless-together

azinman2 11 years ago

The more important test is not the technological one, but if the idea is useful at all. So far 3D worlds haven't proven themselves as necessary or something that leaps forward communication. It provides all kinds of constraints with few upsides. Just because the world is in 3d for my normal life doesn't mean that constraint is natural or useful by extension -- when I read I absorb language and abstract thoughts mixed with imagination without any "real world" basis. 3D avatars might look cool but they also visually become the hero when that might be exactly what we want to get away from in a community context -- the potential for new forms of representation that dont resemble the physical world. Second life was predicted by some to have already taken over all of business world, and thus far it had the most uptick and chance of all of these systems. Yet am I reading HN via some dragon emitting nerdy fireballs? No I have a simple web page with the ability to hyperlink me straight to interesting content that is more text typically. And it's working way better in this form than a 3D world could because the concept doesn't make sense to add that extra graphical dimension and navigational constraint.

  • DennisP 11 years ago

    For a lot of purposes I agree. Hypertext is one.

    But I think one reason 3D hasn't done much is that we're looking at it through a little 2D window. When VR really hits the market I think 3D worlds will be a lot more compelling.

    • azinman2 11 years ago

      The question then becomes what new applications will that enable, rather than how can we do what we already do in 3D. That's the problem I see with secondlife and as they're defining the metaverse...

      If it's about simulation/training for doctors/firefighters/etc then I can see the uses because you're wanting to simulate a complex situation in the real world. But what purely virtual tasks will be better accomplished with VR than without? Is it more simulation of reality or something totally new? My guess is for whatever is new it mostly will be about navigating something inherently 3D such as DNA. If that's true, then do we really need a decentralized metaverse to populate it, or can whatever random DNA VR software be enough?

jwatte 11 years ago

Having been in on two previous attempts, let me state my wry amusement at this go-around :-)

  • contingencies 11 years ago

    Indeed. It would perhaps be easier to rephrase - What problem is this actually solving?

    • xnxn 11 years ago

      The problem, as I see it: VR and the web are too far apart.

      This seems to be an attempt to build a... protocol? engine? both? for moving programmable entities between volumes of space that may be controlled by different hosts.

      The "operating system" / Metaverse verbiage is a little grandiose, but I really like the idea. Or maybe I just miss Adobe Atmosphere :)

      • mattlutze 11 years ago

        Please pardon my pedantry, but, I have to ask: why is VR and the web being too far apart a problem?

        That condition describes the state of the two technologies, but doesn't, to me, strike as an actual problem.

        "Real-time collaboration of disparate entities through video / voice / instant message is sufficiently inferior to physically present collaboration as to be a detriment to ____" would be a problem, for example.

        I definitely agree that it's really cool tech, and would be great if a truly seamless MMO virtual environment were possible.

        But, perhaps past attempts have sputtered out for lack of a few actual problems providing impetus for the task. Building something awesome should be reason enough, but often seems to fall short of what's necessary to see an effort succeed.

        Edit: I didn't see other comments in a similar vein as this one that you've already replied to, so, I do consider the notion "asked and answered".

        I struggle to come up with problems that VR solves as well, and really like the likening of it to paper or video as a communication medium.

        Though, maybe we limit our exploration of its possibilities by trying to fit it into that or other existing mental schemas.

      • maxharris 11 years ago

        This seems to be an attempt to build a... protocol? engine? both? for moving programmable entities between volumes of space that may be controlled by different hosts.

        Okay, but why would I want to do that?

      • contingencies 11 years ago

        VR and the web are too far apart.

        ... for what purpose? Web pages are hard to simplify. Even harder to transform, in a generally applicable way, in to 3D objects that hold the full meaning and functionality of their present-era 2D brethren.

        • xnxn 11 years ago

          That's true, and I don't think the goal is to simplify or transform the existing web of hypertext, but to take the well-proven principles behind it - hyperlinks, interoperability, decentralization, etc. - and apply them to the nascent medium of VR. It certainly won't supplant web pages.

          "But why?" is a totally fair question, and I don't think I can produce a satisfactory answer. I've spent a good deal of time thinking about concrete use cases for VR, and, well... it's a medium, like paper, or like video - but it's interactive, so it has more in common with the telephone, or video games, or your web browser. It can be more illustrative to try and imagine things you can't do (and now I really sound like I've drunk the VR Kool-Aid, huh?).

          Can I ask if your skepticism is specific to this project, or to the idea of a distributed, programmable VR platform?

          • contingencies 11 years ago

            Can I ask if your skepticism is specific to this project, or to the idea of a distributed, programmable VR platform?

            Well, I've been down the same path before, as with others here .. judging by the earlier comments. I don't discount 3D, far from it, however my conclusion, personally, was that different people consider different types of visualizations preferable or inherantly clearer. For instance, a statistician, mathematician, programmer, poet, sculptor or gamer may wish to visualize or interact with the same information in a very different way. If you accept this temporarily for the sake of argument, then take those same different input/interaction paradigms and start to translate them across multiple cultures and languages, I believe you get an even higher number of preferences. Trying to create the one true standard for interaction with mock-physical representations of aphysical notions may just be trying to put a square peg in a round hole.

  • ThomPete 11 years ago

    Timing...

    • georgemcbay 11 years ago

      How do you expect them to benefit from timing (assuming that's what is meant by the cryptic comment)?

      The major problems faced in doing what they propose are fundamental issues with computer networking and real-world limitations in the latency of sending lots of state across the wires.

      And the internet infrastructurally (in the US anyway) isn't significantly better today than it was in years past. Arguably it has gotten worse in a lot of ways when it comes to latency, particularly on the last hop to the user/player over consumer ISPs.

      • ThomPete 11 years ago

        They might not benefit from it but if we agree things will be moving that way (I personally believe it will) then it's a matter of timing.

msane 11 years ago

On the back is gibberish explaining how he may be reached: a telephone number. A universal voice phone locator code. A P.O. box. His address on half a dozen electronic communications nets. And an address in the Metaverse.

jmgrosen 11 years ago

Sounds like High Fidelity: https://highfidelity.io

(No affiliation other than having tried it a couple months ago and written a little bit of code for it.)

  • troymc 11 years ago

    Similar, but this one says they'll exert no centralized control at all. High Fidelity intends to control the analogues of the name servers, and some other things.

rwallace 11 years ago

If you try to go extreme on all possible requirements simultaneously, the chance of failure approaches one hundred percent. The key to success is to pick one or two areas where you want to go beyond state-of-the-art, while staying within it in other areas.

I strongly recommend deleting the requirement about seamless visualization across servers. Of all the items on the list, that strikes me as adding the most difficulty for the least value.

  • wmf 11 years ago

    Based on the videos, haven't they already implemented that?

    • rwallace 11 years ago

      They might have, for all I know. It's doable in a product that isn't trying to do much else at the same time, if you own all the servers in question and can make sure they are connected by a low latency network. The bad news will come when you try to keep the property of seamlessness between servers while scaling up to do other things as well.

maxharris 11 years ago

Can someone explain what this is for? I watched the videos, and I still don't get it.

And no, I haven't read Snow Crash. I shouldn't have to read a novel to get excited about a project...

  • lotsofmangos 11 years ago

    No, but you should read Snow Crash.

    Everyone should read Snow Crash.

  • atmosx 11 years ago

    Its a next-generation internet probably inspired by Snow Crash. The name "Metaverse" is used in the novel. The basics are the same (bits flowing around, binary code, etc). Instead of interacting using a computer/screen, everyone has an avatar (VR devices) and the connections between real world and metaverse and incredibly blurred.

    Its an astonishing Novel, given the time it was written. Its really a very good novel, no idea about the project but the name generates a lot of hype for sure.

  • duckingtest 11 years ago

    Basically a better Second Life

amackera 11 years ago

Calling this an "operating system" just seems like misdirection from the actually cool problem of visualizing distributed systems. I mean the whole thing about the Metaverse is that it's simply a vivid realization of what's already happening on the internet --- it's not some extra layer on top.

This technology is pretty impressive, and I get the marketing speak that will appeal to certain folks, but I'd rather call it what it is --- an impressive, distributed, rendering engine.

IDK, maybe I'm thinking about this all wrong.

  • techpeace 11 years ago

    A minor amount of Snow Crash (the book in which the term is coined) is dedicated to descriptions of the team that built the Metaverse "protocol." It actually was software purpose-built to drive this kind of distributed VR experience, rather than a simple visualization of the Internet as it existed.

    William Gibson's "Matrix" from Neuromancer was more of a visualization of data as it flew about a virtual world, doing whatever it is data does when you watch it. Certain servers are protected by layers of "ice," which you have to "drill" through in order to gain access, etc.

    There are a few working groups that appear to also still be working on standards for the Metaverse: https://en.wikipedia.org/wiki/Metaverse

estill01 11 years ago

Anyone know if the source code is available? Their post says it's an open source project -- would be cool to explore.

  • yarrel 11 years ago

    Nothing on their GitHub yet.

    Their Facebook page header has what looks like some F# on it.

ps4fanboy 11 years ago

This looks like it would be very good tech for MMO games.

ilaksh 11 years ago

Well, there is are several metric tons of examples out there.. Hard to resist coming up with my own ideas though since this is such an interesting topic.

Maybe we don't have to have the most advanced open source 3d networking game engine out there as a protocol.

Maybe we can start by building off of Named Data Networking (NDN) http://named-data.net/doc/NDN-TLV/current/

Would be nice to have everything including content represented in Manchester OWL syntax but that's probably not realistic.

So perhaps use the NDN protocol with TLV encoding, NDN name format/URI scheme, order. Use the interest packets for subscribing to rooms in the metaverse. Then exchange NDN Data Packets with updates to object positions etc.

Maybe for data contents use something with YAML for a change from XML.

    name/smith/john50/homeworld

    base: org/sim
    libs: dim/1, objs/1, phys/1
      dimension: real
        - terrain:
            heightmap: maps/hills.png
        - objects:
          - house:
            windows: 5
            type: simple
            bedrooms: 3
          - avatar:
            model: models/man.dae
            name: name/smith/john50/me
            pose: walk 2
            position: [50, 50, 2]
            velocity: [0.5, 1.0, 0.1]
            owner: name/smith/john50
          - portal:
              world: name/wallace/liz10/homeworld
              type: simplecircle
              position: [123, 435, 123]
              dimension: real
          - webview:
              name: John's Smart TV
              url: http://en.wikipedia.org/wiki/Metaverse


    org/sim/objs/1

    base: org/sim
    dimension: real
      - procedures:
        room:
          - for: [1, walls]
              - makegeom: [cube, 1.0, 0.5, 1.0, 0.0, 0.0, 0.0]          
        house:
          - for: [b, 1, bedrooms]
              - room:
                  walls: 4
          - for: [b, 1, windows]
              - cutgeom: [quad, 0.25, 0.25, 0.25, b, 0, 0]             
   
         
    name/smith/john50/update102
    timestamp: xxxxxxxxxxxx
    which: name/smith/john50/me
    update:
      operation: impulse
      vector: [ 0.25, 1.0, 0.0 ]
      startstate:
        velocity: [ 0.5, 0.0, 0.0 ]
The idea with the "procedures:" thing is to take advantage of YAML's flexibility in order to create a language independent representation of an algorithm for doing simple procedural generation. It would be designed in such a way as to make it easy to generate code from the data tree in different languages like C, C++, Nim(rod), Java, Python, whatever. That would be compiled on the fly and loaded as a sort of plugin.

Then rather than doing simple state updates, it uses operational transformations like saying "at time A force B was applied to this object and its velocity before that was C".

So my idea uses an emerging standard (NDN) for efficiently distributing information and updates about the metaverse, an easy to read standard in YAML for describing the details, includes the concept of portals linking between worlds (you gotta have portals, they are one of the coolest things about the metaverse), includes the idea of embedded webviews (too much awesome stuff on the web to leave that out of the metaverse browser), a YAML-format for encoding algorithms that can be easily translated to common languages and compiled on the fly, and operational transformations for informing other clients about operations on the world state.

  • angersock 11 years ago

    I despise your use of YAML instead of JSON, but I applaud your suggestion of a flexible procedural markup language.

    It allows (theoretically) for us to be sharing the same space, but I see a modern office while you see a Japanese dojo. Effectively, Spatial Style Sheets, right?

    The big problem (one we still run in to everywhere else) is that people are going to want to be guaranteed that the dragon dildo they proudly display in their 'verse is seen the same by every visitor, and that's only accomplished by low-level data such as triangle meshes, UVs, and images.

    Still, a very intriguing thought.

    • ilaksh 11 years ago

      My idea was that there would be one specific set of code for each procedure loaded in when you say what libs: you want. So 'house' and 'room' are the same for everyone. It would be possible though to come up with a way to allow different definitions of those things which would be interesting.

  • ilaksh 11 years ago

    Not letting me edit it anymore but wanted to fix something:

      base: org/sim
      dimension: real
      procedures:
        room:
          - for: 
              range: [w, 1, walls]
              block:
                - makegeom: [cube, 1.0, 0.5, 1.0, 0.0, 0.0, 0.0]          
        house:
          - for: 
              range: [b, 1, bedrooms]
              block: 
              - room:
                walls: 4
          - for: 
              range: [b, 1, windows]
              block:
              - cutgeom: [quad, 0.25, 0.25, 0.25, b, 0, 0]
lotsofmangos 11 years ago

Again? :)

It does look quite cool though.

yarrel 11 years ago

It's another CLR monstrosity (see the code on their Facebook page)?

Why!!!???

  • ps4fanboy 11 years ago

    CLR not hipster enough for you?

  • yarrel 11 years ago

    Downvotes are not an explanation.

    • CmonDev 11 years ago

      "monstrosity" is not an explanation, CLR is a state of the art technology. What would you suggest instead of this? A dynamic language monstrosity? A JVM monstrosity? A legacy language (C++/JS) monstrosity? An unestablished language monstrosity? Some other kind of monstrosity?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection