decentraland / proposals

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

Phased Land #10

Open jcyr opened 7 years ago

jcyr commented 7 years ago

To enable long form story content, multiverse, complicated game mechanics, competitive group play, ability to handle mass crowds, etc. I propose to support phasing of land.

Simple Example: Person A enters property and sees a day lit scene in a city park. As Person A engages in the scene she unlocks the next phase of the land which converts to a murder mystery to be solved at dusk. New items are on the land, possibly moved items. Scripts of interaction are added/changed. While Person A is engaging with the second phase of the murder mystery Person B enters, but does not see Person A or the mystery scene. Person B sees the day lit city park, hanging out with all others that are currently in the first phase of the land.

Phased land should ideally be optional, and without restriction on number of phases, non linear in progression (perhaps with simple scripting to dictate progression of phases).

Possible triggers for phase change: Possession of certain attribute, item, tag.
Belonging to some group/cohort.
Reputation. Time span. Age of person. Payment of X amount (one time or subscription). Has visited land parcel xyz. Specific dates/spans (holiday themes of land for example). Groups indicate ready to enter (see below).

Multiple games (mmo and otherwise) make use of phased content. In multiplayer environments it also helps provide control for specific types of group engagement. For example paintball with 4 v 4 teams. Many competitive games make use of this forced constraint. New phases are created once X number of teams are ready. All using the same land(map).

A completely different example might be a Mario Cart style experience. Again where the map is reset for new small teams, but the land is the same parcel.

saskakol commented 7 years ago

I think this could be possible if the scripting language of Decentraland allows for changes to the environment on both the client and server side.