April 7, 2019

MyWorld Meetup - 4/6/19

Announcement: Changes to the Meetups

  • We’re not setting a weekly theme anymore.

    • MyWorld is a lot to take in – we announced themes to give the community a gradual and detailed introduction. We feel that the themes served their purpose well, and now that the community is familiar with MyWorld it would be better to focus on what the community wants to discuss.
    • What we talk about at Meetups will be up to the community – just come with your questions and ideas and we’ll talk about whatever you want to talk about!

      • If you don’t have questions, come anyway! We’ll bring a list of things to talk about, and let the Meetup attendees choose.

  • Meetups will now be available to those who can’t make our Saturday time! After each Meetup, we’ll publish the notes to the blog. We’re creating a new text channel on our Discord server just for Meetups, so if you can’t join us on Saturdays, look over the notes and join in as we continue the conversation throughout the week!

Discussion:

  • (Raven) – How long until the alpha release?

    • (Daniel) – At the moment, development is slow (but steadily progressing) due to a 50+ hour/week day job. However, we’re making some large adjustments that will allow me to work on the project full time. We’re targeting for an alpha release in September.

      • Note: Software development is notoriously difficult to put in a time frame – it’s possible that we won’t be able to release in September, but it’s also possible that we’ll be able to release before September. In any case, we’re working towards alpha release as fast as possible.

  • (Daniel) – Right now, development is focused on the client’s user interface (UI).
    • MyWorld will have its own custom UI system.

      • Thoroughly investigated other UI systems, but existing systems didn’t quite fit our needs. As a developer, MyWorld’s UI design is looking very promising – it’s fast and intuitive to work with.

    • A notable change for SL/OS users – MyWorld’s UI will not have the floating chat/inventory/building windows that the SL/OS viewer does.

      • Floating windows tend to pile up in messy ways while you work, creating a distraction and slowing down workflow. MyWorld’s UI will be highly focused towards the task the user is doing – most tools/functions will be only one click (or a keyboard shortcut) away, helping maintain focus. The UI should never set itself up to be a hindrance to the task at hand.

  • (Raven) – Will MyWorld have an advanced rigging system similar to Second Life’s Bento?

    • No – instead, MyWorld allows you (the creator) to use (or create) any skeleton you like. It does not assume that the avatar is even human shaped – for example, creating an avatar like a centaur (half human, half horse) would be no different than creating a human avatar.

    • MyWorld is a fusion of game technology with virtual worlds – we’re providing the same tools game developers expect to virtual world creators, and likewise, we’re providing the power of massively scalable virtual worlds to game developers.

    • MyWorld is a very powerful tool for game developers.

      • Making a new MMO typically costs millions of dollars and years of time.

      • As a result, MMO games are typically out of the question for small studios and indy game developers. MyWorld changes this by providing a complete platform with “batteries included” – all that’s left for a studio to publish a game is creating game content, and possibly some server/client plugins for highly specific functionality that isn’t provided out of the box.

  • (Zauberin) – I’m designing a game. Will I be able to customize the MyWorld UI for my game?
    • Yes – most systems in MyWorld (including the UI) are extremely flexible and are designed to be customized through plugins (or even in-world scripting). Game developers will be able to create fully custom user interfaces if they wish.

  • (Daniel) – A note about MyWorld for game developers

    • We provide a complete client & server, but both are designed to be quick and easy to extend and customize with plugins.

    • We want to avoid MyWorld having multiple forked clients like SL/OS – users will be able to heavily customize their own client through plugins, so developers can just release a plugin for a new feature instead of forking the client and making the user maintain a whole separate install.

    • Some internal systems (physics, database, etc) are not intended to be replaced, although in many cases it will still be possible. The idea here is to provide a stable core on which to build extensions without the issues caused by providing several different implementations of internal systems.

  • (Zauberin) – Which physics engine does MyWorld use?

    • MyWorld uses Bullet

    • Z – Bullet’s GPU compute could be very powerful for MyWorld

      • Unfortunately, the Bullet developers are not maintaining or pursuing further development of the OpenCL GPU compute features right now.

      • It’s possible that at some future date we’ll pursue either supporting Bullet’s OpenCL pipeline or building our own physics engine that’s specialized for multicore/GPU compute.

  • (Zauberin) – Will MyWorld support single player games in addition to multiplayer?

    • MyWorld is designed and oriented towards exclusively multiplayer/online games/virtual worlds.

    • However, many systems (entities, physics, scripts, etc.) are designed to run on both the server and client. With some plugins and a little work, single player should be reasonably attainable if a developer wanted to go that route.

  • (Zauberin) – Will MyWorld support running a server on your local machine, either for hosting your own games or for running a standalone virtual world? (Like Minecraft?)

    • There’s nothing stopping someone from doing this (a small MyWorld cluster runs on one machine for development work), but MyWorld’s server is designed to be run in a cluster.

      • MyWorld uses Cassandra for its database, which is designed for multi-node clusters.

      • MyWorld’s server is designed to be used with an asset server cluster.

      • Unlike Minecraft and similar games, MyWorld is designed to scale to massive worlds with many thousands of players online at once. This requires the server to be designed in a very different way from the Minecraft server. The advantage is that MyWorld is linearly scalable (the world can grow indefinitely large in users, content, and size without performance loss), but this means that it’s not as simple to run on your local computer.

  • (Zauberin) – InWorldz used an early version of Cassandra for its inventory database and had some scalability and upgrade issues. In particular, servers needed to be added in powers of two. Will this be an issue with MyWorld?

    • No – Cassandra has come a long way over the years and is used successfully in massive production clusters by several large companies (Apple, Netflix, and others). It’s come a long way since the early versions, and we don’t foresee scale or upgrade issues moving forward.

      • The number of nodes in a cluster should be odd (for distributed consensus reasons), but do not need to be added in powers of two.

      • Not familiar with InWorldz’ upgrade issues, but modern Cassandra releases have well defined upgrade paths.

    • Z – Cassandra deletes cause tombstones to be written, which was also an issue for InWorldz.

      • We avoid delete-heavy patterns in MyWorld for this reason, although modern Cassandra does better with handling tombstones than it used to.

  • (Raven) – Do users get regions in MyWorld like in SL?

    • Users will absolutely get their own space/land in MyWorld, but it’s more powerful and flexible than in SL.

      • MyWorld divides the world into “zones” – very similar to SL regions, but larger.

      • Unlike SL parcels, which mark a 2D ground footprint, MyWorld’s “parcels” are marked by 3D boxes. This allows stacking owned areas (for example, an apartment building) while maintaining the right permissions.

    • Right now, MyWorld zones act a lot like regions – an admin has to set them up, and they stick around forever. We’re moving towards a “regionless” model that presents the virtual world to users as an infinitely large world with no edges/boundaries. The server(s) will create zones as needed when users travel around the world. In addition, we’re exploring procedural world generation so that users can explore a truly infinitely large world with interesting features everywhere. We’re looking into allowing users to areas of land that they like as their own when they find them, allowing the world to grow organically and letting users get pre-generated scenic areas and customize them as they like.

      • Note: World generation is a time consuming feature. We likely won’t be doing this until after alpha, and probably not until after the first full release.

  • (Zauberin) – What would stop someone from claiming huge sections of land as their own?

    • Users will be billed for the land they claim, so they will only claim as much as they’re willing to pay for.

  • (Raven) – If you claim a piece of land and make it beautiful, what prevents someone from griefing by putting something ugly next to it?

    • This is a difficult problem and definitely needs a solution. We’re still in very early planning stages on this and we don’t have all the answers ourselves yet. There are a few ways to solve this problem:

      • The server can make a buffer area around your property to prevent this. While this will add some space between you and your neighbors, it doesn’t completely eliminate the problem. (A giant pink tower is just as ugly 100 meters away as it is 30 meters away.)

      • (FordLady) – Can you deal with this through Terms of Service?

        • To a degree, but this has limits too – hard to prove that someone’s motivation for building something ugly is to harass neighbors. Content that breaks ToS is an issue regardless of the “bad neighbor” problem.

      • Another solution would be marking large sections of land and placing “homeowners’ association” rules on them. This would provide clear limits on what’s allowed where and would allow dealing with ugly/out of place content.

        • (FordLady) – These could be marked out as first-come-first-served.

        • (Raven) – Large sections could be marked with themes – alpine, apocalyptic, naturist areas, etc. Then people with specific interests would have a place to go, and there could be areas for just about anything.

  • (Zauberin) – Will there be a free tier of land?

    • Probably not, but this is something we still need to think over and decide on. One issue with free tiers is dealing with land that people claim and then disappear for long periods of time, leaving the land claimed but unused.

      • (Raven) – Could give a free trial period or reclaim land if it’s not used for a certain period of time.

  • We’re more likely to provide land as a premium account feature.

    • Very similar to what SL does now and what InWorldz did for a while.

    • Premium accounts would require a small fee, and would reward the users with a comparably valued piece of land, and/or possibly some MyWorld virtual currency.

      • Note: These are still preliminary plans and are not yet finalized.

    • (Raven) – You could also group these Premium areas together, giving neighborhoods for Premium account holders and reserving areas for expansion.

  • (Zauberin) – When someone claims land, will they be able to grant use (or rent) land to other users while still maintaining ownership?

    • Yes – MyWorld has a powerful role-based permission system that makes it easy to allow whoever you want to do certain things. Restricting what someone could do on your land is as simple as granting specific permissions to specific roles, and then adding people/groups to those roles however you like.

  • (Zauberin) – Will MyWorld allow groups to split the bill for group-owned land between group members?

    • Probably not, although we will consider this. There are a few issues here – how the payment processor (PayPal, credit card, etc.) handles things, and what happens if one individual refuses/forgets to pay their share.

    • Likely that we won’t go this route, and will leave individuals to sort out the payment details themselves.

  • (Zauberin) – Will we be able to pay land fees with in-world currency?

    • No – for legal and liability reasons, in-world currencies (and other virtual currencies like GloeBits) are typically classified and handled as valueless “tokens.” They have value to users because they can be cashed out for real currency, but they are not a real currency. Land rentals & membership fees will need to be paid to MyWorld in real currency.

  • (Zauberin) – Will MyWorld support GloeBits?

    • Probably not – our current plans are to keep currency fully in-house. This will allow us to track & integrate exchanges like object sales much better and provide much better guarantees and safety around sales & financial exchanges between users.

  • (Zauberin) – How will partnering work with avatars?

    • This is a feature we haven’t gotten to yet, but it will be fast and easy to complete. There’s a high demand for it, and something we will almost certainly support.

    • (Zauberin) – One option is to allow adding multiple relationship fields (spouse, parent, sibling, etc) that users could fill in (subject to the other party’s approval).

      • Good idea, will consider and investigate.

  • (Zauberin) – How many avatar profile fields will we be able to fill in?

    • We want profiles to be flexible – we’ll probably have several system-defined ones (name, description, date of joining, etc), but we may allow users to add their own custom fields to profiles. We’ll experiment with this as we go through alpha & beta release/testing.