Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
196 stars 9 forks source link

Allow users to set any public world as home (Favorite world) #1669

Open Ruikio opened 3 years ago

Ruikio commented 3 years ago

Is your feature request related to a problem? Please describe.

Currently it seems players are only able to set worlds as home/favorite if they're able to own / save the world. If a world is published, it's obviously meant to available for the public. This would allow users the ability to set certain worlds as home that are more locked down.

Describe the solution you'd like

I've got two I can think of.

Additional context

The community makes great content. Some worlds are locked down but would be amazing to spawn into as a normal user. Just a nice QoL feature that let's people add that customizable preference here in Neos.

shiftyscales commented 3 years ago

The reason the ownership requirement exists is because the cloud home is intended to be a persistent space where changes you made are saved on exit. (Exit & Save Homes)

If you are just wanting to load a particular world when you launch Neos every time, you could use the -Open <URL> command line argument for the current time @Ruikio . If a world creator wishes to publish their world with the intent it is used as a home for other users, they can adjust their world saving permissions accordingly.

https://wiki.neos.com/Command_Line_Arguments#Joining_sessions_.2F_Opening_worlds

Ruikio commented 3 years ago

The reason the ownership requirement exists is because the cloud home is intended to be a persistent space where changes you made are saved on exit. (Exit & Save Homes)

If you are just wanting to load a particular world when you launch Neos every time, you could use the -Open <URL> command line argument for the current time @Ruikio . If a world creator wishes to publish their world with the intent it is used as a home for other users, they can adjust their world saving permissions accordingly.

https://wiki.neos.com/Command_Line_Arguments#Joining_sessions_.2F_Opening_worlds

Thanks for the info, Shifty

However both of these alternatives are unacceptable. Especially for normal consumers & content creators *. I wouldn't expect any normal user to know or care to utilize a command line on launch for a home world. As someone who makes worlds that are locked down, I'd rather not adjust save settings at all.

The purpose of this thread is to help promote something that's user friendly and is added in as a feature.

To clarify, I'm not looking to have the cloud home (Local) changed or have alternatives that we currently have for this feature. This thread is to have this feature added, as it seems a standard feature in other social platforms.

Toxic-Cookie commented 3 years ago

As a side note, VRChat allows the favoriting of worlds players do not own as their home world. It would make sense for that feature to be parodied here. Of course saving changes to the world should be disallowed if they do not have permissions to do so.

StarfishHidari commented 3 years ago

As has been said by rukio and toxic_cookie, this is a very standard feature on other social platforms, expecting general users to use a command line option is not a reasonable expectation. It is also likely that as the number of worlds and quality of worlds increases over time, many more of them will be locked down and restricted.

forcing creators to open their worlds up in order to allow people to enjoy them is not a good alternative especially

Frooxius commented 3 years ago

We're not generally concerned with other platforms as they have significant differences from ours, but rather we should consider what makes sense on our own and what fits the nature of Neos. Part of that is the ability to modify things in-game and have those changes persist, with many tools and internal behaviors built on top of that.

It might seem good on surface to allow favoriting such worlds, but this can lead to some poor UX, as any changes that user makes in their home would be lost, without the user necessarily knowing why or in cases they can save changes (e.g. on worlds owned by a group or later on when given permissions to overwrite contact's world for example), but usually shouldn't, cause sync conflicts and the public versions get updated by accident with random changes.

By requiring the world to be owned specifically by the user, we avoid all of these complications and problems that would decrease quality of life, as well as simplify a lot of the interactions.

One thing that could help make the process easier and fit nature of Neos is to make this whole process easy to do with new UI - worlds that could be set as homeworld would automatically get saved to your account when you set them as your homeworld. That way it eliminates a bunch of steps and avoids issues.

H3BO3 commented 3 years ago

I gave the idea of various starter home worlds that users could select to Ryuvi at one point, and it's not too far-fetched to think about this in terms of the marketplace either - Users could just buy/save their own copy of a world that the creator has published for that purpose.

Frooxius commented 3 years ago

Yeah this would fit with that pretty well, users could search for worlds that are made / optimized to be home worlds and that they know they won't run into trouble with. Having a simple "Make this world my home" that does that in one step should work pretty well.

Alternatively we could add UI to auto-start some favorite worlds on startup as well, but those wouldn't be treated as the home world, just a world that auto-opens on start.

Ruikio commented 3 years ago

Yeah this would fit with that pretty well, users could search for worlds that are made / optimized to be home worlds and that they know they won't run into trouble with. Having a simple "Make this world my home" that does that in one step should work pretty well.

Alternatively we could add UI to auto-start some favorite worlds on startup as well, but those wouldn't be treated as the home world, just a world that auto-opens on start.

This is the point of this thread. It's to put out the feature and allow the community to vote if they like the feature or not.

Having to buy/own worlds is something on a different story in my head. If I were to put a world for someone to buy, that allows them to get the files and such of said world unless stated otherwise in the clause.

Your second option is exactly what I'm talking about. Where I live is considered my home. The idea is to allow any user the ability to set whatever world they want as their home world. Not curate and limit their choices. If I want my home to be a meme world. I'd like to have that power.

Set world as home / Auto-start favorited world are exactly the same thing in the context I've provided. As of right now in Neos I cannot say, for example give someone the Small Vibes world orb, and have them save it and then set it as 'favorite' (Heart icon) with Neos' current restrictions. If they can't hit the heart then this feature falls through and we're back at square one.

Hopefully the clarification helps.

chemicalcrux commented 3 years ago

I agree with Froox that Neos homeworlds are not, and should not be, treated the way they are in places like VRC. In the latter, a world is a static place that serves as a backdrop. Conversely, in Neos, the world is a dynamic place that you are actively encouraged to add stuff to. My homeworld is often littered with things I've been tinkering with.

Making it easier to save a copy of a world and favorite it in one go would work, I suppose, but that's only applicable if the world can be re-saved by others. I don't think there is a good way to allow for these "read-only" homeworlds, other than having an extra world that auto-starts.

Ruikio commented 3 years ago

I agree with Froox that Neos homeworlds are not, and should not be, treated the way they are in places like VRC. In the latter, a world is a static place that serves as a backdrop. Conversely, in Neos, the world is a dynamic place that you are actively encouraged to add stuff to. My homeworld is often littered with things I've been tinkering with.

Making it easier to save a copy of a world and favorite it in one go would work, I suppose, but that's only applicable if the world can be re-saved by others. I don't think there is a good way to allow for these "read-only" homeworlds, other than having an extra world that auto-starts.

So instead of allowing players the option, you think limiting a feature that many games utilize and work is the way to go? The disagreement here being we want to be different to remove player choice? At this point it feels like Neos wants the players to have a bunch of options and choices but at the same time... limit what people can do?

If I want a home world that someone made that's really pretty and has things that I personally enjoy, I should be limited. This forces people who create this content into a tough spot aswell. This feature request comes at the behalf of users asking me "How do I save worlds." "How do I set home worlds."

If I have a world that I'm limited in scope set as my home world, I can simply make a new world or go to another world. Quite literally how Neos is as of right now. Players should have control in what they want. Not limited because of personal opinion and preference.

Edit: Worlds are already publicly available when they're published. Just allowing players to click it and hit the heart on it regardless of if they can open it up or not is a little baffling.

It would make more sense however if this feature was tied into out world system UI.

uyjulian commented 3 years ago

I think the solution would be to add "Auto open on startup" and "Auto focus on startup" to the world UI. You can have auto open on multiple worlds at a time, but you can only have auto focus on one world at a time.

Electronus commented 3 years ago

I feel that its more fitting with neos as a whole for users to have total control over their home world. A world you can't save is useless and I would simply turn it off from launching.

Ruikio commented 3 years ago

I think the solution would be to add "Auto open on startup" and "Auto focus on startup" to the world UI. You can have auto open on multiple worlds at a time, but you can only have auto focus on one world at a time.

Auto focus on startup is what I'm pushing for. It's exactly the same as if I was making a world and I clicked the orb and hit the heart. I load into my Local and then immediately the world I favorited. Changing it from the favorite system however becomes a problem with two things doing the same thing and splits the UI. Solirax changing the UI for Neos helped with this problem before. So it may be one or the other? Not sure.

I feel that its more fitting with neos as a whole for users to have total control over their home world. A world you can't save is useless and I would simply turn it off from launching.

I mean it makes sense for those who create. But what about those who don't and want to socialize? Do we ostracize them? There are those who want to exist and add to the community population but just be at the end level of a normal user. Why take the option away from someone? I as a content creator would love having people favorite worlds I publish, but not allow access for them to tear the world apart.

It sets the mood of the day, if I were to bring in personal ideologies for other platforms and other desktop games. I'd come home and put on my VR HMD and then I'd load into a nice calming world.

shiftyscales commented 3 years ago

Literally everyone in this thread is agreeing with you Rukio. I don't know why you have such an argumentative tone, or why you feel the need to try to convince others of your point when everyone is saying the exact same thing with different words.

Frooxius already posted the solution, and that's what others are agreeing wirh as well.

1) Cloud homes as we know them know require and will continue to require full saving access to serve as a persistent space that you can modify as desired.

2) At some point in the future when the marketplace is introduced (or possibly as a world browser tag) there could be a listing of 'home worlds' that fit certain criteria, e.g. being able to be saved/modified.

3) The introduction of a mechanism/corresponding UI to set arbitrary worlds to start on launch alongside the local and cloud home worlds.

Even me lying it out like this is repeating the same thing one more time, but nothing else need be said.

Ruikio commented 3 years ago

Literally everyone in this thread is agreeing with you Rukio. I don't know why you have such an argumentative tone, or why you feel the need to try to convince others of your point when everyone is saying the exact same thing with different words.

Frooxius already posted the solution, and that's what others are agreeing wirh as well.

  1. Cloud homes as we know them know require and will continue to require full saving access to serve as a persistent space that you can modify as desired.
  2. At some point in the future when the marketplace is introduced (or possibly as a world browser tag) there could be a listing of 'home worlds' that fit certain criteria, e.g. being able to be saved/modified.
  3. The introduction of a mechanism/corresponding UI to set arbitrary worlds to start on launch alongside the local and cloud home worlds.

Even me lying it out like this is repeating the same thing one more time, but nothing else need be said.

I wouldn't say it's an argumentative tone. I'd say passion.

  1. I don't know the difference between whatever a cloud home is. Whatever is when you click a world orb in your inventory and favoriting it so you automatically load into it is what I'm referring to.

  2. The talk on marketplace read to me as instead of allowing the player choice, they would only be able to bypass this with curated worlds instead of allowing freedom or having whatever world they chose.

  3. Is the same as 1 sure. Again, from the lack of knowing the difference between what a favorited world is considered.

I'll resign my points to that so other discussions can be held on the thread.

Frooxius commented 3 years ago

Giving people control goes for everyone. Creators should have a degree of control over their content as well, they're the ones who put a lot of effort into it, so we don't want to take control away from them just because they publish a world.

The most important part of GitHub discussion is to first establish what actually can be implemented and what's the best way to go about the problem. Voting comes into play after that. If you want to vote for a very specific implementation, then it might not matter how many votes there are if it's not feasible.

I think the solution I proposed would be best way to handle this - letting you define a list of auto-startup worlds and their session settings. They wouldn't act as home world, it would be just a shortcut to have them automatically start up as if you opened them manually, but they wouldn't be treated as cloud home by other parts of the system. That way we avoid all the complications and bad UX of having an immutable world as your home.

Neos treats the Cloud home a bit differently than other worlds and making the distinction is quite important. To give an example, during early development, one of most common issues was people losing their work when they closed Neos and getting very confused. Even if repeatedly informed they need to hit save first. Having the home auto-save by default solved that issue. It might not be something that affects you, but as developers we need to consider everyone and how even seemingly small changes can impact other users and future development.

Do you feel that defining a "startup list" (it could have just one) of worlds would be sufficient? It would be separate from setting the world as your home, both in the language used in the UI and in the functionality (e.g. clicking shortcut to home won't bring you to that world), but also made simple enough to setup.

That way we could even bundle this request together with work on the headless and use the same UI to configure any worlds you want to run persistently on the cloud and get two birds with one stone.

Toxic-Cookie commented 3 years ago

Your cloud home world is simply a world you automatically load into after loading your local home world when you start Neos yes?

There should be an option to designate any published world as your cloud home world.

Whether or not you would have permission to do anything including saving changes in that particular world should still be dictated by the world permissions set by the author.

If the user doesn't have permission to do anything with this world that they favorited then they can simply close it and no changes would be made.

Additionally, if the user wants to do stuff the world restricts then they must of course start a separate world where they do have those permissions like an empty gridspace.

This isn't a bad thing though since they willingly chose to favorite a world they cannot edit. They understand that they need to be somewhere with permissions to do things the favorited cloud home world does not allow.

This should be trivial to add as long as the mechanisms that handle this kind of thing isn't hard coded into Neos.

I also understand that Neos is different from other social platforms but features that are commonplace like these should be parodied to some degree so that it may gain more adoption over other platforms.

I really felt the need to spell this out to make it as crystal clear as I could.

Toxic-Cookie commented 3 years ago

A world startup list with optional auto focus would most likely work the best in this particular case.

StarfishHidari commented 3 years ago

I like the solution of a world startup list, effectively letting people set a world as their "home" while not being their cloud home, which I understand now has a specific distinction behind it

epicEaston197 commented 2 years ago

I would still like to make a world my home world without taking space up in my inventory and if I want to make a world my home world and I'm not planning on modifying it at all I would like to only save the orb and favorite it

for example 72 Grove Lake and it's a really nice map I like it but I'm not planning on modifying it's fine as it is but if I want to make it my Homeworld I would have to save it without planning on modifying it which it just wastes cloud space

Lexevolution commented 2 years ago

This is technically possible already. If you find a world you like, click "Copy Record URL", and then type this to the Neos bot: /setGroupVarValue G-Neos cloud_home.current USERID RECORDURL and replace USERID with your user ID and RECORDURL with the world record URL you copied.

Ruikio commented 2 years ago

This is technically possible already. If you find a world you like, click "Copy Record URL", and then type this to the Neos bot: /setGroupVarValue G-Neos cloud_home.current USERID RECORDURL and replace USERID with your user ID and RECORDURL with the world record URL you copied.

I'm looking for a simple in game button that you can press to set home worlds. Something ready for consumers. Not a way for those who know the magic words for it.

One of the top FAQ I get as a Mentor/Welcomer is "How do I save worlds as my home world" and I always tell them it's not easily possible at the moment.

If someone told me to do this solution I'd politely say "Thank you but no thanks."

The solution that makes sense for anybody in general is:

(Pre-req) > The world is published

Neos is already criticized for it's lack of guidance in it's confusing UI and functionality. Keep it simple. If it isn't broke don't fix it.

We basically do this when we click the favorite on a world in our inventory. I load into my Local for a split second. Then it puts me in my Dance Studio. Do that... but with worlds you don't own. The UI should be in both the Inventory (In case someone saves the world orb to easily open worlds they like later) and in the World menu. Having some features in the Inventory for worlds but not in the world menu is only going to cause confusion.

TLDR; We need a simple and clear solution for the consumers of Neos. Not a programmer one.

Lexevolution commented 2 years ago

Oh I completely agree it should be more user friendly. The thing I mentioned is just a "for the meantime" due to the lack of updates, and if someone really wants to have a specific world as their homeworld.

I always tell people that there isn't a great way of doing that at the moment, and there's nothing we can do about it. And then I provide a workaround. I never stated that this was the be all and end all solution to this issue.

Yeah workarounds are annoying and complicated, but it's the only thing we have at the moment, apart form adding more and more issues to this github.

It's why I said technically possible. Because to an end user, that command isn't explicitly "setting a home world", but instead "typing a complicated command that somehow changes my home world to the one I want".

Ruikio commented 2 years ago

Oh I completely agree it should be more user friendly. The thing I mentioned is just a "for the meantime" due to the lack of updates, and if someone really wants to have a specific world as their homeworld.

I always tell people that there isn't a great way of doing that at the moment, and there's nothing we can do about it. And then I provide a workaround. I never stated that this was the be all and end all solution to this issue.

Yeah workarounds are annoying and complicated, but it's the only thing we have at the moment, apart form adding more and more issues to this github.

It's why I said technically possible. Because to an end user, that command isn't explicitly "setting a home world", but instead "typing a complicated command that somehow changes my home world to the one I want".

Gotcha. I appreciate the workaround provided for now.

I'd just like to remind to whom it may concern when it comes to bringing the ease of use and UI implementation of "Set as home world" option to published worlds, we want a nice simple way of loading into the game and being brought to an atmosphere that exists on the platform.

Workarounds is not in the interest of retaining players on the platform as it means they need to know about magic words to get it working. Which honestly isn't possible when new players can barely figure out how to close worlds behind them.