User generated content system for making friends

文档序号:788264 发布日期:2021-04-09 浏览:15次 中文

阅读说明:本技术 用于交友的用户生成内容系统 (User generated content system for making friends ) 是由 大卫·B·巴斯祖奇 于 2019-09-10 设计创作,主要内容包括:本申请涉及一种方法和系统在协作平台上主持游戏以允许游戏用户参与所述游戏的游玩。该方法和系统识别由游戏的创建用户指定的所述游戏的条件,并识别多个游戏用户的第一社会交往标准。所述条件被满足则使得至少一个游戏用户有资格收到好友请求。该方法和系统确定在玩游戏的多个游戏用户中的第一游戏用户和第二游戏用户之间的第一社会交往满足所述游戏的条件。该方法和系统将好友请求发送到第一游戏用户的第一客户端设备,邀请第一游戏用户与协作平台上的第二游戏用户建立好友关系。(The present application relates to a method and system for hosting a game on a collaboration platform to allow game users to participate in the play of the game. The method and system identify a condition of a game specified by a creating user of the game and identify a first social interaction criterion of a plurality of game users. The condition being satisfied qualifies at least one game user for a friend request. The method and system determine that a first social interaction between a first game user and a second game user of a plurality of game users playing a game satisfies a condition of the game. The method and the system send the friend request to the first client equipment of the first game user and invite the first game user to establish friend relationship with the second game user on the cooperation platform.)

1. A method, characterized in that the method comprises:

hosting, by a processing device, a game on a collaboration platform to allow a plurality of game users to participate in play of the game;

identifying a condition of the game specified by a creating user of the game and identifying a first social interaction criterion of the plurality of game users, wherein the first social interaction criterion of the condition is satisfied such that at least one game user of the plurality of game users is eligible to receive a friend request;

determining that a first social interaction between a first game user and a second game user of the plurality of game users playing the game satisfies the first social interaction criteria for the condition of the game; and

in response to determining that the first social interaction satisfies the first social interaction criteria of the condition, sending the friend request to a first client device of the first game user and inviting the first game user to establish a friend relationship with the second game user on the collaboration platform.

2. The method of claim 1, wherein the game is a 3D user generated game created by the creating user using the collaboration platform.

3. The method of claim 1, further comprising:

providing a developer interface of the collaboration platform to a third client device of the creating user to allow the creating user to create a game specification for the game and specify that the condition identifies the first social interaction criteria; and

receiving the game specification created by the creating user using the developer interface of the collaboration platform and the condition specified by the creating user.

4. The method of claim 1, further comprising:

monitoring an event indicative of the first social interaction between the first game user and the second game user in response to identifying the condition of the game specified by the creating user.

5. The method of claim 4, wherein monitoring the event indicative of the first social interaction between the first game user and the second game user comprises:

monitoring an in-game event of a gaming environment associated with the game, the in-game event indicating a social interaction between the first game user and the second game user within the gaming environment.

6. The method of claim 4, wherein monitoring the event indicative of the first social interaction between the first game user and the second game user comprises:

monitoring a global event indicative of a social interaction between the first game user and the second game user outside of a gaming environment of the game.

7. The method of claim 1, wherein the condition comprises a proximity criterion between a first character associated with the first game user and a second character associated with the second game user within a game environment during play of the game.

8. The method of claim 1, wherein the condition comprises messaging between the first game user and the second game user concurrently with the first game user and the second game user participating in the play of the game.

9. The method of claim 1, wherein the condition comprises an identification of a common objective regarding the play of the game, wherein the common objective is shared between the first game user and the second game user.

10. The method of claim 1, wherein the condition is specific to the game and identifies the first social deal that is specific to the game and not available in other games hosted by the collaboration platform.

11. The method of claim 1, further comprising:

establishing the friend relationship between the first game user and the second game user through the cooperation platform according to the friend request;

after establishing the friend relationship between the first game user and the second game user, determining whether the friend relationship meets a high-quality friend relationship threshold; and

in response to determining that the friend relationship between the first game user and the second game user satisfies the premium friend relationship threshold, inserting a game identifier of the game into a search result in response to a search query on the collaboration platform.

12. The method of claim 11, wherein determining whether the buddy relationship satisfies the premium buddy relationship threshold comprises:

determining a premium friend relationship condition that identifies a second social interaction criterion for the first game user and the second game user;

monitoring the second social interaction between the first game user and the second game user after establishing the friend relationship between the first game user and the second game user on the collaboration platform; and

determining whether the second social interaction between the first game user and the second game user satisfies the good friend relationship condition;

in response to determining that the second social interaction between the first game user and the second game user satisfies the good friend relationship condition, increasing a good friend relationship score;

in response to determining that the second social interaction between the first game user and the second game user does not satisfy the good friend relationship condition, reducing the good friend relationship score; and

and determining whether the high-quality friend relation score meets the high-quality friend relation threshold, wherein the friend relation meets the high-quality friend relation threshold when the high-quality friend relation score is larger than the high-quality friend relation threshold, and the friend relation does not meet the high-quality friend relation threshold when the high-quality friend relation score is smaller than the high-quality friend relation threshold.

13. The method of claim 12, wherein monitoring the second social interaction between the first game user and the second game user after establishing the friend relationship between the first game user and the second game user on the collaboration platform comprises:

monitoring a global event indicative of the second social interaction between the first game user and the second game user, the global event comprising a social interaction between the first game user and the second game user in another game environment associated with another game of the collaboration platform.

14. The method of claim 12, wherein the second social interaction criteria for the premium friendship condition comprises a threshold number of times the first game user and the second game user engage in a message session after establishing the friendship.

15. The method of claim 1, further comprising:

determining a friend relationship metric suggested with a condition of the game; and

providing the measure of the friend relationship for presentation on a third client device of the creating user.

16. A system, characterized in that the system comprises:

a memory; and

a processing device coupled to the memory, wherein the processing device is configured to:

hosting a game on a collaboration platform to allow a plurality of game users to participate in play of the game;

identifying a condition of the game specified by a creating user of the game and identifying a first social engagement criterion of the plurality of game users, wherein the first social engagement criterion of the condition is satisfied such that at least one game user of the plurality of game users is eligible to receive a friend request;

determining that a first social interaction between a first game user and a second game user of the plurality of game users playing the game satisfies the first social interaction criteria for the condition of the game; and

in response to determining that the first social interaction satisfies the first social interaction criteria of the condition, sending the friend request to a first client device of the first game user and inviting the first game user to establish a friend relationship with the second game user on the collaboration platform.

17. The system of claim 16, wherein the processing device is further configured to:

monitoring an event indicative of the first social interaction between the first game user and the second game user in response to identifying the condition of the game specified by the creating user.

18. The system of claim 17, wherein to monitor the event indicative of the first social interaction between the first game user and the second game user, the processing device is further to:

monitoring an in-game event of a gaming environment associated with the game, the in-game event indicating a social interaction between the first game user and the second game user within the gaming environment.

19. A non-transitory computer-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to:

hosting, by the processing device, a game on a collaboration platform to allow a plurality of game users to participate in play of the game;

identifying a condition of the game specified by a creating user of the game and identifying a first social engagement criterion of the plurality of game users, wherein the first social engagement criterion of the condition is satisfied such that at least one game user of the plurality of game users is eligible to receive a friend request;

determining that a first social interaction between a first game user and a second game user of the plurality of game users playing the game satisfies the first social interaction criteria for the condition of the game; and

in response to determining that the first social interaction satisfies the first social interaction criteria of the condition, sending the friend request to a first client device of the first game user and inviting the first game user to establish a friend relationship with the second game user on the collaboration platform.

20. The non-transitory computer-readable storage medium of claim 19, wherein the processing device further performs the operations of:

providing a developer interface of the collaboration platform to a third client device of the creating user to allow the creating user to create a game specification for the game and specify that the condition identifies the first social interaction criteria; and

receiving the game specification created by the creating user using the developer interface of the collaboration platform and the condition specified by the creating user.

21. A method, characterized in that the method comprises:

providing, by a processing device, a game for play, wherein a plurality of game users may access the game through a collaboration platform, the game being associated with a condition that identifies a first social interaction criterion of the plurality of game users playing the game, the condition being satisfied such that at least one game user of the plurality of game users is eligible to receive a friend request;

monitoring an event identifier indicating the first social interaction between the first game user and the second game user of the plurality of game users participating in the play of the game;

determining, from the event identifier, that the first social interaction between the first game user and the second game user satisfies the first social interaction criteria identified by the condition; and

causing the friend request to be sent to a first client device of the first game user and inviting the first game user to establish a friend relationship with the second game user on the collaboration platform.

22. The method of claim 21, wherein monitoring the event identifier indicating the first social interaction between the first game user and the second game user of the plurality of game users participating in the play of the game comprises:

monitoring an identifier of an in-game event of a gaming environment associated with the game, the identifier of the in-game event indicating a social interaction between the first game user and the second game user within the gaming environment.

23. The method of claim 22, wherein the in-game event comprises a proximity criterion between a first character associated with the first game user and a second character associated with the second game user within a gaming environment of the game.

24. The method of claim 21, wherein monitoring the event identifier indicating the first social interaction between the first game user and the second game user of the plurality of game users participating in the play of the game comprises:

receiving, from the collaboration platform, an identifier of a global event indicating a social interaction between the first game user and the second game user outside of a gaming environment of the game and on the collaboration platform.

25. The method of claim 24, wherein the global event comprises a messaging between the first game user and the second game user concurrently with the first game user and the second game user participating in the game play.

Technical Field

The present application relates to the technical field of User-Generated Content (UGC) platforms, and in particular, to establishing a friend relationship on a User-Generated Content platform using social interaction conditions Generated by a User.

Background

The user-generated content platform allows users to connect to each other and share information over the internet. Users of a user-generated content platform (e.g., a game platform) may participate in a multiplayer game environment, design a customized game environment, decorate an avatar or exchange virtual items with other users, and so forth.

Disclosure of Invention

A method, the method comprising: hosting, by a processing device, a game on a collaboration platform to allow a plurality of game users to participate in play of the game; identifying a condition of the game specified by a creating user of the game and identifying a first social interaction criterion of the plurality of game users, wherein the first social interaction criterion of the condition is satisfied such that at least one game user of the plurality of game users is eligible to receive a friend request; determining that a first social interaction between a first game user and a second game user of the plurality of game users playing the game satisfies the first social interaction criteria for the condition of the game; and in response to determining that the first social interaction meets the first social interaction criteria of the condition, sending the friend request to a first client device of the first game user and inviting the first game user to establish a friend relationship with the second game user on the collaboration platform.

Drawings

In order to better explain the technical solutions of the embodiments of the present application, the embodiments of the present application are described below with reference to the drawings and the detailed description of the present application.

Fig. 1 shows a schematic diagram of a system structure provided in an embodiment of the present application.

Fig. 2A is a flowchart illustrating a method for establishing a friend relationship on a collaboration platform according to an embodiment of the present application.

Fig. 2B is a flowchart illustrating a method for establishing a friend relationship by using a game according to an embodiment of the present application.

Fig. 3 is a flowchart illustrating a method for determining whether a friend relationship meets a high-quality friend relationship threshold according to an embodiment of the present application.

Fig. 4 shows a schematic diagram of a user interface for establishing and building a game on a collaboration platform according to an embodiment of the present application.

FIG. 5 illustrates a schematic diagram of a user interface provided by an embodiment of the present application that allows a creating user to select social interaction conditions for establishing a friend relationship by creating a game of the user.

Fig. 6 shows a schematic diagram of a user interface for displaying a retrieval result provided in an embodiment of the present application.

FIG. 7 illustrates a user interface that presents metrics of friend relationships provided by embodiments of the application.

Fig. 8 shows a block diagram of a computer system provided by an embodiment of the present application.

Detailed Description

Collaboration platforms (hereinafter also referred to as "user-generated content platforms" or "user-generated content systems"), such as game platforms, provide users with a variety of ways to interact with each other. For example, users of the gaming platform may strive together towards a common goal, share various virtual gaming items, send electronic messages to each other, and so forth. A user of the collaboration platform (e.g., a game user) may play a game with a character or avatar. The collaboration platform may also allow users of the platform (e.g., the creating user) to create content for the platform that is consumable by game users of the platform. For example, a creating user of the collaboration platform may create game specifications using a development tool and publish the created game using the game specifications.

In some systems, a game user may become "friend" with another game user by sending a friend request to the other game user. If another gamer accepts the friend request, both gamers will become friends on the system. In some systems, a buddy may access the account information of the other party, while a non-buddy is prohibited from accessing the account information of the other party.

In some systems, the system may provide friend-making advice to the game user. The friend-making suggestion may suggest to the game user one or more other users with whom the game user may be interested in being friends. The system may use various techniques to determine the friend-making suggestions, but the techniques may not be determined or specified by the user of the system. Furthermore, these techniques may not be effective in providing suggestions to users of friends with whom to establish a friend relationship. Furthermore, these techniques may not be effectively applied to other systems.

Particular embodiments of the present application address the above and other challenges through crowd-sourcing techniques applied in making friends and creating friend requests on a collaboration platform. The creating user may develop a game specification that allows the collaboration platform to host the corresponding game and allows the game user to participate in the play of the game. A game is created in which a user can specify conditions for social interaction for identifying social interaction criteria. Depending on the conditions, the collaboration platform (or game) may monitor social interaction events between game users within the gaming environment of the game, either during game play or outside the gaming environment but on the collaboration platform. The condition may be satisfied by an in-game event (e.g., an in-game social interaction) or a global event (e.g., an in-platform social interaction but outside the gaming environment of the game) between characters (or game users) to qualify game users to receive a friend request to establish a friend relationship.

In some implementations, after a buddy relationship is established using user-generated conditions, the established buddy relationship may be monitored to determine whether the buddy relationship satisfies a premium buddy relationship threshold. In some implementations, the creating user may be approved for establishing premium buddy relationships and a penalty measure may be used for establishing non-premium buddy relationships. In some implementations, additional feedback may be provided to the creating user to inform the creating user of the user generation conditions, associated friend requests, and performance of established friend relationships. The creating user may use the feedback to refine or modify the user-generated conditions that qualify the gaming user to receive the friend request.

In some implementations, a developer interface is provided to the creating user that allows the creating user to create game specifications for the game or specify conditions for the game (e.g., social interaction conditions). The condition identifies a social interaction criteria for the game. The condition being satisfied qualifies at least one gaming user for receipt of a friend request. The collaboration platform may receive the game specification created by the creation user using the developer interface and the conditions selected by the creator.

In some implementations, the collaboration platform may host a game to allow game users to participate in the play of the game. The collaboration platform may identify conditions specified by a creating user of the game and identify social interaction criteria of a gaming user of the game. The social interaction criteria of the condition being satisfied qualifies at least one gaming user for receiving a friend request. A collaboration platform or game can monitor a game environment to identify in-game events representing social interactions that satisfy conditions of the game. The collaboration platform (or game) may monitor global events on the collaboration platform to identify events outside of the game environment but on the collaboration platform and that satisfy the conditions of the game. In response to identifying that the condition is satisfied, the collaboration platform or game may send a friend request to the game user whose social interaction with another game user satisfies the condition.

In some implementations, the collaboration platform can monitor established buddy relationships to determine whether the buddy relationships satisfy a premium buddy relationship threshold. If it is determined that the friend relationship satisfies the premium friend relationship threshold, the collaboration platform may identify the creating user by, for example, promoting a game in the search results or promoting other games from the same creating user in the search results. If it is determined that the friend relationship does not meet a good friend relationship threshold (e.g., a non-good friend relationship), the collaboration platform may perform a punitive measure on the creating user, such as lowering the ranking of the game to negatively impact the appearance of the game in the search results.

In some implementations, the collaboration platform can provide the creating user with a dashboard that presents information to the creating user indicating the friend requests sent and the friend relationships established using the user-generated conditions. The dashboard may provide feedback to the creating user to assist the creating user in evaluating user-generated conditions of the creating user for establishing a friendship.

In some implementations, a game for play may be provided. For example, the game may be hosted by a game server associated with the creating user. In another example, the collaboration platform may host a game. In both examples, the game user may access the game through the collaboration platform. The game is associated with conditions that identify social interaction criteria for a game user playing the game. Meeting the condition will qualify at least one gaming user to receive a friend request. The system monitors an event identifier indicating a social interaction between a first game user and a second game user of the game users participating in the play of the game. The event identifier represents a social interaction between game users participating in the play of the game. The game determines whether the social interaction between the first game user and the second game user satisfies the condition based on the event identifier. In response to determining that the social interaction between the first game user and the second game user satisfies the condition, the game causes a friend request to be sent to at least the first client device of the game user, inviting the first game user to establish a friend relationship with the second game user on the collaboration platform or game. In one example, a game may send a friend request to a first game user. In another example, the game may send an indication to the collaboration platform (through the friends API) requesting the collaboration platform to send a friends request to the first game user.

In some implementations, monitoring an event identifier indicating a first social interaction between a first game user and a second game user of the plurality of users participating in the play of the game includes monitoring an in-game event identifier within a game environment associated with the game for indicating a social interaction between the game users within the game environment.

In some implementations, monitoring an event identifier indicating a first social interaction between a first game user and a second game user of a plurality of users participating in play of the game may include receiving, from a collaboration platform, an identifier of a global event indicating a social interaction between the first game user and the second game user outside of a gaming environment of the game but still on the collaboration platform. For example, a game or game server may use an Application Programming Interface (API) to request and receive information from a collaboration platform, such as a global event identifier, indicating social interaction between a first game user and a second game player outside of the gaming environment of the game and on the collaboration platform.

In this manner, particular embodiments of the present application provide the creating user with the ability to specify and create social interaction conditions for a particular game that, when satisfied, will result in a friend request being sent to the gaming user, thereby allowing the gaming user to establish friend relationships on the collaboration platform. In particular, this addresses technical challenges and improves the process of using and providing crowd-sourcing tools to determine and establish friend relationships on a collaboration platform. For example, suggesting friend relationships on a platform using embodiments of the present application creates a system in which users are more likely to be friends and establish good quality friend relationships on a collaboration platform or game. In another example, a user is provided with a facility that allows the user to actively participate in the identification of users that may receive a friend request. In another example, using particular embodiments of the present application to suggest friends on a platform allows a user to customize the conditions under which friend-making suggestions are generated. The foregoing also improves the operation of a computer or computer network at least by distributing intensive computing operations (e.g., computer processing operations, computer storage operations, etc.) between client devices and a collaboration platform (e.g., server device). Allocating computing operations reduces the computing operations performed by the collaboration platform and frees computing resources (e.g., computer processing resources, computer storage resources, etc.) of the collaboration platform for other tasks. For example, game specification creation and social interaction condition creation may be performed by the client device using computing resources of the client device instead of computing resources of the collaboration platform. In addition, data related to the creation of game specifications and conditions may be stored on the client device prior to uploading, thereby reducing the storage overhead of the collaboration platform.

It should be noted that the present application describes the collaboration platform as a gaming platform for purposes of illustration and not limitation. The collaboration platform may be one or more of a number of platforms, such as a gaming platform, a social networking platform, a shopping platform, a messaging platform, a creation platform, and so forth. It is also noted that the examples of gaming platforms and games are used to illustrate specific embodiments of the present application for purposes of illustration and not limitation. The embodiments of the present application may be applied to various platforms.

Fig. 1 shows a schematic diagram of a system architecture 100 provided by an embodiment of the present application. The system architecture 100 (also referred to as a "system") includes client devices 110A and 110B (collectively "client devices 110"), a network 105, a data store 106, a collaboration platform 120, and a server 130. It should be understood that system architecture 100 is illustrative and not limiting. In some embodiments, system architecture 100 may include the same, fewer, more, or different elements configured in the same or different ways.

In some embodiments, the network 105 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, Wi-Fi, or a wireless local area network 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.

In some implementations, the data store 106 can be a 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 106 may also include multiple storage components (e.g., multiple drives or multiple databases) across multiple computing devices (e.g., multiple server computers).

In some implementations, the server 130 can be one or more computing devices (e.g., a rack server, a server computer, a physical server cluster, etc.). In some embodiments, the server 130 may be included in the collaboration platform 120, may be a standalone system, or may be part of another system or platform. The server 130 may include a user-generated content buddy relationship module 140.

In some implementations, the collaboration platform 120 may be one or more computing devices (e.g., a rack server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, etc.), data storage (e.g., a hard disk, memory, a database), a network, software components, and/or hardware components operable to perform operations on the collaboration platform 120 and provide users with access to the collaboration platform 120. The collaboration platform 120 may also include a website (e.g., a web page) or application backend software for providing users access to content provided by the collaboration platform 120. For example, a user may access the collaboration platform 120 using the collaboration application 114 on the client device 110. It should be understood that collaboration applications 114A and 114B are collectively referred to herein as collaboration applications 114. In some examples, collaboration application 114 may be two instances of the same application.

In some implementations, the collaboration platform 120 may be a social network that provides connections between users, or a user-generated content system that allows users (e.g., end users or consumers) to create content for the platform. The created content may also be used by other users of the system. In some embodiments of the present application, a "user" may be represented as a single individual. However, other embodiments of the present application include "users" (e.g., creating users), which are entities controlled by a group of users or automatically. For example, a group of individual users that are joined as a community or group in a user-generated content system may be considered a "user".

In some implementations, the collaboration platform 120 may be a gaming platform, such as an online gaming platform or a virtual gaming platform. For example, the gaming platform may provide single-or multi-player games to a community of users that may access or interact with games 122A-122Z using client devices 110 via network 105. In some examples, game 122 (also referred to as a "video game," "online game," or "virtual game") may be a two-dimensional 2D game, a three-dimensional 3D game (e.g., a 3D user-generated game using creator module 126), a virtual reality VR game, or an augmented reality AR game. In some examples, a user, such as a game user, may participate in a game with other game users. In some examples, game 122 may be played in real-time with other users of game 122.

In some implementations, the play of the game may refer to the interaction of one or more players with the game environment, or the presentation of the interaction on a display of the client device. In some examples, real-time or online play may refer to broadcasting, demonstrating, or displaying play as the game occurs, rather than to past or recorded play. For example, real-time gameplay may be displayed on a display of the client device 110 substantially simultaneously with user interaction with the game environment (at least within the technical limits of displaying real-time actions, e.g., user interaction with a game may be displayed within milliseconds of user input and may be presented to the user in absolute real-time). A game environment may refer to an element of play, an environment or space in which play may be presented or rendered, or a space in which a character or avatar may interact. Some portions of the game environment may be visible to the player user (e.g., the game user's view) while other portions of the game environment may not be visible to the player user (e.g., elements outside the game user's view). The game environment may be defined by game rules or game logic (e.g., game specifications) and presented to the game user for use.

In some implementations, the view of the play can be presented on the client device 110. The views on different client devices 110 may be the same or different. In some examples, a view (also referred to as a "field of view") may refer to a range of the game world that is observable, which may be seen from the perspective of the gaming machine and displayed in a display of the client device at any given moment. For example, the perspective of the game camera may be a perspective from a first person perspective or a third person perspective, or some combination thereof.

In some implementations, the game 122 may be defined by game specifications. The game specification may include an electronic file that may be executed or loaded using software, firmware, or hardware configured to present game content (e.g., digital media items) to the entity. In some examples, game specifications for game 122 may be executed and rendered using game engine 124. In some examples, the game specifications of game 122 may define a set of common rules or goals and define one or more game environments of game 122 that share a common set of rules or common goals. In some examples, different games may have different rules or goals from one another.

In some implementations, a game may have one or more environments (also referred to as "game environments" or "virtual environments") that may link multiple game environments. An example of a gaming environment may be a three-dimensional 3D gaming environment. The one or more gaming environments of game 122 may be collectively referred to as the "world" or "game world" or "virtual world" or "universe". For example, a user may construct a virtual environment that links to another virtual environment created by another user. The character of the virtual game may cross the virtual boundary into an adjacent virtual environment.

It should be understood that a 3D environment or 3D world uses graphics that use a three-dimensional representation of geometric data representing game content (or at least present the current game content as 3D content regardless of the 3D representation of geometric coordinates). Graphics used by 2D environments or 2D worlds use two-dimensional representations of geometric data representing game content.

In some implementations, the collaboration platform 120 hosts the game 122 and allows users to interact with the game 122 using the collaboration application 114 of the client device 110. Users of the collaboration platform 120 may play, create, interact with, or build the game 122, or create and build objects (e.g., also referred to as "projects" or "game objects" or "virtual game projects") of the game 122. For example, a user may create a character, a decoration of a character, one or more virtual environments for an interactive game, or construct a structure for use in game 122, etc., when generating a user-generated virtual item. In some examples, a user may purchase, sell, or trade game virtual game objects, such as in-platform currency (e.g., virtual currency), with other users of the collaboration platform 120. In some examples, collaboration platform 120 may transmit game content to collaboration application 114. In some examples, game content (also referred to as "content") may refer to any data or software instructions (e.g., game objects, games, user information, videos, images, commands, media items, etc.) associated with the collaboration platform 120 or the collaboration application 114. In some examples, a game object (e.g., also referred to as an "item" or "object" or "virtual game item") may refer to an object used, created, shared, or otherwise depicted in the game 122 of the collaboration platform 120. For example, the game object may include a part, a model, a character, a tool, a weapon, clothing, a building, a vehicle, currency, a plant, an animal system, an element described above (e.g., a window of a building), and the like.

It should be understood that the collaboration platform 120 hosting the game 122 is for illustrative purposes and not for limiting purposes. In some examples, a server external to the collaboration platform 120 may support one or more games 122. In some examples, the collaboration platform 120 may host one or more media items. Media items may include, but are not limited to, digital video, digital movies, digital photographs, digital music, audio content, melodies, website content, social media updates, electronic books, electronic magazines, digital newspapers, digital audio books, electronic periodicals, web blogs, Really Simple Syndication (RSS) feeds, electronic cartoons, software applications, and so forth. In some examples, the media item may be an electronic file that may be executed or loaded using software, firmware, or hardware configured to render numbers.

In some implementations, the games 122 may be associated with a particular user or a particular group of users (e.g., private games), or may be widely used by users of the collaboration platform 120 (e.g., public games). In some examples, the collaboration platform 120 associates one or more games 122 with a particular user or group of users, and the collaboration platform 120 may use user account information (e.g., a user account number identified as a username and password).

In some implementations, the collaboration platform 120 or the client device 110 can include a game engine 124. In some examples, game engine 124 may be used for development or execution of game 122. For example, game engine 124 may include a rendering engine ("renderer") for 2D, 3D, VR or AR graphics, physics engines, collision detection engines (and collision responses), sound engines, scripting functions, animation engines, artificial intelligence engines, networking functions, streaming functions, memory management functions, threading functions, scene graph functions or video support for movies, and the like. Components of game engine 124 may generate commands (e.g., rendering commands, collision commands, physical commands, etc.) that aid in computing and rendering the game. In some examples, game engine 124 of client device 110 may operate independently. Collaboration with game engine 124 of collaboration platform 120, or a combination of both.

In some implementations, both the collaboration platform 120 and the client device 110 execute the game engine 124. The collaboration platform 120 using the game engine 124 may perform some or all of the game engine functionality (e.g., generating physical commands, rendering commands, etc.) or offload some or all of the game engine functionality into the game engine 124 of the client device 110. In some examples, each game 122 may have a different ratio between game engine functions performed on the collaboration platform 120 and game engine functions performed on the client device 110. For example, game engine 124 of collaboration platform 120 may be used to generate physical commands in the event of a conflict between at least two game objects, while other game engine functionality (e.g., generating rendering commands) may be offloaded to client device 110. In some examples, the rate of game engine functions performed on the collaboration platform 120 and the client device 110 may be altered (e.g., dynamically) based on game conditions. For example, if the number of users participating in the play of a particular game 122 exceeds a threshold number, the collaboration platform 120 may perform one or more game engine functions previously performed by the client device 110.

For example, a game user may be playing a game 122 on a client device 110 and may send control instructions (e.g., user input such as right, left, up, down, user selection or character position and velocity information) to the collaboration platform 120. After receiving control instructions from the client device 110, the collaboration platform 120 may send play instructions (e.g., position and velocity information or commands of characters participating in group play, such as rendering commands, collision commands, etc.) to the client device 110 based on the control instructions. For example, the collaboration platform 120 may perform one or more logical operations on the control instructions (e.g., using the game engine 124) to generate play instructions for the client device 110. In other cases, the collaboration platform 120 may communicate one or more or control instructions from one client device 110 to another client device participating in the game 122. The client device 110 may use the play instructions and render the plays for presentation on a display of the client device 110.

In some implementations, the control instructions may refer to instructions that indicate in-game actions of a user character. For example, control instructions may include user inputs to control actions in the game, such as right, left, up, down, user selections, gyroscope position and orientation data, force sensor data, and the like. The control instructions may include character position and velocity information. In some examples, the control instructions are sent directly to the collaboration platform 120. In other examples, the control instructions may be sent from the client device 110A to another client device 110B, where the other client device 110B generates the play instructions using the local game engine 124.

In some implementations, the play instructions may refer to instructions that allow the client device 110 to render plays of a game, such as a multiplayer game. The play instructions may include one or more of user input (e.g., control instructions), character position and velocity information or commands (e.g., physical commands, rendering commands, collision commands, etc.).

In some implementations, the collaboration platform 120 can include a creator module 126. In some examples, the creator module 126 may allow a user of the collaboration platform 120 to design or create an environment in an existing game 122, create a new game, or create a new game object in a game or environment as a creating user. For example, a creating user may create game specifications for a game, where the game specifications are sent to collaboration platform 120 so that collaboration platform 120 may host a particular game.

In some embodiments, creator module 126 can allow a user to create, modify, or customize roles. In some examples, characters (typically game objects) are made up of components, one or more of which can be selected by a user, which automatically join together to assist the user in editing. One or more characters (also referred to as "avatars" or "models") may be associated with a user (also referred to as "game user"), where the user may control the characters to facilitate the user's interaction with the game 122. In some examples, 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 examples, customizable orange body parts include head type, body part type (arms, legs, torso, and hands), face type, hair type, and skin type, among others. In some examples, the customizable accessory includes a garment (e.g., shirt, pants, hat, shoes, glasses, etc.), a weapon, or other tool. In some examples, the user may also control the dimensions (e.g., height, width, or depth) of the character or the dimensions of the character components. In some examples, the user may control the scale of the character (e.g., blocky, anatomical, etc.). It should be understood that in some examples, a character may not include character game objects (e.g., body parts, etc.), but a user may control the character (not including character game objects) to facilitate user interaction with the game (e.g., there are no character game objects that have been rendered in a puzzle game but the user still controls the character to control actions in the game).

In some embodiments, a component such as a body part may be an original geometric shape such as a block, cylinder, sphere, etc., or some other original shape, such as a wedge, donut, tube, slot, etc. In some examples, the creator module 126 may publish the user roles for viewing or use by other users of the collaboration platform 120. In some examples, creating, modifying, or customizing characters, other game objects, games 122, or game environments may be performed by a user using a user interface (e.g., a developer interface) with or without scripts (or with or without application programming interface APIs). It is to be understood that the characters are described as having a humanoid form for purposes of illustration and not limitation. However, the character may have any form, such as a vehicle, animal, inanimate object, or other creative form.

In some implementations, the collaboration platform 120 can store the user-created roles in the data store 106. In some examples, collaboration platform 120 maintains a character directory and a game directory that may be presented to users through collaboration application 114. The user may select a game 122 to play from a game directory. In some examples, the game directory includes images of games stored on the collaboration platform 120. In addition, the user may select a character (created by the game user or other user) from a list of characters to participate in the selected game. The role catalog includes images of the roles stored on the collaboration platform 120. In some examples, one or more roles in the role directory may have been created or customized by the user. In some examples, the selected role may have role settings that define one or more components of the role.

In some embodiments, the user's role includes the configuration of the component, where the configuration of the component and the appearance of the component and more generally the appearance of the role can be defined by the role settings. In some examples, the role settings of the user role may be selected by at least the user. In other examples, the user may select a role having a default role setting or other user-selected role settings. For example, a user may select a default role from a list of roles having predefined role settings, and the user may further customize the default role by changing certain role settings (e.g., adding a shirt with a customized logo). Collaboration platform 120 can associate role settings with particular roles.

In some implementations, the collaboration platform 120 executing the creator module 126 includes a website or application of a user interface (e.g., the collaboration application 114). Wherein users (also referred to as "creating users," "creators," "owners," or "holding users") may access online computing resources (e.g., cloud resources) hosted by the collaboration platform 120 for the purpose of building, managing, editing, and interacting with the personal game 122 or game environment. For example, the creation module may provide a user interface and API so that the creation user may access game content, game engines, and other resources and tools maintained by the collaboration platform 120. In some examples, the creator module 126 includes tools available to the user for creating and instantiating a three-dimensional virtual game or environment. In some examples, the creator module 126 is available to users who wish to create and manage their own private virtual games 122. In some examples, a user may access the creator module 126 using the collaboration application 114. In some examples, the creator module 126 may use a user interface (also referred to as a "developer interface") through the collaboration application 114 to allow a user to access the functionality of the creator module 126. In some examples, the developer interface may be part of the collaboration application 114. For example, a developer interface of the collaboration application 114 may allow a user to access a library of game objects that may be selected by the user to build a game environment or to build a game 122. Users may publish their game objects through a developer interface so that users of the collaboration platform 120 may use the game.

In some implementations, the creator module 126 can provide the creating user with control over the created game 122 and environment, and the creating user can set administrative policies regarding which users are allowed to interact with the created game 122 or environment and which users have the ability to modify, edit, or interact with the game 122 or environment. Unless otherwise stated, a user having administrative control may also be referred to as an administrative user in this application. In some examples, the governing rules may be refined to the extent that various levels of interaction, modification, or editing capabilities are specified for certain individuals that may be recruited or wish to interact with the game 122 or game environment. For example, individuals may be recruited from friends in the collaboration platform 120 or from friends in an online venue associated with a social network or other team. In some examples, the creator module 126 has administrative tools for setting such policies, including or in addition to general rules for interacting in the game 122 or game environment.

In some implementations, the client devices 110A-110B may each include a computing device, such as a personal computer PC, a mobile device (e.g., a laptop, mobile phone, smartphone, tablet or netbook computer), a networked television, a game console, and so forth. In some examples, client devices 110A-110B may also be referred to as "user devices. In some examples, one or more client devices 110 may connect to the collaboration platform 120 at any given time through the collaboration application 114. It should be understood that the number of client devices 110 is exemplary only, and not limiting. In some examples, any number of client devices 110 may be used.

In some implementations, each client device 110 may include an instance of a collaboration application 114. In one example, the collaboration application 114 may be an application that allows a user to use and interact with the collaboration platform 120, such as to control a virtual character in a virtual game hosted by the collaboration platform 120, or to view or upload content, such as games 122, images, video items, web pages, documents, and so forth. In one example, the collaboration application 114 may be a Web application (e.g., an application operating in conjunction with a Web browser) that may access, retrieve, render, or navigate content (e.g., avatars in a virtual environment, etc.) provided by a Web server. In another example, the collaboration application 114 may be a local application (e.g., a mobile application, an application, or a game program) that is installed and executed locally on the client device 110 and allows a user to interact with the collaboration platform 120. The application 114 may render, display, or present content (e.g., web pages, media viewers) to the user. In some examples, collaboration application 114 may also include an embedded media player (e.g., a Flash player) embedded in the web page.

According to particular embodiments of the present application, the collaboration application 114 may be a collaboration platform application for a user to build, create, edit, upload content to the collaboration platform 120 and interact with the collaboration platform 120 (e.g., play a game hosted by the collaboration platform 120). As such, the collaboration application 114 may be provided to the client devices 110A and 110B by the server 130 or the collaboration platform 120. In another example, collaboration application 114 may be an application downloaded from server 130. In some examples, the collaboration application 114 of the client device 110 may include a game engine 124. In some examples, game engine 124 of client device 110 may be separate from collaboration application 114.

In some implementations, a user may log into the collaboration platform 120 through the collaboration application 114. A user may access a user account by providing user account information (e.g., a username and password) associated with one or more roles that may be used to participate in one or more games 122 of the collaboration platform 120.

In general, the functions described in one example as being performed by the collaboration platform 120 may also be performed by the client devices 110A-110B or the server 130 in other examples (if applicable). In addition, the functionality attributed to a particular component may be performed by different or multiple components operating together. The collaboration platform 120 may also be provided as a service to other systems or devices through an appropriate application programming interface, API, and is therefore not limited to use in a website.

In some implementations, the collaboration platform 120 may include a messaging module 128. In some examples, messaging module 128 may be a system, application, or module that allows users to exchange electronic messages over a communication system, such as network 105. Messaging module 128 may be associated with collaboration application 114 (e.g., a module of collaboration application 114 or a separate application). In some examples, users may interact with the messaging module 128 and exchange electronic messages between users of the collaboration platform 120. The messaging module 128 may be, for example, an instant messaging application, a text messaging application, an email application, a voice messaging application, a video messaging application, a combination thereof, or the like.

In some implementations, the messaging module 128 can facilitate the exchange of electronic messages between users. For example, a user may log into a messaging application on client device 110A, while another user may log into a messaging application on client device 110B. Two users may initiate a conversation, such as an instant messaging conversation. The messaging module 128 may help facilitate message conversations by sending and receiving electronic messages between users of the collaboration platform 120. In another example, two users may engage in an in-game conversation with each other using respective messaging applications, where the conversation may become part of a view that includes play.

In some implementations, users of the collaboration platform 120 may connect to other users and be identified by the collaboration platform 120 as "friends". A "buddy" on a collaboration platform 120 may refer to a connection with another user through the collaboration platform 120. A "buddy relationship" may refer to a connection between at least two users through collaboration platform 120. In some examples, users and their friends may have special access rights, such as the ability to view the friends' user account information, send electronic messages to each other, trade goods, and other goods. In some examples, establishing a buddy relationship may be performed by sending a buddy request to another user and having the other user accept the buddy request to establish the buddy relationship. The buddy request may be a message sent to the user (or an alternate message) requesting that the user establish a buddy relationship with another user on the collaboration platform 120.

In some examples, a user of the collaboration platform 120 may have basic functionality to interact with other users of the collaboration platform 120. By establishing a buddy relationship with another user, the user may be allowed access to other functionality (also referred to as "privileges" or "other privileges") of the collaboration platform 120, such that the buddy has a greater opportunity to interact. In some examples, a user of collaboration platform 120 as a buddy may be able to use basic functionality and additional functionality in response to establishing a buddy relationship.

In some examples, the additional functionality may include messaging functionality that allows user a (e.g., a user of client device 110A) and user B (e.g., a user of client device 110B) to use a messaging service (e.g., messaging module 128) (e.g., posting, chat, personal messaging, public messaging, messaging in a virtual gaming environment, video, etc.) through collaboration platform 120. For example, messaging functions may allow users to send messages to each other. In another example, the messaging functionality allows users to communicate certain types of information (e.g., sensitive information, contact information, names, pictures, voice recordings, current location, unique identifiers (device IDs), etc.) between each other, otherwise filtered by the messaging module 128. It should be understood that user a and user B are for illustration and not limitation. For example, the collaboration platform 120 may include one or more users that are able to establish a friendship that enables the collaboration platform 120 to grant additional functionality.

In some examples, the additional functionality may include sharing functionality that allows user A and user B to share items with each other through the collaboration platform 120. For example, a user of a gaming platform may have a sharing function that allows the user to purchase, trade, or transfer virtual items (e.g., virtual currency) in a virtual gaming environment.

In some examples, the additional functionality may include a follow-up functionality that allows user a and user B to follow each other into the game 122 or into a particular gaming environment of the game 122 hosted by the collaboration platform 120. For example, user A may be participating in game 122A. The following functionality may allow user B to navigate to user A's profile page and select the option "join Game" on user A's profile page that places user B in game 122A (e.g., the particular gaming environment of game 122A is also the location in which user A participates). In some examples, the following functions may also include notification functions, such as notifying user B of the movement of user a or the game currently being engaged.

In some examples, the additional functionality may include an invitation functionality that allows user A and user B to invite each other to participate in a private game hosted by collaboration platform 120. For example, user a may create a private game and the invitation function may allow user a to invite user B to participate in the private game.

In some examples, the additional functionality may include a group function that allows user a and user B to join a group hosted by the collaboration platform 120. For example, the additional functionality may allow user A to invite user B to join a group in which user A is a member of the group or group creator. Members of a certain group may participate with each other to compete with different groups in game 122, may participate with each other in buildings (e.g., environments, structures, etc.) within game 122, may participate with each other to create game 122 (e.g., via creator module 126), and so on.

In some examples, the additional functionality includes interactive functionality that allows user A and user B to interact with each other through the collaboration platform 120. For example, the basic functionality may allow a user to participate in a single-player game (but not a multiplayer game) while the interactive functionality may allow a user to participate in a multiplayer game. In another example, the basic functionality may allow user a to compete with other users in the game 122, and the interactive functionality may allow user a to compete with other users in the game 122 with user B. It is to be understood that the other functions described herein are for purposes of illustration and not limitation. In other examples, other functionality of collaboration platform 120 may be included in other functionality provided in view of establishing a buddy relationship.

For purposes of illustration and not limitation, the user generated content buddy relationship module 140 is described as being implemented on the collaboration platform 120. In other examples, user-generated content buddy relationship module 140 may be partially or fully implemented on server 130. In other examples, the user-generated content buddy relationship module 140 may be partially or fully implemented on the client device 110. In other examples, the user-generated content buddy relationship module 140 runs on one or more client devices 110, and the server 130 or collaboration platform 120 may work in concert to perform the operations described herein. Although specific embodiments of the present application are described based on a collaboration platform, other examples may be generally applicable to any type of platform that provides connectivity between users or user-generated content. The user-generated content buddy relationship module 140 may help facilitate the operations described herein, such as the operations described in fig. 2 through 7. In some examples, the user-generated content buddy relationship module 140 may be part of another application (e.g., collaboration application 114), such as a plug-in. In some examples, user-generated content buddy relationship module 140 may be a separate application executing on the device.

Where the systems discussed herein collect or may utilize personal information about a user, the user may be provided with an opportunity to control whether the collaboration platform 120 collects user information (e.g., information about the user's social network, social activity or activity, profession, the user's preferences, or the user's current location), or whether and/or how to receive content from a content server that is more relevant to the user. In addition, some data may be processed in one or more ways to delete personally identifiable information before it is stored or used. For example, the identity of the user may be processed so that no personally identifiable information for the user can be determined, or the geographic location of the user may be generalized where location information (e.g., city, zip code, or state level) is obtained so that a particular location of the user cannot be determined. Thus, the user may have control over how information is collected about the user and used by the collaboration platform 120.

Fig. 2A is a flowchart illustrating a method for establishing a friend relationship on a collaboration platform according to an embodiment of the present application. Method 200 may be performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, programmable logic, microcode), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In some examples, the user-generated content buddy relationship module 140 executing at the collaboration platform 120 may perform some or all of the operations. In some examples, the user-generated content buddy relationship module 140 executing on the collaboration platform 120, the client device 110A, the client device 110B, the server 130, or a combination thereof may perform some or all of the operations. The elements of fig. 1 and 4-7 may be used to help illustrate the method 200. It should be appreciated that in some examples, method 200 may include the same, different, fewer, or greater number of operations performed in any order.

At block 205 of method 200, the processing logic executing method 200 provides the developer interface of the collaboration platform 120 to the client device 110A of the creating user. The developer interface allows the creating user to create a game specification for the game 122 and specify the condition (also referred to as a "social interaction condition") that identifies the first social interaction criteria of the game user playing the game. The first social interaction criteria of the condition being satisfied qualifies at least one gaming user for receipt of a friend request. Fig. 4 and 5 further illustrate schematic diagrams of user interfaces (e.g., user interface 400 shown in fig. 4 and user interface 500 shown in fig. 5).

Referring to FIG. 4, a creating user may use the user interface 400 to design a game specification for a game that may be hosted by the collaboration platform 120 and publish the game so that a game user of the collaboration platform 120 may play or access the game.

Referring to fig. 2, in some examples, the social interaction conditions may include creating one or more user-generated conditions specified by the user, and social interaction criteria may be identified for at least two users playing the game (e.g., game users).

Referring to FIG. 5, in some examples, a developer interface (e.g., user interface 500 of FIG. 5) allows a user to specify social interaction conditions 518 from a predetermined selection of criteria or to create social interaction conditions 518 specific to creating a user's game. For example, the creating user may select a criterion (e.g., proximity criterion 520) from a predetermined selection of criteria that identifies social interaction criteria (proximity criteria for a character in a game) for two users, which criteria, when satisfied, causes the collaboration platform 120 to send a friend request to at least one of the two users. In another example, a creating user may create customized social interaction conditions specific to the creating user's game. For example, if the game is a catch-and-hide game, the customized social engagement criteria may be the time when two characters hide together at the same location. The game data may indicate that two characters are in the same virtual position in the game environment for at least a threshold period of time. The game data also indicates that the two characters are doing hidden activities (e.g., not visible from certain camera angles corresponding to the perspectives of other game users). It should be appreciated that social interactions between two game users may be represented by game data, as further described below with respect to fig. 2A and 5.

Referring to FIG. 2, processing logic receives game specifications for a game 122 created by a creating user using a developer interface of the collaboration platform 120 (e.g., the user interface 400 of FIG. 4) and the conditions specified by the creating user (e.g., social interaction conditions) at block 210. It should be understood that the game specification may include the condition or the condition may be separate from the game specification. For example, the creating user may use the developer interface to save the game specifications of the game 122 and publish the game 122 so that the game 122 is hosted by the collaboration platform 120 (or at least accessible to game users of the collaboration platform 120) and made available for play by game users of the collaboration platform 120.

At block 215, processing logic hosts the game 122 on the collaboration platform 120 to allow the game user to participate in the play of the game 122. When hosting the game 122, the collaboration platform 120 may allow a user to play the game 122 using or accessing the hardware and software resources of the collaboration platform 120 via the client device 110.

At block 220, processing logic may identify a condition of game 122 (e.g., a social interaction condition). In some examples, the social interaction conditions have been specified by the creating user of the game 122. In some examples, the condition identifies a first social interaction criterion for a plurality of game users. The condition being satisfied (e.g., the first social interaction criteria being satisfied) then qualifies at least one of the first game user or the second game user for receipt of the friend request.

For example, after receiving the game metrics of the game 122 and the associated social interaction conditions specified by the creating user, the collaboration platform 120 may store the game metrics and the social interaction conditions (e.g., the social interaction conditions 518 shown in FIG. 5) of the game 122 in memory. When a game user participates in the play of the game 122, the collaboration platform 120 (or game) may retrieve from memory social interaction conditions associated with the particular game 122.

In an illustrative example, the social interaction conditions identified by the collaboration platform 120 include at least one of a proximity criterion (e.g., the same environment) of characters of two game users in a game environment of the gameplay process reaching a threshold time (e.g., 5 minutes) or a threshold number of messages sent between two game users (e.g., 20 messages sent between two users during a game session of the game 122). The game data used to evaluate the aforementioned conditions is further described below in conjunction with fig. 2A and 5.

At block 225, in response to identifying the condition (e.g., social interaction condition) of the game 122 specified by the creating user, processing logic monitors for an event indicating a first social interaction between game users of the game 122. It should be appreciated that game data (e.g., data structures) may indicate or identify social interactions between two or more game users.

In some examples, monitoring the event indicative of the first social interaction between game users of the game includes monitoring an in-game event of a gaming environment associated with the game, the in-game event indicative of a social interaction between the first game user and the second game user within the gaming environment.

In some examples, monitoring the event indicative of the first social interaction between game users of the game includes monitoring a global event indicative of a social interaction between the first game user and the second game user outside of a gaming environment of the game.

In some examples, the game data may identify or indicate events of social interaction between game users, such as in-game events or global events. In some examples, the monitoring of events may be for events performed within a gaming environment having game-specific physics (e.g., riding the same roller coaster). The in-game event may be an event performed in a gaming environment. In some examples, the collaboration platform 120 may access (e.g., using an API or not using an API directly) game data indicating an in-game event. In some examples, the game may access game data indicating an in-game event and send the game data (e.g., using an API) or a decision made using the game data to the collaboration platform 120.

In some examples, the monitoring may be for an event that is a global event (also referred to as a "platform event"). The global event is executed outside of the gaming environment but on the collaboration platform 120. For example, users A and B have played together in another game for the last 2 hours. Users A and B have conducted N chat conversations over the past week while playing games X, Y and Z. In some examples, the collaboration platform 120 may access (e.g., without using an API) global events of game data indicating the following. In other examples, the game may access game data representing the global event by retrieving the game data representing the global event from the collaboration platform 120 using the API.

In some examples, the collaboration platform 120 may perform some or all of the operations using game data (e.g., global events) generated by the collaboration platform 120, game data received from a game (e.g., in-game events), or a combination thereof. In other examples, the game may use game data (e.g., global events) received from the collaboration platform 120, generated by the game (e.g., in-game events), or a combination thereof to perform some or all of the operations described herein. In other examples, the game may be integrated with the collaboration platform 120 such that the collaboration platform 120 may access all (or most) of the game data (with or without an API) and perform all (or some) of the operations described herein.

At block 230, processing logic determines that the social interaction between the first game user and the second game user (determined using the game data) satisfies a first social interaction criterion (e.g., a social interaction condition) for the condition. For example, the conditions submitted by the creating user may be compared to game data representing social interactions between game users of the game to determine whether the conditions are satisfied.

For example, the condition for creating a user selection is that two game users are at least approximately at least 5 minutes (e.g., in the same environment of the game). The collaboration platform 120 (or game) may use the game data to determine that two game users have approached (e.g., within a threshold distance) for 8 minutes, such that the condition is satisfied. In another example, the condition selected by the creating user is that two game users send messages to each other 20 times during a game play session. The collaboration platform 120 (or game) using the game data may determine that two game users sent 10 messages during the game, which does not satisfy the condition.

At block 235, in response to determining that the first social interaction between the two gaming users satisfies the first social interaction criteria of the condition of the game 122 (e.g., the social interaction condition), processing logic sends a friend request to the first client device of the first gaming user inviting the first gaming user to establish a friend relationship with the second gaming user on the collaboration platform 120 (or game). In some examples, processing logic sends a friend request to a first client device of a first game user and a second client device of a second game user, inviting the first game user and the second game user to establish a friend relationship on the collaboration platform 120 (or game). In some examples, in response to determining that the social interaction between the two game users does not satisfy the condition of game 122 (e.g., the social interaction condition), processing logic does not send a friend request to either of the two users and continues to monitor events.

In some examples, processing logic may check via collaboration platform 120 to determine whether two game users are already friends. If processing logic determines that the two game users are already friends, processing logic does not send a friend request regardless of whether the social interaction of the two game users satisfies the above condition. If processing logic determines that the two game users are not friends and the social interaction between the two game users satisfies the condition, processing logic may send a friend request to at least one of the two game users.

In some examples, one or more game users that satisfy the condition may be presented with friend-making suggestions that include other game users that satisfy the condition. For example, a first game user may receive a friend-making suggestion suggesting a second game user to become a friend. The first game user may select a second game user from the friend-making suggestions, which will initiate a friend request to be sent to the second game user requesting a friend relationship to be established with the first game user.

In some examples, a friend relationship may be established via the collaboration platform 120 (or game) between first game users based on a friend request (e.g., the first game user accepts the friend request).

At block 240, after establishing a friend relationship between the first game user and the second game user, processing logic determines whether the friend relationship between the first game user and the second game user satisfies a premium friend relationship threshold. In some examples, a "good friend relationship" may refer to a friend relationship between two game users that meets (equals or exceeds) a good friend relationship threshold, indicating that the friend relationship between the two game users persists after the game is played or that the two game users continue to have social interactions on collaboration platform 120 after the friend relationship is established.

In some examples, collaboration platform 120 may implement a premium buddy relationship determination operation to determine whether a buddy relationship created using user-generated conditions establishes a premium buddy relationship (e.g., exceeds a premium buddy relationship threshold).

In response to determining that the buddy relationship is a premium buddy relationship, processing logic proceeds to block 245 where collaboration platform 120 provides an identification (e.g., an identification action) to the creating user or game. In response to determining that the buddy relationship is not a premium buddy relationship, processing logic proceeds to block 250 where processing logic performs a punitive action with respect to creating the user or game. FIG. 3 further illustrates determining whether a friendship between a first game user and a second game user satisfies a premium friendship threshold. In some examples, identification and penalty measures may be used to incentivize creating users to establish good quality buddy relationships, rather than sending spam to gaming users, for example, through buddy requests.

At block 245, in response to determining that the friendship between the first game user and the second game user is a premium friendship, processing logic provides an identification operation to the creating user or the game. In some examples, the identifying operation may include increasing the visibility of the game on the collaboration platform 120 or increasing the visibility of the game in the retrieved results in response to a retrieval query on the collaboration platform 120.

In some examples, the ranking of games identified as creating good friend relationships may be higher than the ranking of games not identified as creating good friend relationships. For example, collaboration platform 120 may determine the number of premium buddy relationships created by each game over a period of time. The games may be ranked according to the number of corresponding good friend relationships (e.g., the game for which the most good friend relationship is established may be ranked first, and the game for which the second most good friend relationship has been established may be ranked second, and so on). Higher ranked games may be promoted over lower ranked games. For example, the retrieved results for the game may be more likely to include a game that is ranked higher in creating a good friend relationship than a similar game that is not ranked high in creating a good friend relationship. In another example, the number of good friend relationships created by each game may be a ratio between the number of good friend relationships and the number of friend requests submitted. In yet another example, the number of good buddy relationships may be a ratio between the number of good buddy relationships and a total number of established buddy relationships.

In some examples, the identifying operation may include inserting the game identifier into the search results in response to a search query on the collaboration platform. In some examples, the identifying operation may include, for example, being compensated for currency or being compensated for virtual currency using the collaboration platform 120. Fig. 6 further describes the search results for good friend relationships.

At block 250, in response to determining that the friend relationship between the first game user and the second game user is not a good quality friend relationship, processing logic performs a punitive action on the creating user. In some examples, the punitive action may include removing the game from the retrieved result, lowering the game rank in a ranked list of games, such as a "top friend-making game" list, or the like.

In some examples, the ranking of games identified as not creating a good friend relationship may be lower than the ranking of games identified as creating a good friend relationship. For example, collaboration platform 120 may determine the number of premium buddy relationships that each game has created over a period of time. The games may be ranked according to the number of good friend relationships (e.g., the game that established the most good friend relationships may be ranked first, and the game that has established the second most good friend relationships may be ranked second, etc.). Lower ranked games may not be promoted or may be promoted less than higher ranked games. For example, the retrieved results for a game may be more likely to include a game that is ranked higher in creating a good friend relationship than a similar game that is not ranked high in creating a good friend relationship. In some examples, lower ranked games related to good friend relationships may not appear in the search results, may appear less frequently in the search results, or may be less visible in the search results (e.g., under a page fold).

At block 255, processing logic determines a buddy relationship metric indicating a response to the buddy request sent in response to the condition selected by the creating user being satisfied. The friend relationship may include a friend relationship between the first game user and the second game user, and other friend relationships created by a friend request under promotion of the social interaction condition of the creating user. The metric for a buddy relationship may reference one or more values, statistics, or identifiers that inform the creating user about the buddy requests and created buddy relationships sent using the social interaction conditions selected by the creating user.

At block 260, processing logic provides a measure of friend relationships for presentation on the client device of the creating user. The user interface 700 shown in FIG. 7 is provided below to help illustrate an example of a measure of friend relationship.

Fig. 2B is a flowchart illustrating a method for establishing a friend relationship by using a game according to an embodiment of the present application. The method 265 may be performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, programmable logic, microcode), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In some examples, the user-generated content buddy relationship module 140 executing on the game server hosting the game 122 may perform some or all of the operations. In other examples, the user-generated content buddy relationship module 140 executing on the collaboration platform 120, the client device 110A, the client device 110B, the server 130, or a combination thereof may perform some or all of the operations. Elements of fig. 1, 2A, and 4-7 may be used to help explain the method 265. It should be appreciated that in some examples, the method 265 may include the same, different, fewer, or greater number of operations performed in any order. Also, in some examples, the method 265 may include one or more operations as described with respect to fig. 2A.

At block 270, processing logic implementing method 265 may provide game 122 for play. Game users may access game 122 through collaboration platform 120. The game 122 is associated with a condition that identifies a first social interaction criterion of a game user playing the game. The condition being satisfied qualifies at least one gaming user for receipt of a friend request. In some examples, the game 122 may be hosted by a game server external to the collaboration platform 120. The collaboration platform 120 may provide access to the game through a search engine, resource locator (e.g., link), or other means so that a user of the collaboration platform 120 may access and play the game 122. In other examples, the collaboration platform 120 may host the game 122. In some examples, the game may use the API to exchange data or share resources with the collaboration platform 120.

At block 275, processing logic may monitor an event identifier indicating a first social interaction between a first game user and a second game user of the game users participating in the play of the game.

In some examples, monitoring an event identifier indicative of a first social interaction between a first game user and a second game user of game users participating in the play of the game includes monitoring an identifier of an in-game event (e.g., game data) of a gaming environment associated with the game, the identifier of the in-game event indicative of a social interaction between the first game user and the second game user within the gaming environment. In some examples, game 122 may monitor game data generated by game 122 to identify in-game events in the game environment. In some examples, the in-game event includes proximity criteria of a first character associated with a first game user and a second character associated with a second game user within a game environment of the game.

In some examples, monitoring an event identifier indicative of a first social interaction between a first game user and a second game user of the game users participating in the play of the game includes receiving from the collaboration platform 120 an identifier of a global event indicative of a social interaction between the first game user and the second game user outside of a game environment of the game and on the collaboration platform. For example, the game may use the API to request and receive game data from the collaboration platform 120 indicating a global event. In some examples, the global event includes messaging between the first game user and the second game user concurrently with the first game user and the second game user participating in the play of the game.

At block 280, processing logic determines, based on the event identifier, that a first social interaction between the first game user and the second game user satisfies a first social interaction criterion identified by the condition.

At block 285, processing logic causes a friend request to be sent to a first client device of a first game user inviting the first game user to establish a friend relationship with a second game user on a collaboration platform (or game). In some examples, the game 122 may send an indication to the collaboration platform 120 to request the collaboration platform 120 to send a friend request to a first client device of a first game user. In another example, the game 122 (or game server) may send a friend request to a first client device inviting a first game user to establish a friend relationship with a second game user on the collaboration platform or game 122.

Fig. 3 is a flowchart illustrating a method for determining whether a friend relationship meets a high-quality friend relationship threshold according to an embodiment of the present application. Method 300 may be performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, programmable logic, microcode), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In some examples, the user-generated content buddy relationship module 140 executing at the collaboration platform 120 may perform some or all of the operations. In other examples, the user-generated content buddy relationship module 140 executing on the collaboration platform 120, the client device 110A, the client device 110B, the server 130, or a combination thereof may perform some or all of the operations. The elements of fig. 1, 2A, and 4-7 may be used to help explain the method 300. It should be appreciated that in some examples, method 300 may include the same, different, fewer, or greater number of operations performed in any order.

At block 305, processing logic identifies a premium friendship condition that identifies a second social interaction criteria for the first game user for the second game user. It should be understood that the second social interaction criteria may be the same as or different from the social interaction criteria described in fig. 2A and 5. In some examples, the good friend relationship criteria may be determined by collaboration platform 120. For example, an administrator of the collaboration platform 120 may determine and specify a good friend relationship criterion for a particular pair of game users (e.g., gamers), for a particular game, or generally for the collaboration platform 120. The good friend relationship condition may refer to a measure of social interaction between two friends after the friend relationship is established. For example, criteria for a good friend relationship condition may include the frequency (or amount of time) that two friends play the same game over a period of time. In another example, the criteria for a good friend relationship condition may be the number of times two friends have sent messages to each other within a period of time. In some examples, the criteria for a good friend relationship condition may include one or more of the social interaction criteria described herein (e.g., the social interaction condition 518 shown in fig. 5). In some examples, the condition of a good friend relationship condition may include a number of social interactions within a time period compared to a threshold. It is to be appreciated that one or more good friend relationship conditions can be established.

At block 310, after establishing a friendship between the first game user and the second game user on the collaboration platform 120, processing logic monitors a second social interaction between the first game user and the second game user (e.g., for a period of time). The monitoring of social interactions between two friends may be similar to block 225 of fig. 2A, but social interactions between friends are monitored for multiple platforms and the entire platform.

In some examples, after establishing the friend relationship between the first game user and the second game user on the collaboration platform 120, monitoring the second social interaction between the first game user and the second game user includes monitoring a global event indicating the second social interaction between the first game user and the second game user. The global event may include a social interaction between the first game user and a second game user within another gaming environment associated with another game of the collaboration platform.

In some examples, the global event may include a number of times the first game user and the second game user are engaged in a message session after the friend relationship is established (e.g., in a platform of the same game 122 or different games, etc.).

At block 315, processing logic determines whether the social interaction between the first game user and the second game user satisfies a good friend relationship condition.

At block 320, in response to determining that the second social interaction between the first game user and the second game user satisfies the premium friendship condition, processing logic increases a premium friendship score associated with the first game user and the second game user. At block 325, in response to determining that the second social interaction between the first game user and the second game user does not satisfy the good friend relationship condition, processing logic reduces (or does not increase) the good friend relationship score.

In some examples, the good friend relationship condition for increasing the good friend relationship score may be different than the good friend relationship condition for decreasing the good friend relationship score. For example, the premium buddy relationship condition for increasing the premium buddy relationship score may be game data indicating that the first game user and the second game user communicate messages 20 times within a week after the buddy relationship is established. The good friend relationship condition for reducing the good friend relationship score may be game data indicating that no messages have been sent to each other between the first game user and the second game user within a week after the friend relationship is established. Within a week after the friend relationship is established, the message passing between game users is not changed between 1 and 19 times, so that the score of the good friend relationship is not changed.

At block 330, processing logic determines whether the premium buddy relationship score meets a premium buddy relationship threshold. A buddy relationship being satisfied means that the premium buddy relationship score equals or exceeds the premium buddy relationship threshold. If the score of the good friend relationship is smaller than the threshold value of the good friend relationship, the good friend relationship is not satisfied. In some examples, multiple conditions may be evaluated. In some examples, the condition may be evaluated over a predetermined period of time (e.g., a day, week, month, etc.).

Fig. 4 shows a schematic diagram of a user interface for establishing and building a game on a collaboration platform according to an embodiment of the present application. The elements of fig. 1 may be used to help illustrate fig. 4. In some examples, the user interface 400 may be a developer interface that allows a creator user to access the creator module 126 of the collaboration platform 120. In some examples, the creating user may access the user interface 400 using the collaboration application 114 of the client device 110 (e.g., client device 110A).

User interface 400 shows a search engine portal 410, which search engine portal 410 allows a user to be created to search for content items, such as game objects (e.g., parts and models). In this example, the creating user submits a search query to a search engine (not shown) of the collaboration platform 120 using the search term "vehicle". The search engine may perform a search process that returns relevant search results 412 for content items such as game objects based on search terms such as "vehicle".

The user interface 400 shows placement or insertion of game objects in the game workspace 414. For example, a game object 416 (e.g., a building) has been retrieved from search engine portal 410 and inserted into game workspace 414 to create a game environment for game 122. In some examples, a user may save a game 122 created using the user interface 400 and publish the game to the collaboration platform 120. In some examples, the game 122 may be created locally at the client device 110 using the user interface 400 and uploaded to the collaboration platform 120. In other examples, the game 122 may be created using the user interface 400, where the game 122 is created and stored on the collaboration platform 120. In response to publishing the game 122 using the user interface 400, the collaboration platform 120 may support the game and allow the user to access and play the game 122.

In some examples, the user interface 400 may include various resources to assist the creating user in creating the game. For example, the upper toolbar includes different tabs, such as "home", "insert", "terrain", "test", etc. As shown, the user interface includes a tab, a tab for social interaction conditions 418. In some examples, the user may access a user interface window using tabs of social interaction conditions 418 that allows the creating user to select or create user-generated conditions that identify social interactions between users of game 122, thereby qualifying the user for friend requests. Fig. 5 further depicts a user interface 500 window claimed by the tab of the social interaction condition 418.

FIG. 5 illustrates a schematic diagram of a user interface provided by an embodiment of the present application that allows a creating user to select social interaction conditions for establishing a friend relationship by creating a game of the user. The elements of fig. 1 may be used to help illustrate fig. 5. In some examples, the user interface 500 may be part of a developer interface that allows a creator user to access the creator module 126 of the collaboration platform 120. In other examples, the user interface 500 may be separate from the developer interface. In some examples, the creating user may access the user interface 500 using the collaboration application 114 of the client device 110 (e.g., client device 110A).

The user interface 500 displays social interaction conditions 518, which may include one or more criteria available for selection by the user. As described above, the user may select the social interaction conditions 518 for creating a particular game designed by the user. A game user playing a game and having a social interaction that satisfies the selected social interaction criteria 518 receives a friend request to establish a friend relationship on the collaboration platform 120. It is to be understood that the criteria included in the social interaction conditions 518 are for illustration only and not for limitation. In other examples, the social interaction conditions 518 may include the same, different, fewer, or greater options or criteria.

In some examples, the social interaction conditions 518 may include proximity criteria 520 that cause the collaboration platform 120 to send friend requests to two users associated with two characters in a game environment being played. The proximity criteria 520 may be further refined such that the proximity criteria 520 are satisfied when the distance threshold 522, the time threshold 524, or a combination thereof is satisfied. For example, game data regarding the proximity criteria 520 may identify a user (e.g., a collaboration platform user ID), a location of a character in a game environment, and a timestamp relative to the location, which may be provided by the game or collaboration platform 120. Game data pertaining to the proximity criteria 520 may indicate events in the game and be used to calculate relative proximity criteria (e.g., distance within a threshold) of two characters and the amount of time spent by the characters. The relative proximity criterion and the time spent in the relative proximity criterion may be compared to a distance threshold 522 and a time threshold 524, respectively, to determine whether the proximity criterion 520 is satisfied.

It should be understood that the game data described herein may be generated by the collaboration platform 120 or the game. In some examples, game data indicative of in-game events in the game environment may be generated by the game, and game data indicative of global events outside of the game environment may be generated by the collaboration platform 120. In some examples, game data may be provided to the game by the collaboration platform through an API, and vice versa. For example, the game may send an API request and receive an API response from the collaboration platform 120 that includes game data.

In some examples, the proximity criteria 520 may be used in conjunction with other criteria of social interaction, such as logical andor logical or, using logical operators 526. For example, the creating user may select the proximity criterion 520 and another criterion (e.g., messaging criterion 528) using the logical and operators so that both criteria must be satisfied simultaneously before sending the buddy request. In another example using logic or operators, the creating user may choose to satisfy either the proximity criteria 520 or another criterion (e.g., messaging criteria 528) before sending the buddy request. It may be noted that all criteria of the social interaction condition 518 may use the logical operator 526.

In some examples, the social interaction conditions 518 may include messaging criteria 528, where messaging between two users participating in play causes the collaboration platform 120 to send friend requests to the two users. The messaging criteria 528 may be further refined so as to be satisfied meaning that a quantity threshold 530 is satisfied, a time threshold 540, a sub-condition 568 meaning that two users are simultaneously messaging and looking at each other, a sub-condition 570 meaning that two users are simultaneously messaging and can view each other on their respective client devices or a combination thereof. In some examples, the user may message in a particular game for which social interaction conditions 518 have been specified, leave the game and continue to message outside of the particular game, and continue to message within the collaboration platform 120 (e.g., in one or more other games). In another example, the user may be messaging prior to entering a particular game for which social interaction conditions 518 have been specified.

In some examples, game data (also referred to as "platform data") regarding the messaging criteria 528 may be obtained from the collaboration platform 120 (e.g., using an API). The game data identifies users participating in the play of the game, whether the users have sent messages to each other, the number of times the users were sending messages while participating in the play of the game, historical data regarding messaging between users (e.g., the number of times users have sent messages to each other in other games), and information about users sending messages after one or more users left the game (e.g., whether users continued to send messages, initiated another session, the number of times users sent messages to each other outside the corresponding game, etc.). In some examples, the game data regarding messaging may identify global events that indicate social interactions between player users outside of the gaming environment of the game.

In some examples, the social interaction conditions 518 may include a common objective criteria 542 where two users participate in the game and have a common objective (e.g., rescue another character, find a special object, defeat an enemy, etc.), resulting in the collaboration platform 120 or game sending a friend request to at least one game user. The common target criteria 542 may be further refined such that in response to the number threshold 546 being met, the time threshold 544, or a combination thereof, the common target criteria 542 is met. In one example, the game may determine that at least two users are participating in a common goal and send an indication to the collaboration platform 120 that the two players have met common goal criteria 542.

Examples of common goals 542 include winning an enemy sentinel by collaboration, which may be represented in game data (e.g., a data structure of a game) indicating two or more users forming a team, the game providing a playability that includes capturing the goals of the enemy sentinel, and upon detecting that an enemy sentinel is captured, a first social interaction has occurred between each pair of game users of the two or more game users.

In some examples, the game data for the common goal criteria 542 may identify the user (e.g., a collaboration platform user ID, which may be received from the collaboration platform 120 through the API), the data structure indicating that the user is participating in the common goal, and a timestamp identifying a time range for the user to participate in the common goal. The game data regarding the common target criteria 542 may be indicative of an in-game event and may be used to determine whether the common target criteria 542 has been met.

In some examples, the social interaction conditions 518 may include shared activity criteria 548 where two users are engaged in play and engaged in the same or similar activity (e.g., riding the same vehicle, digging the same area, etc.), causing the collaboration platform 120 (or game) to send a friend request to at least one of the two users. The shared activity criteria 548 may be further refined such that the shared activity criteria 548 are met in response to the quantity threshold 552 (e.g., the quantity of shared activity), the time threshold 550, or a combination thereof being met.

In some examples, the game data for the shared activity criteria 548 may identify the user (e.g., a collaboration platform user ID, which may be received from the collaboration platform 120 through the API), the data structure indicates that the user is participating in the shared activity, and the timestamp identifies a time range for the user to participate in the shared activity. The game data regarding the shared activity criteria 548 may be indicative of an in-game event and may be used to determine whether the shared activity criteria 548 has been met.

In some examples, the social interaction condition 518 may include a battle with the same enemy criteria 554 (e.g., which may also be considered a sub-criteria of the common goal criteria 542), wherein two users participate in the game and battle with the same game object (e.g., another character or game generated game object), causing the collaboration platform 120 or game to send a friend request to at least one of the two users. The same enemy fighting criteria 554 may be further refined such that the same enemy fighting criteria 554 are met in response to a quantity threshold 558 (e.g., number of enemies), a time threshold 556, or a combination thereof being met.

In some examples, game data regarding the same enemy combat criteria 554 may identify the user (e.g., a collaboration platform user ID, which may be received from the collaboration platform 120 via the API), the data structure indicating the user's participation in fighting the same enemy, the number of enemies, and a timestamp identifying the time range in which the user participated in fighting the same enemy. Game data regarding the same enemy combat criteria 554 may indicate an in-game event and may be used to determine whether the same enemy combat criteria 554 have been met.

In some examples, the social interaction conditions 518 may include the same team criteria 560 where two users participating in play and their respective roles in the same team cause the collaboration platform 120 or game to send at least a friend request to one of the two users. The same team criteria 560 may be further refined such that the same team criteria 560 are met in response to meeting time threshold 562.

In some examples, game data for the same team criteria 560 may identify the user (e.g., a collaboration platform user ID, which may be received from the collaboration platform 120 through an API), the data structure indicating that the user is participating in the same team, and identifying a time range for the user to participate in the same team by a timestamp. Game data pertaining to the same team criteria 560 may indicate an in-game event and may be used to determine whether the same team criteria 560 have been met.

In some examples, the social interaction condition 518 may include a friends criterion 564 where two users (e.g., a number of common friends exceeding a threshold number) participating in the play and having common friends (e.g., through the collaboration platform 120) cause the collaboration platform 120 or the game to send a friend request to one of the at least two users.

In some examples, game data regarding friend criteria 564 may be obtained from collaboration platform 120 (e.g., using an API). The game data identifies users participating in the play of the game, whether the users share one or more common friends, and the number of common friends between the users. In some examples, the game data for the friends criteria 564 may identify global events that indicate social interactions between player users outside of the gaming environment of the game.

In some examples, the social interaction conditions 518 may include custom criteria 566, where the creating user may create customized social interaction criteria specific to the creating user's game. For example, if the game is a catch and hide game, the custom social interaction condition may be a time when two players hide together at the same location. In another example, if the game is a train game, the habitual social interaction condition may be a time when two players are in a train together. In some examples, custom criteria 566 may be implemented using natural language, pseudocode, or a particular encoding language.

In some examples, the game data pertaining to the custom criteria 566 may identify the user (e.g., a collaboration platform user ID, which may be received from the collaboration platform 120 through an API), the data structure indicating that the user is engaged in an activity identified by the custom criteria 566, etc., and a timestamp identifying a time range for the user to engage in the activity, etc. The game data associated with the custom criteria 566 may indicate in-game events and be used to determine whether the custom criteria 566 have been met. It may be noted that game data relating to custom criteria 566 may identify different in-game events and depend on creating user-specified custom criteria 566.

Fig. 6 shows a schematic diagram of a user interface for displaying a retrieval result provided in an embodiment of the present application. The elements of fig. 1 may be used to help illustrate fig. 6. The user interface 600 displays the search results 612 of the search query using the search term 614 "friend-making top-level game". As shown, search results 612 include identifiers (e.g., images) of the respective games. In some examples, the user may select a game (e.g., a game identifier) from the retrieved results 612 to access the game from the collaboration platform 120 or to access a game hosted outside of the collaboration platform 120. In some examples, the games (e.g., game identifiers) may be displayed in a ranked order. For example, games may be displayed in descending order (e.g., a ranking from 1 to 10) on top, left to right, bottom, left to right.

In some examples, the ranking of games identified as creating good friend relationships may be higher than the ranking of games not identified as creating good friend relationships. For example, collaboration platform 120 may determine the number of premium buddy relationships created by each game over a period of time. The games may be ranked according to the corresponding number of good friend relationships (e.g., the game for which the most good friend relationships are established may be ranked first, and the game for which the second most good friend relationships have been established may be ranked second, etc.). Higher ranked games may be promoted in preference to lower ranked games. For example, the search result of "friend tip game" may include the highest ranked game.

In some examples, the ranking of games identified as not creating a good friend relationship may be lower than the ranking of games identified as creating a good friend relationship. The penalizing measure may include ranking the game lower than other games with higher friend quality. Lower ranked games may not be promoted or may be promoted less than higher ranked games. For example, lower ranked games for good friend relationships may not appear in search results 612, may appear less frequently in search results 612, or may be less visible in search results 612 (e.g., under a page fold).

FIG. 7 illustrates a user interface that presents metrics of friend relationships provided by embodiments of the application. The elements of FIG. 1 may be used to help illustrate FIG. 7. In some examples, the user interface 700 may be part of a developer interface that allows a creator user to access the creator module 126 of the collaboration platform 120. In other examples, the user interface may be separate from the developer interface. In some examples, the creating user may access the user interface 700 using the collaboration application 114 of the client device 110. It may be noted that user interface 700 is provided for purposes of illustration only and is not limiting. In other examples, the user interface may contain the same, different, fewer, or other elements.

User interface 700 shows a "dashboard" that a creating user may use to display an indicator of a friend relationship sent for a particular game indicating a friend request and a friend relationship established using a friend request sent in response to meeting a social engagement condition selected by the creating user. As described above, a set of friendship relationships may reference one or more values, statistics, or identifiers that inform the creating user of the friendship relationships created using the social interaction conditions selected by the creating user.

A chart 710 of user interface 700 shows a graphical representation of the metrics of friend relationships. The right vertical axis 730 shows the number of buddy relationships established. The horizontal axis 734 shows the time period of the data (e.g., the last 4 weeks). The left vertical axis 732 shows the number of buddy requests sent. In chart 710, the total number of new buddy relationships created within a particular time period is shown by the dashed line. In chart 710, the solid line shows the total number of new buddy relationships determined to be good buddy relationships. In diagram 710, a bar graph illustrates the number of buddy requests sent within a particular time period.

User interface 700 also displays user input 736 in which the creating user can select a particular date range to display the measure of friend relationship. In some examples, user interface 700 may display other information. For example, the user interface 700 may display the conditions of social interaction selected by the user and statistics related to each criterion of the conditions. For example, the user selects proximity criteria 720 and messaging criteria 728, which may correspond to criteria (e.g., proximity criteria 520 and messaging criteria 528 of FIG. 5, respectively) selected by the creating user (e.g., using user interface 500 of FIG. 5).

In some examples, each of the selected proximity criteria 720 and messaging criteria 728 may display statistics corresponding to the chart 710. For example, in week 1, 80 buddy requests were generated by the created user-selected proximity criteria 720. Where the 40 buddy requests result in a new buddy relationship being formed on collaboration platform 120 and all 40 of the 40 new buddy relationships are determined to be good buddy relationships. In another example, in week 3, 60 buddy requests were generated by the created user-selected messaging conditions 728. Where the 40 buddy requests result in new buddy relationships being formed on collaboration platform 120, 10 of the 40 new buddy relationships are determined to be good buddy relationships.

Fig. 8 illustrates a block diagram of a computer system 800 provided by an embodiment of the present application. The computer system 800 executes one or more sets of instructions that cause the machine to perform any one or more of the methodologies discussed herein. The set of instructions, or the like, may refer to instructions that, when executed by computer system 800, cause computer system 800 to perform one or more operations of user-generated content buddy relationship module 140. The machine may operate in the capacity of a server or a client device in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a Personal Computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile telephone, a Web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify operations to be performed by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set of instructions to perform any one or more of the methodologies discussed herein.

The computer system 800 includes a processor 802, a main memory 804 (e.g., read only memory ROM, flash memory, dynamic random access memory DRAM such as SDRAM or RDRAM, etc.), a static memory 806 (e.g., flash memory, SRAM, etc.), and a data storage device 816, which communicate with each other via a bus 808.

Processor 802 represents one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More specifically, processor 002 may be a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, or a processor implementing other Instruction sets or processors implementing Instruction sets. A combination of instruction sets. The processor 002 may also be one or more special purpose processors such as an application specific integrated circuit, ASIC, field programmable gate array, FPGA, digital signal processor, DSP, network processor, or the like. Processing device 802 is configured to execute instructions of system architecture 100 and user-generated content buddy relationship module 140 to perform the operations discussed herein.

The computer system 800 may further include a network interface device 822, the network interface device 822 providing communication with other machines over a network 818, such as a Local Area Network (LAN), an intranet, an extranet, or the internet. Computer system 800 may also include a display device 810 (e.g., a Liquid Crystal Display (LCD) or a Cathode Ray Tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820 (e.g., a speaker).

The data storage 816 may include a non-transitory computer-readable storage medium 824 on which is stored a set of instructions embodying the system architecture 100 and the user-generated content buddy relationship module 140 of any one or more of the methods or methods to perform the operations described herein. The system architecture 100 and the set of instructions of the user-generated content buddy relationship module 140 may also reside, completely or at least partially, within the main memory 804 and/or within the processor 802 during execution thereof by the computer system 800. The main memory 804 and the processor 802 also constitute computer-readable storage media. The set of instructions may also be transmitted or received over a network 818 via the network interface device 822.

While the example of the computer-readable storage medium 824 is shown as a single medium, the term "computer-readable storage medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) to store the sets of instructions. The term "computer-readable storage medium" may include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term "computer readable storage medium" can include, but is not limited to, solid-state memories, optical media, and magnetic media.

In the preceding description, numerous details have been set forth. However, it will be apparent to one of ordinary skill in the art having the benefit of the present disclosure that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present disclosure.

Some portions of the detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, considered to be a self-consistent sequence of operations leading to a desired result. The sequence of operations is those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be understood that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, it is appreciated that throughout the description, discussions utilizing terms such as "executing," "submitting," "receiving," "identifying," "copying," "directing," "removing," "determining," "executing," "causing," or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's memories or registers. Other data similarly represented as physical quantities within computer system memories or registers or other such information storage, transmission or display devices.

The present disclosure also relates to apparatus for performing the operations herein. The apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, compact disk read-only memories (CD-ROMs), magnetic-optical disks, read-only memories (ROMs), Random Access Memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any type of media suitable for storing electronic instructions.

The word "example" or "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word "example" or "exemplary" is intended to present concepts in a concrete fashion. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless specified otherwise, or clear from context, "X comprises a or B" is intended to mean any of the natural inclusive permutations. That is, if X comprises A; x comprises B; or X includes A and B, then "X includes A or B" is satisfied under any of the foregoing circumstances. In addition, the articles "a" and "an" as used in this application and the appended claims may generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form. Furthermore, unless so described, the use of the terms "one embodiment" or "an embodiment" or the like are not intended to mean the same embodiment or embodiment. One or more embodiments or implementations described herein may be combined in a particular implementation or implementation. As used herein, the terms "first," "second," "third," "fourth," and the like refer to labels used to distinguish between different elements, and do not necessarily have an ordinal meaning according to their numerical designation.

It is to be understood that the above description is intended to be illustrative, and not restrictive. Other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosure can, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

In further embodiments, one or more processing devices are disclosed for performing the operations of the above embodiments. Additionally, in embodiments of the present disclosure, a non-transitory computer-readable storage medium stores instructions for performing the operations of the described embodiments. Also in other embodiments, systems for performing the operations of the described embodiments are also disclosed.

36页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于制备水的膜蒸馏设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类