Automatically suggest suitable content

The described solution addresses the challenge of ensuring content suitability across diverse audiences by implementing a method for automatic content analysis and generation of alternatives, enabling efficient compliance with local regulations and user preferences.

JP7656729B2Active Publication Date: 2025-04-03ROBLOX CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023571679
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-18
Filing Date
2022-05-18
Publication Date
2025-04-03
Estimated Expiration
2042-05-18

AI Technical Summary

Technical Problem

Existing online virtual experience platforms face challenges in ensuring that virtual content is suitable for diverse user audiences across different regions, age groups, and cultural backgrounds, due to varying local regulations and user preferences.

Method used

A computer-implemented method and system that automatically analyze and rate virtual experience content, generating content alternatives that comply with local regulations and user settings, allowing for the presentation of suitable content to a wider audience.

Benefits of technology

The solution enables online virtual experience platforms to efficiently provide content that adheres to local regulations and user preferences, expanding audience reach while ensuring content suitability and compliance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007656729000002
    Figure 0007656729000002
  • Figure 0007656729000003
    Figure 0007656729000003
  • Figure 0007656729000004
    Figure 0007656729000004
Patent Text Reader

Abstract

Implementations described herein relate to methods, systems, and computer-readable media for automatically presenting suitable content for a particular audience. In some implementations, the computer-implemented method includes receiving virtual experience content, the virtual experience content including content associated with a first virtual experience associated with a first target audience and restricted as invisible by a second target audience, receiving at least one content alternative, generating a first rating for the received virtual experience content and a second rating for the at least one content alternative, and automatically providing only one of the received virtual experience content or the at least one content alternative to a user device based on the first rating and the second rating.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. Provisional Application No. 63 / 189,964, entitled "Automatic Presentation of Suitable Content," filed May 18, 2021, the entire contents of which are incorporated herein by reference.

[0002] FIELD OF THE DISCLOSURE

[0002] Embodiments relate generally to computer-based gaming and virtual experiences, and more particularly to methods, systems, and computer-readable media for the automated presentation of preferred content. [Background technology]

[0003] Some online platforms (e.g., gaming platforms, media exchange platforms, virtual experience platforms, etc.) allow users to connect with each other, interact with each other (e.g., within games or virtual experiences), create games, and share information with each other over the Internet. The online platforms may also provide gaming content. Thus, because gaming content is produced for a first region, locale, and / or age group, it follows that users in other regions, locales, or age groups may desire similar or the same gaming content.

[0004] To provide virtual content to users in other regions and audiences of different age groups or other demographics, game developers must devote resources to ensure that the gaming content is suitable for the target group. Because different regions have different rules and standards for the presentation of virtual content, as well as different cultural preferences and users with different content preferences, ensuring that the content of a virtual experience is suitable for a particular group of users can be difficult or tricky. Moreover, some regions may allow some parts of the content (e.g., adult language) while completely restricting others (e.g., loot boxes, depictions of violence), further complicating providing localized content to multiple regions or locales.

[0005] Exemplary embodiments that overcome these and other shortcomings are presented herein.

[0006] The background discussion provided herein is intended to provide a context for the present disclosure. The work of the presently named inventors to the extent described in this background section, as well as aspects of the discussion that may not qualify as prior art at the time of filing, are not admitted expressly or implicitly as prior art to the present disclosure. Summary of the Invention [Means for solving the problem]

[0007] According to one aspect, a computer-implemented method of presenting preferred content is provided. The computer-implemented method may include receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience, receiving at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or replacing a portion of content from the received virtual experience, generating a first rating for the received virtual experience content and a second rating for the at least one content alternative, and automatically providing only one of the received virtual experience content or the at least one content alternative to a user device based on the first rating and the second rating.

[0008] In some implementations, the computer-implemented method may further include receiving a request from a developer of the first virtual experience to generate at least one content alternative, the request including one or more parameters, and automatically generating, in response to the request, at least one content alternative based on the one or more parameters, the at least one content alternative being based on the received virtual experience content and different from the received virtual experience content.

[0009] In some implementations, the one or more parameters comprise one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter.

[0010] In some implementations, the computer-implemented method may further include receiving a content rating request from a developer associated with the received virtual experience content, wherein generating the first and second ratings is in response to the content rating request.

[0011] In some implementations, generating the first rating and the second rating includes receiving from the developer a self-rating of the received virtual experience content and a self-rating of at least one content alternative, and receiving the self-rating of the received virtual experience content and a self-rating of the at least one content alternative includes receiving from the developer at least one flag associated with a portion of the received content indicating that the portion is not suitable for a particular user demographic or target audience.

[0012] In some implementations, a first target audience is associated with a first locale and a second target audience is associated with a second locale, the first rating is a rating based on a first set of local rules associated with the first locale, and the second rating is a rating based on a second set of local rules associated with the second locale.

[0013] In some implementations, the computer-implemented method may further include indexing at least one content alternative in the library of content alternatives based on one or more parameters, where the one or more parameters comprise one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter.

[0014] In some implementations, the automatically providing step includes determining that the first rating is favorable for a user associated with the user device, and providing the received virtual experience content to the user device in response to determining that the first rating is favorable for the user.

[0015] In some implementations, the automatically providing step includes determining that the first rating is not suitable for a user associated with the user device, determining that a second rating is suitable for the user in response to determining that the first rating is not suitable, and providing at least one content alternative to the user device in response to determining that the second rating is suitable for the user.

[0016] In some implementations, the computer-implemented method further includes altering a search engine weighting of the received virtual experience content based on the first rating and the second rating.

[0017] In some implementations, the first rating and the second rating are age-based ratings that identify a maximum age of an audience for which the content having the first rating and the content having the second rating, respectively, are acceptable.

[0018] In some implementations, generating the first rating and the second rating includes receiving a first self-rating of the received virtual experience content and a second self-rating of at least one content alternative from a developer of the received virtual experience content, obtaining a descriptor based on the first self-rating and the second self-rating, and automatically generating the first rating and the second rating based on the obtained descriptor.

[0019] In some implementations, the first self-rating and the second self-rating are based on a rating questionnaire, and the identification of the unsuitable content is based on one or more responses to the questionnaire.

[0020] In another aspect, a system is provided. The system may include a memory having instructions stored thereon and a processing device coupled to the memory. The processing device may be configured to access the memory and execute the instructions, causing the processing device to perform operations including receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience; receiving at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or replacing a portion of content from the received virtual experience; generating a first rating for the received virtual experience content and a second rating for the at least one content alternative; and automatically providing only one of the received virtual experience content or the at least one content alternative to the user device based on the first rating and the second rating.

[0021] In some implementations, the operations further include receiving a request to generate at least one content alternative from a developer of the first virtual experience, the request including one or more parameters, and automatically generating at least one content alternative in response to the request using the one or more parameters, the at least one content alternative being based on and different from the received virtual experience content.

[0022] In some implementations, the one or more parameters comprise one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter.

[0023] In some implementations, generating the first rating and the second rating includes receiving from the developer a self-rating of the received virtual experience content and a self-rating of the at least one content alternative, and receiving the self-rating of the received virtual experience content and the self-rating of the at least one content alternative includes receiving from the developer at least one flag associated with a portion of the received content indicating that the portion is not suitable for a particular user demographic or target audience.

[0024] In some implementations, a first target audience is associated with a first locale and a second target audience is associated with a second locale, the first rating is a rating based on a first set of local rules associated with the first locale, and the second rating is a rating based on a second set of local rules associated with the second locale.

[0025] In some implementations, generating the first rating and the second rating includes receiving, from a developer of the received virtual experience content, a first self-rating of the received virtual experience content and a second self-rating of at least one content alternative, where the first self-rating and the second self-rating are based on a rating questionnaire; obtaining descriptors based on the first self-rating and the second self-rating; and automatically generating the first rating and the second rating based on the obtained descriptors.

[0026] In another aspect, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium may have instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations including receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience, receiving at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or replacing a portion of content from the received virtual experience, generating a first rating for the received virtual experience content and a second rating for the at least one content alternative, and automatically providing only one of the received virtual experience content or the at least one content alternative to the user device based on the first rating and the second rating.

[0027] According to yet other aspects, portions, features, and implementation details of the systems, methods, and non-transitory computer-readable media may be combined to form additional aspects, including some aspects that omit and / or modify some or portions of the individual components or features, include additional components or features, and / or other modifications, all such modifications being within the scope of the disclosure. [Brief description of the drawings]

[0028] [Figure 1] FIG. 1 illustrates an example network environment for automatic presentation of preferred content, according to some implementations. [Diagram 2] FIG. 1 illustrates an example network environment for automatic presentation of preferred content, according to some implementations. [Diagram 3] FIG. 2 illustrates an exemplary presentation of preferred content, according to some implementations. [Figure 4] 1 is a schematic diagram of a developer user interface according to some implementations. [Diagram 5] 1 is a schematic diagram of a developer user interface according to some implementations. [Figure 6] 1 is a flowchart illustrating an example method for automatic presentation of preferred content, according to some implementations. [Figure 7] 1 is a flowchart illustrating another example method for automatic presentation of preferred content, according to some implementations. [Figure 8] FIG. 1 is a block diagram illustrating an exemplary computing device, according to some implementations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0029] In the following detailed description, reference is made to the accompanying drawings, which form a part of this application. In the drawings, like symbols typically identify like components unless the context dictates otherwise. The exemplary embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. The aspects of the present disclosure, as generally described herein and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are contemplated herein.

[0030] References herein to "some embodiments," "one embodiment," "exemplary embodiments," and the like indicate that the described embodiments may include a particular feature, structure, or characteristic, but not every embodiment may necessarily include that particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with one embodiment, such feature, structure, or characteristic may also be implemented in connection with other embodiments, whether or not explicitly described.

[0031] An online virtual experience platform (also referred to as a "user-generated content platform" or "user-generated content system") provides various ways for users to interact with each other. For example, users of an online virtual experience platform may work together toward a common goal, share various virtual content items, send electronic messages to each other, etc. Users of an online virtual experience platform may participate in a game or experience as a virtual character playing an experience-specific role. For example, a virtual character may be part of a team or multiplayer environment, where each character is assigned a role and has associated parameters corresponding to the role, e.g., clothing, armor, weaponry, skills, etc. In another example, when a single player is part of a game, for example, the virtual character may be joined by one or more non-player characters (NPCs), which may be computer-generated characters. In another example, a virtual character acts alone or in combination with other virtual characters to engage in a virtual environment and / or virtual experience.

[0032] The online virtual experience platform may also enable users (developers) of the platform to create new experiences, characters, and / or other content. For example, users of the online virtual experience platform may be enabled to create, design, and / or customize new characters or avatars, items, or other content, and make them available to other users.

[0033] New user content may be generated and associated with a particular online experience (or may be made available for use in multiple virtual experiences offered by the virtual experience platform). The new user content may be targeted to a particular audience, region, or locale, although "association" is independent of where and by whom the content is generated. The audience may include a target audience of a particular demographic and / or age group. A particular demographic may include age, gender, or other demographics. The region / locale may be used to determine characteristics such as words (for text content), appearance (for images), animation type, or any other content attribute. A region or locale may refer to a geographic region, e.g., a city, state, country, continent, etc., or a geographic region defined in other ways (e.g., by local government, regulations, etc.). When an experience is accessed or played by users in a separate region, the new content is typically subject to the inherent governance of the locale, such as relating to restrictions on access to the content based on age and / or local rules. For example, a locale may restrict user content related to gambling, certain paraphernalia, monetization of game content, language, etc. For example, a locale may also restrict user content based on age. As an additional example, a locale may allow parents or users to identify preferences that may automatically restrict content.

[0034] Additionally, the described techniques can also customize content for a particular demographic. For example, new user content may be generated and associated with a particular online experience. The new user content may be targeted to a particular demographic, although the "association" is independent of where the content is generated. The targeted demographic may include an age group, such as general audience, children, young adults, adults, or other age groups. The targeted demographic may also include demographic groups, such as male or female players, or other demographics. Thus, while the examples described herein may include targeted audience, region, or locale specific examples, the described techniques also include targeted groups of players based on demographics, regardless of locale, in some implementations. In various implementations, the target audience for providing tailored content for a game or virtual experience may be determined based on a combination of various attributes, such as age, gender, locale, language, or other factors.

[0035] The virtual experience content may be generated for a first region or locale as well, so that when that experience is to be accessed or played by a player in a different region, the associated content is also typically subject to restrictions to the content for the new region.

[0036] The objectives of a virtual experience platform owner or administrator may include rating new user content, virtual experience content, and any other content associated with a virtual environment or experience so that only suitable content is presented for viewing for a target audience. A technical problem for platform operators is ensuring suitability of content associated with the platform for various users or players, which may include complex regional, age group, demographic, or locale specific restrictions on certain content.

[0037] An online virtual experience platform can be large and reach multiple locales that include restrictions on content that change over time, thus allowing the virtual experience platform to effectively present content in accordance with local regulations, user preferences, and / or parental controls, accurately rating or, in some cases, ensuring that suitable content is displayed for an associated target audience.

[0038] For example, in traditional content presentation, virtual experience platform operators must engage in a lengthy process whereby locale-specific users and / or regulatory agencies vet content in order to rate the particular content. This can cause delays, including vetting, quality control, and other methods to ensure that only appropriate content is delivered to a particular locale and to the appropriate audience over a medium. However, online virtual experience platforms are constantly producing new content or receiving content from users (e.g., developers), making it difficult or impossible to employ traditional approaches.

[0039] The present disclosure addresses the above-described deficiencies by providing a novel network environment and method for automatically analyzing and rating virtual experience content for a target audience, a specific demographic, and / or a new locale, and providing a virtual experience that complies with various regulations and matches user settings related to content suitability. Developers may be presented with user interfaces and application programming interfaces (APIs) that enable self-rating of different aspects of the virtual experience (e.g., characters or avatars, virtual experience items, virtual content items, in-experience objectives / activities, etc.). Additionally, the described techniques provide for automatic generation and storage of alternative virtual experience content that is more suitable for the restrictive locale and / or for other age groups. The virtual experience content may be rated, parsed / indexed, and stored for delivery to the desired target audience, such that users accessing the experience from a different locale may be presented with content that is suitable for their demographic and / or their respective locale.

[0040] The network environment may also enable virtual experience developers to utilize APIs (e.g., provided by the virtual experience platform) to obtain locale-specific and / or parental and / or tier guidelines, generate and provide a library of alternative content, and in some cases ensure that their virtual experience is suitable content for presentation in a particular locale and / or to a particular audience. Through the automatic rating and storage of alternative virtual experience content, a larger audience can be reached while ensuring that a high quality online experience is generally commensurate with other locales and age groups.

[0041] FIG. 1 illustrates an example network environment 100 according to some implementations of the present disclosure. FIG. 1 and other figures use similar reference numbers to identify similar elements. A letter following a reference number, such as "110," indicates that the text refers specifically to the element with that particular reference number. A reference number in text without a following letter, such as "110," refers to any or all of the elements in the figure with that reference number.

[0042] The network environment 100 (also referred to herein as the "system") includes an online virtual experience platform 102, a first client device 110, and a second client device 116 (generally referred to herein as "client devices 110 / 116"), all connected via a network 122. The client device 110 may be associated with a first audience A, and the second client device 116 may be associated with a second audience n. The network 122 may enable communication across any number of locales or regions and provide communication between the client devices 110 / 116 and the online virtual experience platform 102.

[0043] The online virtual experience platform 102 can include, among other things, a virtual experience engine 104, one or more virtual experiences 105, an API 106, and a data store 108. The client device 110 can include a virtual experience application 112. The client device 116 can include a virtual experience application 118. Users 114 and 120 can use the client devices 110 and 116, respectively, to interact with the online virtual experience platform 102.

[0044] Network environment 100 is provided for illustrative purposes. In some implementations, network environment 100 may include the same, fewer, more, or different elements, configured in the same or different manner as shown in FIG.

[0045] In some implementations, the network 122 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network, a Wi-Fi network, or a wireless LAN (WLAN)), a cellular network (e.g., a Long Term Evolution (LTE) network), a router, a hub, a switch, a server computer, or a combination thereof.

[0046] In some implementations, the data store 108 may be a non-transitory computer-readable memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device capable of storing data. The data store 108 may also include multiple storage components (e.g., multiple drives or multiple databases), which may be spread across multiple computing devices (e.g., multiple server computers).

[0047] In some implementations, the online virtual experience platform 102 may include a server (e.g., a cloud computing system, a rack-mounted server, a server computer, a cluster of physical servers, a virtual server, etc.) having one or more computing devices. In some implementations, the server may be included in the online virtual experience platform 102, may be a separate system, or may be part of another system or platform.

[0048] In some implementations, the online virtual experience platform 102 may include one or more computing devices (such as rack-mounted servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data stores (e.g., hard disks, memory, databases), networks, software components, and / or hardware components that may be used to execute operations on the online virtual experience platform 102 and to provide users with access to the online virtual experience platform 102. The online virtual experience platform 102 may also include websites (e.g., one or more web pages) or application backend software that may be used to provide users with access to content provided by the online virtual experience platform 102. For example, users may access the online virtual experience platform 102 using virtual experience applications 112 / 118 on client devices 110 / 116, respectively.

[0049] In some implementations, the online virtual experience platform 102 may include a type of social network that provides connections between users, or a type of user-generated content system that allows users (e.g., end users or consumers) to communicate with other users via the online virtual experience platform 102, where the communication may include voice chat (e.g., synchronous and / or asynchronous voice communication), video chat (e.g., synchronous and / or asynchronous video communication), or text chat (e.g., synchronous and / or asynchronous text-based communication). In some implementations of the present disclosure, a "user" may be represented as a single individual. However, other implementations of the present disclosure encompass a "user" (e.g., a creating user) that is a set of users or an entity controlled by an automated source. For example, a set of individual users that are federated as a community or group in a user-generated content system may be considered a "user." Additionally, in some implementations, a particular age group, and / or demographic, and / or locale may be associated with a user and the user's client device. In these implementations, the user data may be used to identify a particular age group, and / or demographic, and / or locale for content presentation control as described herein.

[0050] In some implementations, the online virtual experience platform 102 may be a virtual gaming platform. For example, the gaming platform may provide single-player or multiplayer games to a community of users who may use client devices 110 / 116 to access or interact with games (e.g., user-generated games or other games) via the network 122. In some implementations, the games (also referred to herein as "video games," "online games," or "virtual games") may be, for example, two-dimensional (2D) games, three-dimensional (3D) games (e.g., 3D user-generated games), virtual reality (VR) games, or augmented reality (AR) games. In some implementations, users may search for games and game items and participate in gameplay with other users in one or more games. In some implementations, games may be played in real time with other users of the games.

[0051] In some implementations, other collaboration platforms may be used with the rating and presentation functionality described herein instead of or in addition to the online virtual experience platform 102. For example, social networking platforms, purchasing platforms, messaging platforms, creation platforms, etc. may be used.

[0052] In some implementations, "gameplay" may also generally refer to the interaction of one or more users using a client device (e.g., 110 and / or 116) within a virtual experience (e.g., 105), or the presentation of the interactions on a display or other output device of client device 110 or 116.

[0053] One or more virtual experiences 105 are provided by an online virtual experience platform. In some implementations, the virtual experiences 105 may include electronic files that can be executed or loaded using software, firmware, or hardware configured to present virtual content (e.g., digital media items) to an entity. In some implementations, a virtual experience application 112 / 118 may be executed and the virtual experience 105 may be rendered with a virtual experience engine 104. In some implementations, the virtual experiences 105 may have a common set of rules, or a common objective, and the virtual environments of the virtual experiences 105 share a common set of rules, or a common objective. In some implementations, different experiences may have different rules or objectives from each other.

[0054] In some implementations, a virtual experience may have one or more environments (also referred to herein as "virtual environments") to which multiple environments may be linked. An example of an environment may be a three-dimensional (3D) environment. One or more environments of a virtual experience 105 may be collectively referred to herein as a "world" or a "gaming world" or a "virtual world" or a "universe" or a "metaverse." An example of a world may be the 3D world of a virtual experience 105. For example, a user may build a virtual environment that is linked to another virtual environment created by another user. A character of a virtual experience may cross a virtual boundary to enter an adjacent virtual environment.

[0055] It may be noted that a 3D environment or world uses graphics that use three-dimensional representations of geometric data that represent the virtual content (or at least presents the virtual content to appear as 3D content, regardless of whether a 3D representation of geometric data is used), whereas a 2D environment or world uses graphics that use two-dimensional representations of geometric data that represent the virtual content.

[0056] In some implementations, the virtual experience may have alternative content (described in more detail with reference to FIG. 2) stored in a library of alternatives. The alternative content may be produced by a developer through use of the API 106 or its instructions and may include alternative content for presentation to different target audiences and / or in different locales. Thus, the online virtual experience platform 102 may present alternative content for audience n compared to audience A. The alternative content may include multiple pieces of content, each rated differently based on demographics, age, or other factors.

[0057] In some implementations, the online virtual experience platform 102 can host one or more virtual experiences 105 and allow users to interact with the virtual experiences 105 (e.g., search for experiences, related content, or other content) using virtual experience applications 112 / 118 on client devices 110 / 116. Users (e.g., 114 and / or 120) of the online virtual experience platform 102 may play the virtual experiences 105, create, interact with, or build the virtual experiences 105, search the virtual experiences 105, communicate with other users, create and build objects (e.g., also referred to herein as "items" or "virtual objects" or "virtual game items") of the virtual experiences 105, and / or search for objects. For example, in generating a user-generated virtual item, a user may create a character, decorations for a character, one or more virtual environments for an interactive experience, or build a structure to be used in the virtual experience 105, among other things.

[0058] In some implementations, users of the online virtual experience platform 102 (e.g., 114 and / or 120) may create, build, and rate the virtual experience 105 through use of the API 106. During creation and building, or afterwards, users of the online virtual experience platform 102 may rate the created experience and / or environment in whole or in part. Rating may be facilitated through self-rating questionnaires and / or surveys, such that presentation of content suitable for a particular audience or locale is possible by presenting only content rated as suitable by the developing user. Additionally, through rating specific parts and creating corresponding alternative parts with different ratings, virtual experiences with alternative content suitable for a particular audience and / or locale may be facilitated.

[0059] In some implementations, users may buy, sell, or trade virtual objects, such as currency (e.g., virtual currency) within the platform, with other users of the online virtual experience platform 102. In some implementations, the online virtual experience platform 102 may transmit virtual content to a virtual experience application (e.g., 112). In some implementations, virtual content (also referred to herein as "content") may refer to any data or software instructions (e.g., objects, environments, experiences, user information, videos, images, commands, media items, etc.) associated with the online virtual experience platform 102 or a virtual experience application.

[0060] In some implementations, a virtual object (e.g., also referred to herein as an "item" or "object" or "virtual game item") may refer to an object that is used, created, shared, or otherwise depicted in a virtual experience 105 of the online virtual experience platform 102, or in a virtual experience application 112 or 118 of a client device 110 / 116. For example, virtual objects may include parts, models, characters, tools, weapons, clothing, buildings, vehicles, currency, flora, fauna, components of the above (e.g., a window in a building), and the like.

[0061] In some implementations, virtual objects and virtual game objects may also have suitable alternatives created by users of the online virtual experience platform 102. In this manner, if a particular locale has restrictions on virtual currency or other virtual objects, the user may specify appropriate alternative virtual objects for deployment in those locales. Similarly, if a particular locale has restrictions on tools or weapons, the user may specify alternative virtual objects for deployment in those locales. Additionally, alternative content appropriate for multiple age groups or targeted to more mature groups may also be created through the API 106.

[0062] It may be noted that the online virtual experience platform 102 hosting the virtual experience 105 is provided for illustration and not limitation. In some implementations, the online virtual experience platform 102 may host one or more media items, which may include communication messages from one user to one or more other users. Media items may include, but are not limited to, digital videos, digital movies, digital photos, digital music, audio content, melodies, website content, social media updates, e-books, e-magazines, digital newspapers, digital audiobooks, e-journals, web blogs, real simple syndication (RSS) feeds, e-comic books, software applications, and the like. In some implementations, the media items may be electronic files that can be executed or loaded using software, firmware, or hardware configured to present the digital media items to entities.

[0063] In some implementations, the virtual experience 105 may be associated with a particular user or a particular group of users (e.g., a private virtual experience) or may be made generally available to users of the online virtual experience platform 102 (e.g., a public virtual experience). In some implementations, when the online virtual experience platform 102 associates one or more virtual experiences 105 with a particular user or group of users, the online virtual experience platform 102 may use user account information (e.g., a user account identifier such as a username and password) to associate a particular user with the virtual experience 105. In these situations, the API 106 may also facilitate privatizing certain virtual experiences or virtual content such that they may be rated by a private group to help determine suitable content for a particular audience or a particular locale, or combinations thereof. Upon rating, and possibly generating suitable alternative content, some virtual experiences may then become public virtual experiences with alternative content presented according to a particular locale, demographic, age group, and / or other considerations.

[0064] In some implementations, the online virtual experience platform 102 or the client device 110 / 116 may include a virtual experience engine 104 or a virtual experience application 112 / 118. The virtual experience engine 104 may include a virtual experience application similar to the virtual experience application 112 / 118. In some implementations, the virtual experience engine 104 may be used for the development or execution of the virtual experience 105. For example, the virtual experience engine 104 may include, among other features, a rendering engine ("renderer") for 2D, 3D, VR, or AR graphics, a physics engine, a collision detection engine (and collision response), a sound engine, scripting capabilities, an animation engine, an artificial intelligence engine, networking capabilities, streaming capabilities, memory management capabilities, threading capabilities, scene graph capabilities, or video support for cinematics. Components of the virtual experience engine 104 may generate commands (e.g., rendering commands, collision commands, physics commands, etc.) that aid in the calculation and rendering of the virtual experience. In some implementations, the virtual experience applications 112 / 118 of the client devices 110 / 116 may each operate independently, in conjunction with the virtual experience engine 104 of the online virtual experience platform 102, or a combination of both.

[0065] In some implementations, both the online virtual experience platform 102 and the client devices 110 / 116 run a virtual experience engine (104, 112, and 118, respectively). The online virtual experience platform 102 using the virtual experience engine 104 may perform some or all of the virtual experience engine functions (e.g., generate physics commands, rendering commands, etc.) or offload some or all of the virtual experience engine functions to the virtual experience engine 104 of the client device 110. In some implementations, each virtual experience 105 may have a different ratio between the virtual experience engine functions running on the online virtual experience platform 102 and the virtual experience engine functions running on the client devices 110 and 116.

[0066] For example, the virtual experience engine 104 of the online virtual experience platform 102 may be used to generate physics commands when there is a collision between at least two virtual objects, but additional virtual experience engine functions (e.g., generating rendering commands) may be offloaded to the client device 110. In some implementations, the ratio of virtual experience engine functions executed on the online virtual experience platform 102 and the client device 110 may be changed (e.g., dynamically) based on an interaction or "game play" state. For example, if the number of users participating in the virtual experience 105 exceeds a threshold number, the online virtual experience platform 102 may execute one or more virtual experience engine functions previously executed by the client device 110 or 116.

[0067] For example, a user may be engaged in the virtual experience 105 on client devices 110 and 116 and may send control instructions (e.g., user inputs such as right, left, up, down, etc., user selections, or character position and velocity information, etc.) to the online virtual experience platform 102. Following receipt of the control instructions from the client devices 110 and 116, the online virtual experience platform 102 may send instructions (e.g., position and velocity information of characters participating in a group interaction, or commands such as rendering commands, collision commands, etc.) to the client devices 110 and 116 based on the control instructions. For example, the online virtual experience platform 102 may perform one or more logical operations (e.g., using the virtual experience engine 104) on the control instructions to generate instructions for the client devices 110 and 116. In other cases, the online virtual experience platform 102 may pass one or more of the control instructions from one client device 110 to other client devices (e.g., 116) participating in the virtual experience 105. Client devices 110 and 116 may use the instructions to render the virtual experience change / move / etc. for presentation on the displays of client devices 110 and 116 .

[0068] In some implementations, the control instructions may refer to instructions indicating an in-experience action of the user's character. For example, the control instructions may include user input, user selection, gyroscope position and orientation data, force sensor data, etc., for controlling an in-experience action such as right, left, up, down, etc. The control instructions may include character position and velocity information. In some implementations, the control instructions are sent directly to the online virtual experience platform 102. In other implementations, the control instructions may be sent from the client device 110 to another client device (e.g., 116), where the other client device generates the instructions using a local virtual experience engine 104. The control instructions may include instructions to play a voice communication message or other sound from another user on an audio device (e.g., speaker, headphones, etc.).

[0069] In some implementations, gameplay instructions may refer to instructions that enable a client device 110 (or 116) to render gameplay of a game, such as a multiplayer game. The gameplay instructions may include one or more of user input (e.g., control instructions), character position and velocity information, or commands (e.g., physics commands, rendering commands, collision commands, etc.).

[0070] In some implementations, a character (or generally a virtual object) is constructed from components that automatically join together to aid the user in editing, one or more of which may be selected by the user. One or more characters (also referred to herein as "avatars" or "models") may be associated with a user, where the user may control the character to facilitate the user's interaction with the virtual experience 105. In some implementations, a character may include components such as body parts (e.g., hair, arms, legs, etc.) and accessories (e.g., T-shirts, glasses, decorative images, tools, etc.). In some implementations, the body parts of a character that are customizable include head types, body part types (arms, legs, torso, and hands), face types, hair types, and skin types, among others. In some implementations, the accessories that are customizable include clothing (e.g., shirts, pants, hats, shoes, glasses, etc.), weapons, or other tools.

[0071] In some implementations, the user may also control the scale of the character (e.g., height, width, or depth) or the scale of components of the character. In some implementations, the user may control the proportions of the character (e.g., blocky, anatomical, etc.). It may be noted that in some implementations, the character may not include a character virtual object (e.g., a body part, etc.), but the user may control the character (without the character virtual object) to facilitate the user's interaction with the virtual experience (e.g., a puzzle experience where there is no rendered character virtual object, but the user still controls the character to control in-experience actions).

[0072] In some implementations, components such as body parts may be primitive geometric shapes such as blocks, cylinders, spheres, or some other primitive shapes such as wedges, toruses, tubes, channels, etc. In some implementations, the creator module may expose the user's character for viewing or use by other users of the online virtual experience platform 102. In some implementations, creating, modifying, or customizing a character, other virtual object, virtual experience 105, or virtual environment may be performed by a user using a user interface (e.g., a developer interface), with or without scripting (or with or without an application programming interface (API 106)). It may be noted that for purposes of illustration and not limitation, the characters are described as having a human-like form. It may be further noted that the characters may have any form, such as a vehicle, an animal, an inanimate object, or other creative form.

[0073] In some implementations, the online virtual experience platform 102 may store characters created by the user in the data store 108. In some implementations, the online virtual experience platform 102 maintains a character catalog and a game catalog that may be presented to the user via the virtual experience engine 104, the virtual experience 105, and / or the client device 110 / 116. In some implementations, the game catalog includes images of virtual experiences stored on the online virtual experience platform 102. In addition, the user may select a character (e.g., a character created by the user or another user) from the character catalog to participate in a selected virtual experience. The character catalog includes images of characters stored on the online virtual experience platform 102. In some implementations, one or more of the characters in the character catalog may be created or customized by the user. In some implementations, the selected character may have a character setting that defines one or more of the character's components.

[0074] In some implementations, a user's character may include a configuration of components, where the configuration and appearance of the components, and more generally the appearance of the character, may be defined by a character setting. In some implementations, the character setting of a user's character may be selected at least in part by the user. In other implementations, a user may select a character having a default character setting, or a character setting selected by another user. For example, a user may select a default character from a character catalog having predefined character settings, and the user may further customize the default character by modifying some of the character settings (e.g., adding a shirt with a customized logo). A character setting may be associated with a particular character by the online virtual experience platform 102.

[0075] In some implementations, the client devices 110 or 116 may each include a computing device such as a personal computer (PC), a mobile device (e.g., a laptop, a mobile phone, a smartphone, a tablet computer, or a netbook computer), a network-connected television, a gaming console, etc. In some implementations, the client devices 110 or 116 may also be referred to as "user devices." In some implementations, one or more client devices 110 or 116 may connect to the online virtual experience platform 102 at any given moment. It may be noted that the number of client devices 110 or 116 is provided by way of example, not limitation. In some implementations, any number of client devices 110 or 116 may be used.

[0076] In some implementations, each client device 110 or 116 may include an instance of a virtual experience application 112 or 118, respectively. In one implementation, the virtual experience application 112 or 118 may allow a user to use and interact with the online virtual experience platform 102, such as searching for virtual experiences or other content, controlling a virtual character within a virtual environment hosted by the online virtual experience platform 102, or viewing or uploading content such as the virtual experience 105, images, video items, web pages, documents, etc. In one example, the virtual experience application may be a web application (e.g., an application that operates with a web browser) that can access, retrieve, present, or navigate content (e.g., virtual characters in a virtual environment, etc.) served by a web server. In another example, the virtual experience application may be a native application (e.g., a mobile application, app, or gaming program) that is installed and runs locally on the client device 110 or 116 and allows a user to interact with the online virtual experience platform 102. The virtual experience application may render, display, or present content (e.g., a web page, a user interface, a media viewer) to a user. In one implementation, the virtual experience application may also include an embedded media player (e.g., a Flash player) that is embedded in a web page.

[0077] According to aspects of the disclosure, the virtual experience application 112 / 118 may be an online virtual experience platform application through which a user builds, creates, edits, and uploads content to the online virtual experience platform 102, as well as interacts with the online virtual experience platform 102 (e.g., interacts with a virtual experience 105 hosted by the online virtual experience platform 102). Thus, the virtual experience application 112 / 118 may be provided to the client device 110 or 116 by the online virtual experience platform 102. In another example, the virtual experience application 112 / 118 may be an application that is downloaded from a server.

[0078] In some implementations, a user may log into the online virtual experience platform 102 via a virtual experience application. A user may access a user account by providing user account information (e.g., a username and password), where the user account is associated with one or more characters available to participate in one or more virtual experiences 105 of the online virtual experience platform 102.

[0079] In general, functions described as being performed by the online virtual experience platform 102 may also be performed by the client device 110 or 116, or a server, in other implementations, where appropriate. In addition, functions attributed to a particular component may be performed by different or multiple components operating together. The online virtual experience platform 102 may also be accessed as a service offered to other systems or devices through an appropriate application programming interface (API), and thus is not limited to use in a website.

[0080] In some implementations, the online virtual experience platform 102 may include an API 106. In some implementations, the API 106 may be a system, application, software code, or module that enables the online virtual experience platform 102 to expose a rating and alternative content feature to users (including developers), where the rating and alternative content feature allows users to rate virtual experiences and create alternative virtual content, items, lists of items, or other content within the online virtual experience platform 102. In some implementations, the API 106 may cooperate with the virtual experience engine 104 and the online virtual experience platform 102 to utilize the features illustrated in Figures 1 and 2 to facilitate one or more of the operations described below in connection with the flowcharts illustrated in Figures 6 and 7. It is further noted that the API 106 may provide an interface of exposed instructions to developers, including, for example, self-rating questionnaires, surveys, objectives, suggested actions, and / or suitable methods for indexing alternative content.

[0081] In some implementations, the API 106 may present rating questionnaires and / or surveys that may be exposed to developers and allow developers to self-rate one or more portions of the virtual experience 105, or the entirety. As used herein, a "rating" may be a measure of the suitability of a particular game for presentation to a particular audience. Examples of ratings may include Video Game Content Rating System ratings. A Video Game Content Rating System is a system used for categorizing video games into groups based on the suitability of the game to each particular group. Many video game rating systems may be associated with and / or sponsored by a particular locale's government or rating organization (e.g., agreed upon by industry participants) and may be part of a local movie rating system. Thus, although particular ratings may be termed differently (e.g., E for Everyone and / or G for General Audience), each rating may be applicable to a demographic or age group. Thus, a self-rating questionnaire may help identify a demographic or age group rather than a specifically termed rating.

[0082] As used herein, a "target audience" is a term that refers to an individual user or client device 110 (or a set of users or client devices) that will or should receive a preferred version of the virtual experience content within the same virtual experience session (e.g., if a 6-year-old, a 12-year-old, and an 18-year-old are all within the same session, the virtual content will be presented based on the suitability of the content for the entire group). For example, a virtual experience session as used herein refers to multiple users accessing and engaging with the virtual experience 105 from one or more client devices associated with one or more target audiences. According to one implementation, users of the same virtual experience session, but with different ages and / or demographics, are each provided with appropriate content based on the demographics and any other characteristics of the users. In this way, each user may automatically receive different, but appropriate, content. According to some implementations, users of the same virtual experience session will each receive the lowest, most appropriate rated content for the most restricted age group with which at least one player in the virtual experience session is associated. In this alternative, every player receives the same content, rated to comply with the most restrictive age group (or other characteristic). The same may be modified based on user settings, parental controls, global settings, and / or other attributes for the virtual experience session. Thus, different alternative content associated with different virtual experience sessions may also be generated and delivered as described herein.

[0083] A "locale" as used herein is associated with an individual user or client device 110. Within the same virtual experience session, users receive a preferred version of virtual experience content (e.g., if an American, a Brazilian, and a German are all in the same session, game content is presented based on the suitability of the American, Brazilian, and German audiences or locales, or other such content localization). For example, a virtual experience session as used herein refers to multiple users accessing and engaging with the virtual experience 105 from one or more locales. According to one implementation, users of the same virtual experience session but residing in different locales each receive appropriate content based on the user's demographic data and the locale's restrictions. In this way, each user may be automatically provided with different, but appropriate, content. According to another implementation, players of the same virtual experience session but residing in different locales each receive the lowest, most appropriate rated content for the most restricted locale in which at least one user player in the virtual experience session resides. In this alternative, every player receives the same content, rated to conform to the most restrictive locale. The same may be modified based on user settings, parental controls, global variables, and / or other attributes for the virtual experience session. Thus, different alternative content associated with different virtual experience sessions may also be processed and delivered as described herein.

[0084] Below, a more detailed description of the API 106 and the generation and rating of virtual experience content is presented with reference to FIG.

[0085] 2 is a diagram of an exemplary developer network environment 200 for automated submission of suitable content, according to some implementations. The network environment 200 (also referred to herein as the "system") includes the online virtual experience platform 102, a developer device 210 (similar to "client device 110 / 116"), and a storage system 220, all connected via a network 122.

[0086] In some implementations, the storage system 220 may include the data store 108 and the library of alternates 204. The storage system 220 may include non-transitory computer-readable memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device capable of storing data. The storage system 220 may also include multiple storage components (e.g., multiple drives or multiple databases), such as individual storage components for the library of alternates 204 and / or the data store 108, which may be spread across multiple computing devices (e.g., multiple server computers).

[0087] In some implementations, the library of alternatives 204 is configured to store virtual content, such as the virtual experience 105 or related content, indexed according to a particular demographic, age group, and / or locale. Thus, if the virtual experience 105 is to be presented to a client device associated with a first locale having a first type of restriction on the content, alternative content stored in the library of alternatives 204 that conforms to the first type of restriction may be identified. In this example, the alternative content may be stored in the library of alternatives 204 and retrieved for presentation to ensure that the presented virtual experience 105 satisfies the first type of restriction. Similarly, if the virtual experience 105 is to be presented to a client device associated with a second locale n that does not have a restriction on the content, the alternative content stored in the library of alternatives 204 may be ignored and / or less restricted content may be presented. Additionally, if the virtual experience 105 is to be presented to a client device associated with a first age group or demographic, alternative content stored in the library of alternatives 204 may be identified that is suitable for that first age group or demographic. Other such examples of different alternative content based on one or more parameters are within the scope of this disclosure.

[0088] The library of alternatives 204 may also be configured to store alternative versions of characters, clothing, avatars, accessories, and other similar virtual content. In some implementations, the alternative versions of characters, clothing, avatars, and accessories may be identified based on user preferences, user demographics, user locale, and other attributes as described herein.

[0089] The library of alternatives 204 may include indexed content as described above that is self-rated (e.g., by a content provider, such as a developer) using one or more questionnaires 202 and / or indexed based on one or more parameters. The one or more parameters may include, for example, an age parameter, a location parameter, a gender parameter, or a preference parameter. In general, the questionnaire 202 may include one or more questions directed to a particular virtual experience content type, format, and / or presentation. The one or more questions may be tailored to receive one or more multiple choice, binary (e.g., yes or no), sliding scale, or other answers from the virtual experience developer. The one or more questions may help identify content that is or is not suitable for a particular demographic or age group, or a particular locale. Alternatively, or in combination, the developer may tag the content to indicate its appropriateness for a particular audience so that the virtual experience can dynamically fetch the appropriate representation. Additionally, one or more trained machine learning models may be used to automatically classify content (e.g., virtual objects, sounds, videos, or other content included in the virtual experience) to ensure that content is only provided to users appropriately.

[0090] For example, without limitation, one or more questions included in the questionnaire may include a series of escalating or tapering questions related to action, language, violence, currency, horror, adult content, items, humor, crude humor, and / or miscellaneous types of content that any virtual experience may contain. Based on the self-reported answers provided by the developer, content may be flagged as suitable, appropriate, unsuitable, and / or inappropriate for a particular demographic or age group in a particular locale. Additionally, flagged content may be associated with one or more content alternatives stored in the library of alternatives 204. Thus, while an initial version of the virtual experience (e.g., provided by a developer) may include multiple different types of content that may not be suitable for some demographics based on local laws, regulations, restrictions, or preferences, responses to questionnaire 202 may facilitate the generation of content in library of alternatives 204 such that the unsuitable content may be replaced during or prior to runtime in locales that restrict that content (or for particular age groups) through the use of a library of alternatives, as described in more detail below.

[0091] In some implementations, the API 106 may be exposed to a developer device 210 and a developer application 212. The exposed API 106 may present one or more function calls to a developer. For example, the one or more function calls may include, but are not limited to, GetUserLocale(userid) - to get the locale of the current user, GetUserDemographic(userid) - to get the demographic of the current user, GetUserRestrictions(userid) - to get the restrictions of the current user based on parental controls or preferences, GetContentItem(userlocale, itemid) - to get the "version" of an item appropriate to the demographic / locale retrieved for the user, AddItem(itemID, locale) - for example, the same itemID can be used to reference alternate versions of the same item based on a user locale that matches the locale parameter, GetQuestionnaire(locale) - to receive a survey that allows ratings for a particular locale, GetQuestionnaire(age) - to receive a survey that allows ratings for a particular age group, IsFeatureTypeAAllowedForUser(userid) - a Boolean indication of whether a feature is restricted for a particular user (Boolean The implementation may include functions for receiving an indication of the presence of a particular object (e.g., IsLootBoxesAllowedForUser(userid), etc.), as well as other suitable function calls. Other implementations may not require an explicit function call (e.g., a developer inserts an object into the online environment or scene, and the object is dynamically loaded for each client based on their tier / locale configuration).

[0092] The survey 202 may be presented to the developer based on API function calls so that self-rating of aspects of the virtual experience 105 may occur. During self-rating using the survey 202, the exposed API 106 may present other function calls (e.g., AddItem(itemID, locale)) to create alternative content that triggers different answers to any one or more questions of the survey 202. For example, if the virtual experience contains violence, the exposed API 106 may present the developer with the ability to provide content alternatives that soften, reduce, or remove the level of violence depicted in the virtual experience in locales that have strict rules against violent content or for age groups that have specific restrictions against violent content. The content alternatives may then be indexed and stored with the original content in the library of alternatives 204. The developer may similarly rate and create alternatives based on responses to each question of the survey 202.

[0093] In some implementations, the self-ratings provided by the developer are verified, for example, a combination of proactive and reactive human moderation to verify the suitability of the content may be used in some implementations.

[0094] With respect to pre-moderation, experiences that are ranked as important to verify may be manually reviewed in advance. Hypothetical examples of experiences that may be ranked important include experiences that are rated as suitable for all ages (e.g., including young children), experiences that are most popular among several age groups, experiences that are most popular among restricted locales, experiences that are relatively popular among several age groups, experiences that are relatively popular among restricted locales, and / or other similar experiences.

[0095] In some implementations, the trained machine learning model may analyze content in a particular experience, such as individual images, 3D models, and code, to flag experiences where there is a discrepancy between the experience's overall rating and insights gleaned from more granular content. For example, if an experience has some images with blood and explosions, but the overall experience is marked as non-violent and therefore suitable for all ages, then the experience should be flagged for manual review.

[0096] Additionally, ratings of "similar" experiences may be utilized to flag some experiences for review. For example, if an experience is mostly played by older users but is marked as suitable for all ages, then that experience may be prioritized for review. For example, if an experience is mostly played by users who play other more mature experiences but a given experience is rated for a younger age group, then that experience may be prioritized for review.

[0097] With respect to reactive moderation, users may report erroneous ratings, and based on the user reports, a ranked queue of prioritized experiences may be created for manual review. Other sources, including crowdsourcing of reviews, user-provided reports, moderation activity, complaints, and other suitable sources, may also be used in some implementations to implement a reactive prioritized queue of experiences for manual review.

[0098] In some implementations, when additional alternative content is not available and / or the alternative content is not suitable for some tiers and the default content is not enabled for display to some tiers (e.g., due to regional compliance), the experience may be made unavailable for audiences for which it is not suitable.

[0099] The answers to the questionnaire 202, as well as the content alternatives, may then be associated with a rating 206. The rating 206 may be specific to each content alternative and / or each virtual experience 105. Thus, when a virtual experience is to be presented for interaction by a client device associated with a particular locale or tier, the virtual experience engine 104 may identify a rating 206 that is appropriate and suitable for the user and / or locale and present the content (or alternative content) associated with the rating 206. In this manner, a less restricted user may engage with the same virtual experience 105 as a more restricted user, using alternative content from the library of alternatives 204.

[0100] Some parts of the virtual experience 105 may be presented with content substitutes, but the overall interaction within the experience may not be affected. For example, since the developer chooses which content is produced as substitutes, the developer may choose suitable content substitutes that do not impair game play or virtual experience interaction. This choice may benefit both the developer and the user, since the availability of content substitutes may allow exposure of the game or virtual experience to more restricted locales and / or age groups, allowing users to access virtual experiences that may otherwise be inaccessible. Furthermore, the developer is also required to develop substitutes for only certain parts of the virtual experience 105. Thus, the developer may choose to deploy the virtual experience with only violence substitutes, language substitutes, or other substitutes, while still limiting access for other parts of the virtual experience, such as currency or gambling content. Thus, the developer may target a more restricted demographic of suitable audiences while also improving monetization or exposure of the virtual experience 105.

[0101] In some implementations, the associated index of the library of content alternatives 204 is used at runtime (e.g., during the provision of the virtual experience session) to look up and include content that matches the session requirements. For example, when a user is accessing a virtual experience (e.g., during runtime), the platform 102 may search the index of the library of content alternatives 204 for applicable content alternatives based on user data, and / or demographic data, and / or locale data. Upon identifying a suitable content alternative from the library of content alternatives 204, the provided virtual experience may further be provided with the identified alternative for presentation at the user device.

[0102] The technical effects and benefits of the survey 202 and library of alternatives 204 include at least the following: developer responses to the survey can enable the platform to take actions (e.g., generating content alternatives, ranking content, etc.) to provide increased exposure to an audience; improved compliance with local guidelines and regulations without the manual effort of content review and / or alternative content generation; and guaranteed suitability of content presented on client devices associated with a locale or tier, while also limiting risks in widespread presentation of virtual experiences (across multiple locales and / or user tiers) and increasing developer engagement with the online virtual experience platform 102.

[0103] As described above, a developer may create one or more content alternatives for storage in the library of alternatives 204. Additionally, the platform 102 may automatically provide default alternatives that effectively disable non-preferred content (e.g., a plain cube as an alternative for a 3D model). Additionally, the platform 102 may automatically locate content similar to that provided by the developer and suggest alternative content based on the matching alternatives found. Other variations may also be applicable.

[0104] 3 is a diagram illustrating an example presentation of suitable virtual content, according to some implementations. As shown in FIG. 3, a first alternative content 302 (also referred to as a content alternative 302) and a second alternative content 304 (also referred to as a content alternative 304) may be stored in a library of alternatives 204.

[0105] The first alternative content 302 may be content suitable for a broad audience generally across multiple locales. For example, the first alternative content 302 may include a basic presentation of the character 321, without violence, adult content, and / or other restricted content. Additionally, the first alternative content 302 may include non-adult content 323 presented therein. Thus, in this example, the first alternative content 302 may be suitable for presentation to substantially any audience that adheres to the guidelines for the first targeted audience A.

[0106] The second alternative content 304 may be content suitable for a restricted audience, generally across a limited number of locales. For example, the second alternative content 304 may include a basic presentation of a character 321 having rated (or self-rated) content containing violence (341), as well as rated (or self-rated) content containing currency (345), e.g., loot boxes. Additionally, the second alternative content 304 may include one or more adult content items (343) presented therein. Thus, in this example, the second alternative content 304 may be presented only to appropriate audiences that meet guidelines for the second targeted audience, and may be restricted from presentation to other audiences.

[0107] The appropriate audience may be identified through user or user demographic data obtained from the user. User data may include age, demographic, and / or location. User permission may be obtained to record and use such data, and if the user does not provide such permission data, a generic (e.g., G-rated) version of the virtual experience and / or virtual content may be provided as a default. Other user data may also be used to identify any age-related or demographic-related restrictions, including IP address data (e.g., for restricted locations such as schools, large buildings, office buildings, etc.), administrative privileges, account payout status (e.g., for unlimited premium play features), and / or other data.

[0108] In some implementations, developers may provide any number of content alternatives to flagged content through the exposed API 106 and / or questionnaires 202. For example, Figure 4 is a schematic diagram of a developer user interface 400 according to some implementations. The interface 400 includes a content identification portion 402, a number of questions 404, 406, 408, 409 associated with one or more content portions, and various control portions 410, 412, 414.

[0109] The content identification portion 402 may indicate a particular category of virtual content and possible alternatives. For example, the content identification portion 402 may provide a selection of questions and answers related to a type of virtual experience, violence, horror, adult content, currency, language, items, crude humor, miscellaneous content, and / or possible alternatives. When the developer selects a particular category from 402, the developer may answer questions 404, 406, 408, and 409. It should be noted that while a limited number of questions are shown for brevity and clarity, any number of questions may be implemented.

[0110] Based on the particular answers to the particular questions 404, 406, 408, and 409, a rating 206 for a particular tier and / or locale may be generated. Additionally, alternatives (e.g., 402) may be specified such that a rating 206 can be generated for each content alternative. In this manner, while a typical virtual experience has a single content rating for a single tier and / or locale, a virtual experience 105 according to some implementations may include multiple ratings based on multiple content alternatives. Thus, any combination of self-rated alternative content may be used to form the virtual experience 105 presented to a client device associated with a particular tier and / or locale. Thus, in some implementations, a virtual experience presented in a first locale or to a first audience A may be restricted to include content similar to the exemplary content 302, while a virtual experience presented in a second locale or to a second audience n may include content similar to the exemplary content 304. Various other combinations are possible, including combinations in which not all audiences may be presented with suitable content. In general, however, if even a limited number of content alternatives (or even a single content alternative for, for example, violence) are created using the published API 106 and questionnaire 202, a larger number of users may be presented with the content.

[0111] In some implementations, ratings may be generated (or predicted) based on answers to the survey as they are submitted, so that developers may see how different types of content affect the ratings. In some implementations, associated descriptors used in generating the ratings may also be provided for viewing by developers, so that developers may see how different types of content affect the generation of different descriptors. Additionally, or in combination, search engine rankings or weights may be influenced by the ratings, descriptors, and / or survey answers. In this regard, the impact on surfacing of content may also be considered by developers engaging with surveys.

[0112] As presented above, the content alternatives stored in the library of alternatives 204 may enable presentation of suitable content to broader audiences and to audiences in multiple locales that have content regulations that restrict the content. These alternatives may allow a developer's virtual experience to reach a larger number of users and thus increase engagement in the online virtual experience platform 102.

[0113] 5 is a schematic diagram of a developer user interface 500 according to some implementations. As shown, the user interface 500 provides the developer with visualization of increased engagement, monetization, advertising, and other metrics based on use of the exposed API 106 and self-rating methodology. For example, the developer may be presented with the user interface 500 upon creation of a virtual experience 105. The user interface 500 may present the developer with various metrics or statistics of possible returns to self-rating and / or creation of content alternatives. The indicated increases in engagement described below may be generated based on historical analysis of engagement in multiple locales, empirical analysis of engagement based on larger audiences and / or alternative content, as well as other estimates.

[0114] Portion 502 may present the developer with improved metrics based on reaching additional audiences using advertising in other locales based on, for example, self-rating and providing the content alternatives, portion 504 may present the developer with improved monetization metrics based on reaching additional audiences using self-rating and providing the content alternatives, portion 506 may present the developer with improved engagement metrics based on reaching additional audiences using self-rating and providing the content alternatives, and portion 508 may present the developer with other metrics (e.g., increased number of plays or sessions) based on self-rating and providing the content alternatives. If choosing to self-rate, the developer may select interface control portion 512, which may direct the developer to one or more of the survey 202 and / or API 106 as described above. Additionally, the developer may select interface control portion 510 to exit interface 500.

[0115] As described above, developers may be presented with one or more questionnaires 202 and exposed APIs 106 for self-rating and generation of content alternatives. Using the content alternatives and associated localized ratings, the virtual experience 105 may be presented to different audiences and across different locales, thereby increasing engagement with the online virtual experience platform 102 while also ensuring that local guidelines and regulations related to content restrictions are adhered to. In this way, developers can focus on content creation rather than content restrictions and be provided with automated tools for presentation of suitable content outside of the developer's knowledge of regional restrictions and / or user / parental preferences.

[0116] The manner of operation of the network environments 100 and 200, including the online virtual experience platform 102 and associated components, is described in detail below with reference to FIGS.

[0117] 6 is a flow chart illustrating an example method 600 of automatic presentation of suitable content according to some implementations. In some implementations, the method 600 can be implemented, for example, on a server system, for example, the online virtual experience platform 102 as shown in FIG. 1. In some implementations, some or all of the method 600 can be implemented on a system, such as one or more client devices 110 as shown in FIG. 1, and / or on both the server system and one or more client systems. In the illustrated example, the implementing system includes one or more processors or processing circuits and one or more storage devices, such as a database or other accessible storage. In some implementations, different components of one or more servers and / or clients can perform different blocks or other portions of the method 600. The method 600 begins at block 602.

[0118] At block 602, virtual experience content is received from a developer. The virtual experience content and / or developer may be associated with a first locale or the content may be directed to a first targeted audience. A "locale" is associated with an individual user, a developer, a developer device 210, and / or a client device 110. Additionally, the first targeted audience may be similar to audience A. The associated locale may have a governing body responsible for local governance and content restrictions for video games, media content, game content, movies, and / or other content.

[0119] In some implementations, virtual experience content may be associated with a virtual experience 105. For example, a virtual experience 105 may be provided to multiple users through one or more virtual experience sessions, where each user is part of a particular session of the virtual experience 105. For example, the virtual experience engine and / or server 104 may allow multiple sessions of the same virtual experience 105, where each session has its own environment (e.g., five players may interact together with a session of a pizza shop experience, and three separate players may interact with another session of the same virtual experience). The content provided by the developer in both virtual experience sessions will be the same, but the virtual avatars, user-generated content, and other content of the players will be unique, and the environment may evolve differently based on actions by each user (e.g., the shop and pizza menu will be different).

[0120] The API 106 is exposed to developers through a developer device 210. For example, a developer application 212 may display or allow access to various commands and function calls of the exposed API 106. Using the exposed API 106, developers may develop virtual experience content alternatives for storage in the library of alternatives 204. The virtual experience content alternatives may include alternative content, such as limited violence, obscured virtual money, softer language, translations of words, and other alternative content. Additionally, using the exposed API 106, developers may develop monetization features, advertising features, and / or other features. Block 602 may be followed by block 606.

[0121] At block 606, at least one content alternative is received through the exposed API 106 and stored in the library of alternatives 204 (or alternatively in the storage system 220 / data store 108). The stored at least one content alternative may be indexed in some implementations so as to be easily presented in place of the received virtual experience content. The index may include a placeholder, a timestamp, or other identifying data so as to be easily identifiable as an alternative to the received virtual experience content. For example, each piece of alternative content may include at least an identifier, such as an item ID, an experience ID, a locale, a developer ID, and / or other identifier. The alternative content may be retrieved later based on the current state of the virtual experience matching the stored identifier. In this manner, a database call may be made to retrieve the alternative content or the original content based on the rating or locale and the appropriate identifier. Additionally, the index may be based on one or more parameters, such as an age parameter, a gender parameter, a locale / region parameter, etc. Block 606 may be followed by block 608.

[0122] At block 608, a first rating is generated for the received virtual experience content and / or at least one content alternative. As described above, the first rating may be based on one or more surveys, user preferences, age groups, local guidelines, local governance, or other parameters. The first rating may be based on a developer's self-rating of certain portions of the virtual experience, or may include those portions of the virtual experience. Furthermore, the rating review and generation may be automated by automatically scanning the virtual experience assets and comparing against a rating provided by the developer. Additionally, the rating may be calculated automatically based on this information, thereby reducing the amount of information required from the developer. In general, there are multiple permutations of a particular virtual experience available, since multiple individual ratings may exist for a particular virtual experience, based on multiple alternative content.

[0123] The first rating may be associated with a particular audience, locale, or multiple locales having an appropriate similar content rating system. Thus, the first rating for the received virtual experience content may include one rating for the first locale, one rating for the second locale, one rating for the first targeted audience, one rating for the second targeted audience, etc. Similarly, the at least one content alternative may include one rating for the first locale, one rating for the second locale, one rating for the first targeted audience, one rating for the second targeted audience, etc. In one implementation, at least two targeted audiences are applicable, associated with the first rating (first audience) and the second rating (second audience). Additional ratings are also applicable. Block 608 may be followed by block 610.

[0124] At block 610, the received virtual experience content or at least one content alternative is automatically provided to a client device associated with the user based on the first rating and the second rating. For example, if presented for audience A, the virtual experience content 302 may be presented (FIG. 3). Additionally, if presented for audience n, the gaming content 304 may be presented (FIG. 3). To manage different locales and tiers, a hierarchical tree may be created that starts with global defaults at the root and allows customization of specific elements at each node in the subtree. This allows flexibility to adjust only certain features for a given locale / country / tier but follow all other defaults, as well as to nest regions and tiers within each other.

[0125] In some implementations, providing at least one content alternative may include replacing one or more virtual objects with suitable objects (e.g., replacing an automatic multi-round gun with a manual single shotgun, replacing an adult billboard with a PG billboard, modifying object behavior - e.g., a snake bite may be a blood drip for PG but a blood explosion for R). In some implementations, providing at least one content alternative may include replacing one or more virtual objects not suitable for a younger or more restricted audience with a blank or generic default object (e.g., a cube, box, cylinder, etc.). In some implementations, providing at least one content alternative may include replacing one or more virtual objects not suitable for a younger or more restricted audience with a warning object or label (e.g., a red or yellow flag, a message to parents, etc.).

[0126] It should be readily understood that multiple other content alternatives may each have an associated rating, and thus these examples are not intended to be limiting of all implementations. Furthermore, ratings may exceed suitability for some tiers (e.g., if the locale is highly restrictive or parental controls are in place), and thus there may be no suitable content available for presentation. In these scenarios, developers may develop additional content alternatives such that one or more suitable alternatives may be presented. Furthermore, given that regulations in a particular locale may change, alternatives may be rated multiple times to ensure continued compliance with local guidelines and restrictions.

[0127] Blocks 602-610 may be performed (or repeated) in a different order than described above, and / or one or more steps may be omitted. For example, blocks 606 and 608 may be performed multiple times, e.g., to receive multiple alternatives of content and multiple ratings. In this manner, portions of method 600 may be repeated until all portions of the virtual experience session have been appropriately rated for the tier and / or locale using data stored in the platform.

[0128] 7 is a flow chart illustrating another exemplary method 700 of automatic presentation of suitable content according to some implementations. In some implementations, the method 700 can be implemented, for example, on a server system, for example, the online virtual experience platform 102 as shown in FIG. 1. In some implementations, some or all of the method 700 can be implemented on a system, such as one or more client devices 110 as shown in FIG. 1, and / or on both the server system and one or more client systems. In the illustrated example, the implementing system includes one or more processors or processing circuits and one or more storage devices, such as a database or other accessible storage. In some implementations, different components of one or more servers and / or clients can perform different blocks or other portions of the method 700. The method 700 begins at block 702.

[0129] At block 702, virtual experience content is received from a developer. Additionally, at least one content alternative may be received from the developer. The virtual experience content and / or developer may be associated with a first locale or the content may be directed to a first targeted audience. The at least one content alternative may be associated with a second locale or directed to a second targeted audience. A "locale" is associated with an individual user, a developer, a developer device 210, and / or a client device 110. Additionally, the first targeted audience may be similar to audience A. The second targeted audience may be similar to audience n. The associated locale may have a governing body responsible for local governance and content restrictions for video games, media content, game content, movies, and / or other content.

[0130] In some implementations, the virtual experience content and content substitutes may be associated with a virtual experience 105. For example, the virtual experience 105 may also include one or more virtual experience sessions. For example, the virtual experience engine and / or server 104 may allow multiple sessions of the same virtual experience 105, with each session having its own environment. The content provided by the developer in both virtual experience sessions will be the same, but the virtual avatars, user-generated content, and other content of the players will be unique, and the environment may evolve differently based on actions by each player. Block 702 is followed by block 704.

[0131] At block 704, one or more self-rating questionnaires 202 are provided to a developer through the developer device 210. For example, the developer application 212 may display or allow access to the questionnaires 202. Using the questionnaires 202, the developer may flag certain content, possibly as including restricted content, develop new or additional virtual experience content alternatives for storage in the library of alternatives 204, and possibly self-rate portions of the received virtual experience content and content alternatives. The virtual experience content alternatives may include alternative content, such as limited violence, obscured virtual money, milder language, translations of words, and other alternative content. The self-rating may be in the form of an answer to the questionnaire 202. Block 704 is followed by block 706.

[0132] At least one answer to the displayed survey 202 is received in block 706. The at least one answer may identify one or more portions of the received virtual experience content as including violence, horror, adult content, currency, language, items, crude humor, or other content. The at least one answer may also relate to the level of violence, horror, adult content, currency, language, items, crude humor, or other content. For example, the at least one answer may reference a number of occurrences, a number of depictions, a type of depiction (real or fantasy), a frequency of depictions, whether the content is "implied" rather than directly shown, and other similar criteria. An additional answer relating to at least one content alternative may also be received. Block 706 is followed by block 708.

[0133] In block 708, a descriptor is obtained based on at least one answer to the self-rating questionnaire. The descriptor may be obtained, for example, as an output from a machine learning model trained to identify the descriptor based on the self-rating questionnaire. A set of ground truth labeled data may be used to initially train the machine learning model based on the desired descriptor and the suitable virtual experience and alternative content examples. Further training, which may be iterative training, may be performed to adjust the machine learning model to obtain the descriptor based on the real-world examples of the virtual experience deployed in multiple locales and to multiple target audiences. Block 708 is followed by block 710.

[0134] At block 710, a first rating for the received virtual experience content is generated for the first target audience and a second rating is generated for the second target audience based on the obtained descriptors. As described above, the rating may be based on one or more questionnaires, local guidelines, local rules, user preferences, demographics, or other parameters. The first rating may be associated with a particular audience, locale, or multiple locales having an appropriate similar content rating system. Thus, the first rating for the received virtual experience content may include one rating for the first locale, one rating for the second locale, one rating for the first targeted audience, one rating for the second targeted audience, etc. Similarly, the at least one content alternative may include one rating for a first locale, one rating for a second locale, one rating for a first targeted audience, one rating for a second targeted audience, etc. In one implementation, at least two targeted audiences are applicable, associated with a first rating (first audience) and a second rating (second audience). Additional ratings are also applicable.

[0135] The generated ratings may be based on the descriptors or may be generated automatically. For example, for each descriptor, an explicit mapping may be used to map to a rule set, a numerical score may be derived from developer survey responses, or other suitable methods of converting the descriptors to age ratings may be used. In one implementation, a formula for deriving the numerical score may be represented by Equation 1 provided below. Formula 1: intensity content *frequency content =score content

[0136] It should be noted that other functions may also be possible for determining the numerical score. For example, in one implementation, a formula for deriving the numerical score may be represented by Equation 2 provided below. Formula 2: intensity_weight*intensity content +frequency_weight*frequency content =score content

[0137] Other alternative scoring methods may also be suitable in some implementations. Once a score is generated for each queried descriptor (where applicable), the highest of the individual numerical scores determines the overall classification of the content.

[0138] An example of a numerical classification score is provided below.

[0139] [Table 1]

[0140] Each of the descriptors may, for example, have an associated intensity value and score associated with each of them. content ), the associated frequency value and score ( content ), and / or score content The ranking may be based on one or more features, such as a mapping from a user's age to an age rating or demographic rating.

[0141] Additionally, the one or more sets of rules may be established mappings from a set of descriptors to regions / locales for which content should be restricted to a particular rating. Further, the one or more sets of rules may also be established mappings from a set of descriptors to different platforms for which content should be restricted to a particular rating. Other sets of rules may also be established to facilitate mapping of descriptors to particular ratings based on tier, locale, and other considerations. Block 710 is followed by block 712.

[0142] At block 712, the virtual experience content or content alternatives are automatically provided to a client device associated with the user based on the first rating and the second rating. For example, when presented to audience A, the virtual experience content 302 may be presented if the associated demographic or locale allows the content 302 to be displayed. Additionally, when presented to audience n, the virtual experience content 304 may be presented if the associated demographic or locale allows the content 304 to be displayed. Note that there may be multiple differently rated content alternatives such that an experience may be tailored to several different audiences based on the availability of suitable content alternatives.

[0143] It should be readily appreciated that ratings may exceed suitability for some tiers (e.g., if the locale is highly restrictive) and thus there may be no suitable content available for presentation. In these scenarios, developers may develop additional content alternatives, such as those described with reference to Figures 3 and 6, such that one or more suitable alternatives may be presented. Furthermore, given that regulations in a particular locale may change, received content may be rated multiple times to ensure continued compliance with local guidelines and restrictions.

[0144] Blocks 702-712 may be performed (or repeated) in a different order than described above, and / or one or more steps may be omitted. For example, blocks 704, 706, 708, and 710 may be performed multiple times, e.g., to rate for multiple demographics and / or locales. In this manner, portions of method 700 may be repeated until all portions of the virtual experience session have been properly rated for the client using data stored in the platform.

[0145] FIG. 8 is a block diagram of an exemplary computing device 800 that may be used to implement one or more features described herein. In one example, the device 800 may be used to implement a computer / client device (e.g., 110 in FIG. 1 , 210 in FIG. 2 ) and execute suitable method implementations (e.g., 600 in FIG. 6 and 700 in FIG. 7 ) described herein. The computing device 800 may be any suitable computer system, server, or other electronic or hardware device. For example, the computing device 800 may be a mainframe computer, a desktop computer, a workstation, a portable computer, or an electronic device (portable device, mobile device, cell phone, smartphone, tablet computer, television, TV set-top box, personal digital assistant (PDA), media player, gaming device, wearable device, etc.). In some implementations, the device 800 includes a processor 802, a memory 804, an input / output (I / O) interface 806, and an audio / video input / output device 814.

[0146] The processor 802 can be one or more processors and / or processing circuits for executing program code and controlling basic operations of the device 800. A "processor" includes any suitable hardware and / or software system, mechanism, or component that processes data, signals, or other information. A processor may include a system with a general-purpose central processing unit (CPU), multiple processing units, dedicated circuits for accomplishing a function, or other systems. Processing need not be limited to a particular geographic location or to having a time limitation. For example, a processor may perform its functions in "real-time," "offline," "batch mode," etc. Portions of processing may be performed by different (or the same) processing systems, at different times, and in different locations. A computer may be any processor in communication with a memory.

[0147] Memory 804 is typically provided in device 800 for access by processor 802 and may be any suitable processor-readable storage medium suitable for storing instructions for execution by the processor, located separately from processor 802 and / or integrated with processor 802, such as random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory, etc. Memory 804 may store software operated on server device 800 by processor 802, including an operating system 808, one or more applications 810, e.g., a translation application, and a database 812. In some implementations, application 810 may include instructions that enable processor 802 to perform (or control) some or all of the functions described herein, e.g., the methods described with respect to FIGS. 6 and 7.

[0148] For example, the application 810 may include a rating application (e.g., for presenting a questionnaire) and / or a database module 812 that may provide ratings of virtual experience content for an online virtual experience content server (e.g., 104) as described herein. Any of the software in the memory 804 may alternatively be stored on any other suitable storage location or computer-readable medium. In addition, the memory 804 (and / or other connected storage devices) may store instructions and data used in the features described herein. The memory 804 and any other type of storage (magnetic disk, optical disk, magnetic tape, or other tangible medium) may be considered "storage" or "storage device."

[0149] The I / O interface 806 can provide functionality to allow the server device 800 to interface with other systems and devices. For example, network communication devices, storage devices (e.g., memory 804 and / or data store 108), and input / output devices can communicate through the interface 806. In some implementations, the I / O interface can be connected to interface devices, including input devices (keyboards, pointing devices, touch screens, microphones, cameras, scanners, etc.) and / or output devices (display devices, speaker devices, printers, monitors, etc.).

[0150] The audio / video input / output devices 814 may include user input devices (e.g., a mouse, etc.) that may be used to receive user input, display devices (e.g., a screen, monitor, etc.), and / or combined input and display devices that may be used to provide graphical and / or visual output.

[0151] For ease of illustration, FIG. 8 illustrates one block for each of the processor 802, memory 804, I / O interface 806, and software blocks 808 and 810. These blocks may represent one or more processors or processing circuits, operating systems, memories, I / O interfaces, applications, and / or software engines. In other implementations, the device 800 may not have all of the components illustrated and / or may have other elements, including other types of elements instead of or in addition to those illustrated herein. Although the online virtual experience server 104 has been described as performing operations as described in some implementations herein, any suitable component or combination of components of the online virtual experience server 104 or a similar system, or any suitable processor or processors associated with such a system, may perform the described operations.

[0152] User devices can also implement and / or be used with the features described herein. An exemplary user device can be a computing device that includes several components similar to device 800, e.g., processor 802, memory 804, and I / O interface 806. Operating systems, software, and applications suitable for the client device can be provided in the memory and used by the processor. The I / O interface for the client device can be connected to a network communication device, as well as to input and output devices, e.g., a microphone for capturing sound, a camera for capturing images or video, a mouse for capturing user input, a gesture device for recognizing user gestures, a touch screen for detecting user input, an audio speaker device for outputting sound, a display device for outputting images or video, or other output devices. A display device within the audio / video input / output device(s) 814 may be connected to (or included within) the device 800, for example, to display image pre- and post-processing as described herein, where such a display device may include any suitable display device, e.g., an LCD, LED, or plasma display screen, a CRT, a television, a monitor, a touch screen, a 3D display screen, a projector, or other visual display device. Some implementations may provide an audio output device, e.g., text-to-speak voice output or synthesis.

[0153] One or more of the methods described herein (e.g., methods 600 and / or 700) can be implemented by computer program instructions or code that can be executed on a computer. For example, the code can be implemented by one or more digital processors (e.g., microprocessors or other processing circuits) and can be stored on a computer program product that includes a non-transitory computer-readable medium (e.g., storage medium), e.g., a magnetic, optical, electromagnetic, or semiconductor storage medium, including semiconductor or solid-state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), flash memory, rigid magnetic disks, optical disks, solid-state memory drives, and the like. The program instructions can also be included in and provided as electronic signals, e.g., in the form of software as a service (SaaS) delivered from a server (e.g., distributed systems and / or cloud computing systems). Alternatively, one or more of the methods can be implemented in hardware (such as logic gates) or in a combination of hardware and software. Exemplary hardware may be a programmable processor (e.g., a field programmable gate array (FPGA), complex programmable logic device), general purpose processor, graphics processor, application specific integrated circuit (ASIC), etc. One or more methods may be implemented as part of or a component of an application running on the system, or as an application or software running in conjunction with other applications and the operating system.

[0154] One or more methods described herein may be implemented in a standalone program that may be executed on any type of computing device, a program executed on a web browser, a mobile application ("app") executed on a mobile computing device (e.g., a cell phone, a smartphone, a tablet computer, a wearable device (watch, armband, jewelry, headwear, goggles, glasses, etc.), a laptop computer, etc.). In one example, a client / server architecture may be used, e.g., the mobile computing device (as a client device) sends user input data to a server device and receives final output data for output (e.g., for display) from the server. In another example, all computations may be performed within the mobile app (and / or other apps) on the mobile computing device. In another example, computations may be split between the mobile computing device and one or more server devices.

[0155] In situations where some implementations described herein may obtain or use user data (e.g., user demographics, user behavior data on the platform, user search history, items purchased and / or viewed, user relationships on the platform, etc.), the user is provided with options to control whether and how such information is collected, stored, or used. That is, the implementations described herein collect, store, and / or use user information upon receipt of explicit user authorization and in accordance with applicable regulations.

[0156] The user is given control over whether the program or feature collects user information about that particular user or other users associated with the program or feature. Each user about whom information is to be collected is presented with options (e.g., via a user interface) to allow the user to exercise control over the information collection associated with that user to give permission or authorization as to whether information is to be collected and what portions of the information are to be collected. In addition, some data may be modified in one or more ways before being stored or used such that personally identifiable information is removed. As one example, a user's identifying information may be modified (e.g., by substitution with a pseudonym, numeric value, etc.) such that personally identifiable information cannot be determined. In another example, a user's geographic location may be generalized to a larger region (e.g., city, zip code, state, country, etc.).

[0157] Although this description has been described with respect to specific implementations thereof, these specific implementations are exemplary only and not limiting, and concepts illustrated in the examples may be applied to other examples and implementations.

[0158] It should be noted that the functional blocks, operations, features, methods, devices, and systems described in this disclosure may be combined or divided into different combinations of systems, devices, and functional blocks, as will be known to those skilled in the art. Any suitable programming language and programming techniques may be used to implement the routines of a particular implementation. Different programming techniques, e.g., procedural or object-oriented, may be employed. The routines may be executed on a single processing device or multiple processors. Although steps, operations, or computations may be presented in a particular order, the order may be changed in different particular implementations. In some implementations, multiple steps or operations shown as sequential in this specification may be performed simultaneously. [Explanation of symbols]

[0159] 100 Exemplary network environment, network environment 102 Online virtual experience platform, platform 104 Virtual experience engine, virtual experience engine and / or server, online virtual experience server 105 Virtual Experience 106 APIs, published APIs 108 Datastore 110 first client device, client device 112, 118 Virtual Experience Application 114, 120 users 116 second client device, client device 122 Network 200 Exemplary Developer Network Environment, Network Environment 202 Survey, Self-rating Survey 204 Library of Alternatives, Library of Content Alternatives 206 Ratings 210 Developer Devices 212 Developer Applications 220 Memory Systems 302 First alternative content, content alternative, exemplary content, virtual experience content, content 304 Secondary Alternative Content, Content Alternatives, Exemplary Content, Gaming Content 321 characters 323 Non-Adult Content 341 Violence 343 One or more adult content items presented therein 345 Currency 400 Developer User Interface, Interface 402 Content Identification Part Questions 404, 406, 408, 409 410, 412, 414 Control part 500 Developer User Interface, User Interface, Interface 502, 504, 506, 508 parts 510, 512 Interface control part 800 Exemplary Computing Devices, Devices, Computing Devices, Server Devices 802 Processor 804 Memory 806 Input / Output (I / O) Interface, I / O Interface, Interface 808 Operating Systems, Software Blocks 810 Application, Software Block 812 Database, Database Module 814 Audio / Video Input / Output Devices

Claims

1. 1. A computer-implemented method for automated content presentation, comprising: receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience; receiving a request to generate at least one content alternative from a developer of the first virtual experience, the request including one or more parameters; automatically generating, in response to the request, the at least one content alternative based on the one or more parameters, the at least one content alternative being based on the received virtual experience content and different from the received virtual experience content; receiving the at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or substituting a portion of content from the received virtual experience; generating a first rating for the received virtual experience content and a second rating for the at least one content alternative; automatically providing only one of the received virtual experience content or the at least one content alternative to user devices associated with members of the second target audience based on the first rating and the second rating; 4. A computer-implemented method comprising:

2. The computer-implemented method of claim 1 , wherein the one or more parameters comprise one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter.

3. receiving a content rating request from a developer associated with the received virtual experience content, wherein the generating the first and second ratings is in response to the content rating request; The computer-implemented method of claim 1 , further comprising:

4. generating the first rating and the second rating includes receiving, from a developer, a self-rating of the received virtual experience content and a self-rating of the at least one content alternative; receiving the self-rating of the received virtual experience content and the self-rating of the at least one content alternative includes receiving from the developer at least one flag associated with a portion of the received content indicating that the portion is not suitable for a particular user demographic or target audience; 2. The computer-implemented method of claim 1.

5. the first target audience is associated with a first locale; the second target audience is associated with a second locale; the first rating is based on a first set of local rules associated with the first locale; the second rating is based on a second set of local rules associated with the second locale.

2. The computer-implemented method of claim 1.

6. indexing the at least one content alternative in a library of content alternatives based on one or more parameters, the one or more parameters comprising one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter. The computer-implemented method of claim 1 , further comprising:

7. The step of automatically providing comprises: determining that the first rating is favorable for a user associated with a user device; providing the received virtual experience content to the user device in response to determining that the first rating is favorable for the user; 2. The computer-implemented method of claim 1, comprising:

8. The step of automatically providing comprises: determining that the first rating is not favorable for a user associated with the user device; determining, in response to determining that the first rating is not favorable, that the second rating is favorable for the user; providing the at least one content alternative to the user device in response to determining that the second rating is favorable to the user; 2. The computer-implemented method of claim 1, comprising:

9. modifying a search engine weighting of the received virtual experience content based on the first rating and the second rating. The computer-implemented method of claim 1 , further comprising:

10. 2. The computer-implemented method of claim 1, wherein the first rating and the second rating are age-based ratings that identify a maximum age of an audience for which content having the first rating and content having the second rating, respectively, are acceptable.

11. generating the first rating and the second rating, receiving, from a developer of the received virtual experience content, a first self-rating of the received virtual experience content and a second self-rating of the at least one content alternative; obtaining a descriptor based on the first self-rating and the second self-rating; automatically generating the first rating and the second rating based on the obtained descriptors; 2. The computer-implemented method of claim 1, comprising:

12. 12. The computer-implemented method of claim 11, wherein the first self-rating and the second self-rating are based on a rating questionnaire, and the identification of unsuitable content is based on one or more responses to the questionnaire.

13. 1. A system comprising: a memory having instructions stored thereon; a processing device coupled to the memory, the processing device configured to access the memory and execute the instructions, the instructions providing to the processing device: receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience; receiving a request from a developer of the first virtual experience to generate at least one content alternative, the request including one or more parameters; automatically generating, in response to the request, the at least one content alternative based on the one or more parameters, the at least one content alternative being based on and different from the received virtual experience content; and receiving the at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or substituting a portion of content from the received virtual experience; generating a first rating for the received virtual experience content and a second rating for the at least one content alternative; automatically providing only one of the received virtual experience content or the at least one content alternative to user devices associated with members of the second target audience based on the first rating and the second rating; A processing device that performs operations including: A system comprising:

14. The system of claim 13 , wherein the one or more parameters comprise one or more of an age parameter, a location parameter, a gender parameter, or a preference parameter.

15. generating the first rating and the second rating includes receiving, from a developer, a self-rating of the received virtual experience content and a self-rating of the at least one content alternative; receiving the self-rating of the received virtual experience content and the self-rating of the at least one content alternative includes receiving from the developer at least one flag associated with a portion of the received content, the flag indicating that the portion is not suitable for a particular user demographic or target audience; The system of claim 13.

16. the first target audience is associated with a first locale; the second target audience is associated with a second locale; the first rating is based on a first set of local rules associated with the first locale; the second rating is based on a second set of local rules associated with the second locale. The system of claim 13.

17. Generating the first rating and the second rating includes: receiving, from a developer of the received virtual experience content, a first self-rating of the received virtual experience content and a second self-rating of the at least one content alternative, the first self-rating and the second self-rating being based on a rating questionnaire; obtaining a descriptor based on the first self-rating and the second self-rating; automatically generating the first rating and the second rating based on the obtained descriptors; The system of claim 13, comprising:

18. A non-transitory computer-readable storage medium having instructions stored thereon, the instructions causing the processing device to: receiving virtual experience content associated with a first virtual experience associated with a first target audience, the received virtual experience content including content restricted as not visible by a second target audience, the second target audience being different from the first target audience; receiving a request from a developer of the first virtual experience to generate at least one content alternative, the request including one or more parameters; automatically generating, in response to the request, the at least one content alternative based on the one or more parameters, the at least one content alternative being based on and different from the received virtual experience content; and receiving the at least one content alternative, the at least one content alternative being an alternative to the received virtual experience content, the at least one content alternative omitting or substituting a portion of content from the received virtual experience; generating a first rating for the received virtual experience content and a second rating for the at least one content alternative; automatically providing only one of the received virtual experience content or the at least one content alternative to user devices associated with members of the second target audience based on the first rating and the second rating; A non-transitory computer-readable recording medium for causing a computer to perform operations including:

Citation Information

Patent Citations

  • Broadcast type distribution method, computer-readable recording medium recording with program to make computer with execute the method recorded therein and read by computer and computer-readable recording medium with video contents recorded therein

    JP2000050233A

  • Tracking and Restricting Access

    JP2017502387A