decentraland / proposals

Review of community proposals for Decentraland's art and applications
46 stars 16 forks source link

Avatar Size and First Person Controller Parameters #70

Open rdixon22 opened 6 years ago

rdixon22 commented 6 years ago

Name: Avatar Size and First Person Controller Parameters

Purpose: To publish some guidlines in advance about the expected size and scale of default avatars, and the features of the first person controller, so land owners can design content with these things in mind.

First Person Controller Features and Limitations

The First Person Controller (FPC) is defined as the software component that manages the movement of each player, and the player's view, in the Decentraland client. The FPC manages how the player sees and interacts with the world, and has a huge influence on the user experience.

The current FPC in the bronze age editor is the basic FPS controller provided with Unity's Standard Assets. This is fine for the current proof-of-concept, but clearly the controller for the released versions of Decentraland will need to support more features.

This proposal addresses the basic size, movement and capabilities of the FPC and default avatars.

There are a number of other game subsystems that will interact with the FPC that this proposal does not cover, including: avatar customization, weapons systems, vehicles and transport, land-specific microenvironments, destructability of 3d models. Each of these could easily warrant its own in-depth proposals in the future.

screenshot 2017-08-12 22 14 46 (Testing human avatar size, steps and slopes on a Decentraland tile)

The Need for Early Guidelines

It's too soon to code all the details of the FPC, but it seems important to define its parameters and limitations. If we can propose some of these ahead of time, before we start designing all of the content for our land, it will make the design work much easier.

For example, say I want to design a set of buildings that let a player climb up a wall and then jump from rooftop to rooftop. I would need to know:

  1. Can players climb? What things enable a player to climb? Should I put a drainpipe on the side of the building, or a ladder, or a staircase? How do I indicate that this thing is "climbable"?
  2. If I need a staircase, what step-height is allowed by the FPC to let you walk up stairs, or what jump-height is allowed if I expect you to jump from step to step?
  3. Once you're on the roof, what's the normal jump distance, so I can place the buildings the right distance apart to let you jump from roof to roof?

Since these are still early days, we don't need to know all the details right away. But it would be good to have some idea of things like proposed step-height, jump-height, jump-distance, and so on, as we design our first content.

Guidelines Won't Discourage Mods and Enhancements

Many people have mentioned plans to enhance player capabilities in the future with things like jetpacks or wings to let avatars fly, potions that let avatars become giant, and so on.

Clearly mods, add-ons and enhancements will be a big part of the world and the economy in the future. Even so we should have upper limits on what mods can do.

It won't be good if someone can inject mods that "break the game" by letting avatars become 1000 meters tall, fly through the world at near lightspeed, or pass through all surfaces and colliders. Setting some guidelines now, and implementing them in the FPC later, will ensure consistent experiences for users enjoying Decentraland.

Avatar and FPC Parameters

Some of the Avatar and FPC parameters that would be good to know in advance are:

Proposed Guidelines Based on Human Scale

To make the world seems natural to people, the default avatar should probably be "human scale." Of course avatar sizes and shapes will differ wildly in the future, but starting with human scale will give users a familiar frame of reference.

Based on that scale we can propose the following as starting points (all open for discussion of course):

Implications for Land and 3d Models

Based on the above standards (or whatever the final guidelines turn out to be) we can make suggestions for the dimension of common items that land owners might build. For example, to accommodate standard avatars you'd want to build your environment with certain minimums like these:

Once we have the parameters of the FPC worked out, we can then publish suggestions like these, which will greatly help land owners and model designers.

Land-specific Adaptations

Some land developers will want to change the scale or even the physics behavior within the boundaries of their owned land. For example, someone might want to create a 1/100th scale miniature city within one parcel of land, and have avatars shrink to a fraction of their normal size to experience it. In a case like this, the parameters of the FPC would have to scale as well.

Guidelines should probably be put in place to let owners know "how low can they go" when it comes to changing scale, and whether avatars can change scale to match or not.

FPC Mod Architecture

The controller will need to interface with the eventual avatar system in order to understand the specific capabilities of the avatar being used, and any enhancements provided by the avatar's equipped items. Publishing guidelines about future limits to avatar speed and so on will help people when they create performance-enhancing objects and equipment.

When designing the FPC software, it will be good to plan for modifications or plug-ins that can change the capabilities of the first-person player as they move through the environment. In other words, future modification will be allowed in certain dimensions and within certain parameters.

A plug-in architecture could also be proposed to allow future features to be added on to the FPC -- for example, a "stealth" plug-in could let avatars become invisible for a limited amount of time before reappearing.

Conclusion

There is one question that can drive many of the guidelines proposed here: Can we assume that the default avatar will be human-sized? If so, most of the dimensions listed above will make sense, and can be published for reference by land designers.

Beyond that, there are a lot of questions to answer about future capabilities of the FPC. Features like climbing and flight can probably be deferred for a while, until the Decentraland client apps are being built.

The issue of ethereal avatars that can pass through anything might need to be addressed sooner. If avatars won't collide with objects in the environment, then every object face should probably be designed to be two-sided, so players never experience objects turning invisible when viewed from the wrong angle. Deciding now that avatars will collide with the environment, and not pass through everything, will simplify the 3d modeling work for everyone going forward.

Rob (rdixon on slack)

v1nc3nz0 commented 6 years ago

If avatar sizes can be scaled, entire worlds could be built at the micro level within each district. I can foresee this leading to much greater use of space within each district via shrinking functions akin to taking a vial that says "drink me". While that leads to some interesting idea's or themes, it could also devalue land by reducing the need to own several blocks for larger projects.

rdixon22 commented 6 years ago

@v1nc3nz0 I could definitely see avatar scaling becoming an issue. As you said it could devalue land. In fact, if you could scale avatars down to 1/100th of their size, why wouldn't everyone just build their land contents at 1/100th scale and get 10,000x the buildable land space for free? This might have to b one of the restrictive guidelines that's set up in the decentraland client, to prevent "shrinkage."

The other option might be to allow shrinking avatars and "tiny cities", but force restrictions on the fidelity or resolution of the content. For example, if there is a strict limit on the number of vertices in the 3d models, or the resolution of textures that can be applied, that might discourage some people from going the tiny city route. So they could build a tiny city, but it would have to be low poly with simple textures, for example, to fit inside the limits.

cfravel commented 6 years ago

I really appreciate this thread to begin to get guidelines and best practices defined. Here are some of my thoughts on these matters:

Thoughts on Size Guidelines Some areas might be great for fantasy. There be Dragons. Dragons can and in some cases should be very large compared to normal-sized humans. I think that suggestions for normal humanoid size are really important, but that max and min size should be allowed a lot of leeway. 15 years of community experience in Second Life shows a few things:

  1. MOST people WANT their avatars to fit the customary sizes, more or less, so they can socialize normally, so they can visit buildings, etc.
  2. There is some tendency to avatar size inflation over time. I think that the most typicial height of AVIs these days in SL is about 1.25 times RL heights. My avi there, for example, is on the tallish side, probably equivalent of about 6' or 6.2' in RL, but in SL it is actually 7.7 ft tall. I do not tower over others, and don't appear to be a natural basketball player. In their second genearation platform, Sansar, Linden decided to start avis at a fixed uniform height - 2m for men, a bit less for women, and they provide a statue of each to use for reference in building. Decentralized 'control' in DCL would argue for the other end of the spectrum: suggestions, the development of cultural standards, and freedom to conform or not. In SL i have seen a couple of giants, and thousands of 'normal sized' humans. Size inflation also applies to other aspects of anatomy, it seems, too.
  3. There are, in SL, whole communities of tinies, pixies, fae, some of thich are petite or very tiny. Their resolution is very high, not resticted. They are beautiful and appropriate. I do not think that tinies should be disallowed or hobbled just to make sure land is rare and hence valuable for others. Land value will be a long term growth more due to people wanting to be in DCL with land, than in restricting how people use land (which could actually be counterproductive to land value growth).

Thoughts on flight, chat, and security controls

  1. I like the ability to fly sometimes. I usually walk or run when I'm with others, but going flying alone, or as a social activity to see many places, is a very nice thing, too.
  2. I also like the ability of some region owners to disallow flying, if they want their region to have certain restrictions to make it immersive according to the style they want. For example, in Second Life most places allow flying and audio chat. A few, like Oxbridge University, allow neither, for very good reasons. They want to make the environment Victorian/SteamPunk (in which people don't fly without special steampunk flight vehicles), and talking is suppressed at the University itself because it is a newbie training area and would otherwise be even easier for trolls to be griefers to that teaching/learning process. The faculty at Oxbridge can escalate sanctions against a griefer: mute/freeze them temporarily, eject them temporarily, ban them permanently. The opposite experience is seen and heard at some of the other newbie hubs: lots of nudity, lewd talk, some of it enjoyed by those there, some find it very unpleasant and as newbies don't know how to handle it, get scared, never come back, and now you have bad press.
  3. It would be good to suggest a recommended zone (such as 500m to 1000m altitude) that is typically left open for flight. High enough to allow skyscrapers some places. Low enough that you can see the ground at least at a low LOD.
  4. Thought needs to be given what happens if you attempt to fly into an area that dissalows flying. Are you unable to enter it flying? Do you fall?

About use of vertical space, physics, and water...

  1. It should be possible to create a platform or skybox at altitude that doesn't fall to the ground. Second Life does this by each object having some properties, like whether it has mass, whether it is "phantom", etc.
  2. Massless objects stay where you put them in the sky, and you can build on or in them, and, if not phantom, walk on them, drop things on them, etc.
  3. Phantom object can be walked through, or fallen through. Non-phantom objects have collisions. This is a very workable scheme, allowing the creator to determine whether a wall is solid (doesn't need texture on backside) or not, and the the combination of massless and non-phantom enables sky platforms and skyboxes, to make great use of altitude without relying on towers everywhere.
  4. One way to have realistic water is to have the concept of sea level. Above that is land and air. Below that is submarine. SL has sealevel at a consistent level (about 20m in most regions) for consistency in adjacent lands. It is possible to build down below sealevel to 0m). I suggest that in DCL we may want to state a standard of sea level, perhaps even at 0 or slightlly below, with a lot of opportunity to terraform below that (sea floor), even to great depths.
  5. At some point I hope that really great water is built, so that one can put waves, or at least great animated textures on it, float and saile a boat on it, swim in it, live under it, etc. A world without water is a pretty dry existence.

Viewers and Clients If there are standards, the viewer clients must participate. Many of these restrictions, if they will exist as actual restrictions rather than merely common practice, will need to be in, or respected by, the viewers. I suppose that means that a viewer could be made that allows you to break all the rules.

Intellectual Property Ownership and Economy It seems that DCL is on a path to having no intrinsic protection of intellectual property. This is because, since the client will be open source, or able to be made by anyone based on APIs, and since the rendering takes place on the viewer, not on the blockchain or storage, the full model will be on the client and one could make an object-theft addon to a client. This has been a huge problem in Second Life. People build beautiful stuff, turn it into a lucrative livelihood, quit their day job, and then have all their objects stolen and sold at a huge discount by someone else. In Sansar, Linden decided to take a very different approach. The client is completely proprietary and closed, and the content is encrypted all the way to the rendering engine. I think that in DCL, the way to make money will be through distinct service and vibrant community, and/or in out-of-world services, not through thinking that your land usage or especially your objects are your gold. Someone can buy land, copy your wonderful [casino|store|danceclub|whatever] and put the copy on their land. Value will be social more than "material". That said, someone might invent very clever, even blockchain-based, ways of identifying ownership. I don't think it has been figured out as a purely technical matter in any tokenized asset environment yet, at some point it requires human cooperation and trust. Looking forward to be proven wrong. But I think that overall DCL will be more about community, service, and relationships than about stuff=wealth.