March 26, 2019

MyWorld Meetup – 2/23/19

Topic: Whatever you want!

  • Back into the code!
    • Implemented plugin system
      • Powerful way to extend client (& server)
      • Goal is for 3rd party developers to extend client with plugins rather than creating separate client programs
      • Users will be able to install plugins without even logging out
  • Constructive Solid Geometry
    • MyWorld has no prims
    • Studying approaches for creating efficient mesh out of CSG
    • Goal is to replace prims with “Super Prims” – CSG
    • Powerful extensions are possible:
      • Paint displacement map on top of the geometry (i.e., could sculpt a basic shape such as a cylinder into a much more complex shape without manually creating mesh)
      • Efficiently bundle data into a single asset
    • Some CSG algorithms (Dual Marching Cubes) can create very well optimized mesh
    • Alpha and Beta will still be mesh only – CSG will be added later
    • End goal is not just “Super Prims” – headed towards full voxel terrain support, same algorithms used for that too
  • Lighting
    • Q (Zauberin) – support for contact shadows & IES light profiles?
      • Contact shadows give additional self-shadowing
      • IES is standard format provided by real-world lighting manufacturers – describes the way a fixture scatters light
    • Answer: Yes, will likely add support after beta (extremely accurate lighting high priority initiative as part of PBR support)
    • Q (Zauberin) – Emmissive materials? (Objects that emit light)
      • Answer: Likely yes, in future
    • Q (Zauberin) – Translucent materials?
      • Answer: Yes, will be supported
  • Web media
    • Q (Zauberin) – Support for web media on in-world objects?
      • Answer: open issue, want to support but is difficult without bringing in very large dependencies
      • Mozilla Servo is a promising possibility
        • Experimental, fast & efficient browser engine
        • Designed to be embeddable in other software products
      • Early releases will not contain support for web media, but this will likely be pursued in the future
    • Q (Zauberin) – Support for using images on the web as textures?
      • Answer: These bring in a lot of issues – reliability, copyright, etc. Won’t be supported as a part of the core asset pipeline, but once web media support is added there’s nothing stopping someone from displaying web images on objects.
  • Asset management compared to other virtual worlds
    • Current virtual worlds allow anyone with an asset’s UUID to freely use it, making theft issues for creators
      • Workarounds place extra burden on creators, add unnecessary load to server
      • MyWorld is much more restrictive – a leaked UUID won’t do any harm
        • Whenever an asset is used, the party using it must have permissions to do so
  • Q (Zauberin) – Support for a key value store for scripters?
    • Could be used like a dictionary to share data between objects
    • Answer: Likely yes, but these are tricky and need careful design to do properly
      • What about accessing assets from scripts?
      • Answer: Quite difficult. Support planned since some time ago, but details not known yet – severely complicates script memory/resource use restrictions
  • Wrap up
    • MyWorld is for game developers too, not just for virtual worlds – we don’t stop at “good enough,” we add whatever features we see as useful
    • Q (Zauberin) – Bone physics?
      • Support for realistic cloth/avatar body movement
      • Answer: Yes, in future release