Prominently displaying a target game in search results

By analyzing user game session data and search query characteristics, identifying narrow searches and highlighting target games, the problem of excessive search results on online game platforms is solved, reducing user confusion and waste of computing resources.

CN114667511BActive Publication Date: 2025-10-17ROBLOX CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980101803.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-22
Filing Date
2019-11-25
Publication Date
2025-10-17
Estimated Expiration
2039-11-25

AI Technical Summary

Technical Problem

The search engines of online gaming platforms provide too many search results, making it difficult for users to find their target games, and copycat games are confused with popular games, resulting in unnecessary gaming sessions and wasted resources.

Method used

By analyzing users' game session data and search query characteristics, we determine whether the search query points to a narrow search for a specific game, and highlight the target game in the search results to reduce the visibility of imitation games.

Benefits of technology

This reduces user confusion, reduces the initiation of uninteresting game sessions, and reduces the computing resource usage of the device for searching and presenting search results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114667511B_ABST
    Figure CN114667511B_ABST
Patent Text Reader

Abstract

A search within an online gaming platform prominently displays a target game in search results generated by the search. In some implementations, a server receives a search query from a device. The search query is executed against a data store of available games to obtain search results indicative of a set of games. Based on one or more characteristics of the set of games, it is determined whether the search query is directed to a narrow search for a particular game in the set of games. In response to determining such a narrow search, a highlight indication is used to designate the particular game, and the search results and the highlight indication are sent to the device so that a user interface is displayed that includes at least a portion of the search results. The highlight indication causes the device to highlight an identifier of the particular game relative to other search results.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of computerized data searching, and more particularly to methods, systems, and computer-readable media for prominently displaying a target game in search results generated by a search of online game platform data. BACKGROUND

[0002] Some online game platforms allow users to create content (e.g., games and game assets), connect with each other, interact with each other (e.g., within games), and share information with each other over the Internet. Users of an online game platform can participate in a multiplayer game environment in which games or portions of games have been created by other users.

[0003] When a user searches for user-generated content (e.g., games, game items, etc.) or other content, a search engine can return search results from game data based on factors such as popularity (user download counts, user ratings, etc.). However, such search engines can provide too many search results, which can confuse and overwhelm a user who is looking for results related to a target item (e.g., a particular game). Accordingly, there can be a need to improve the display of a particular search game in search results provided by a content search engine of an online game platform (or other system). SUMMARY

[0004] Embodiments of the present application relate to prominently displaying a target game in search results. In some embodiments, a method includes receiving, at a server, a search query from a device; executing the search query against a data store of available games to obtain search results from the data store, wherein the search results indicate a set of games among the available games. Based on one or more characteristics of the set of games of the search results, the method determines whether the search query is directed to a narrow search for a particular game in the set of games. In response to determining that the search query is directed to the narrow search for the particular game, a highlight indication is specified for the particular game. The method sends the search results and the highlight indication to the device, causing the device to display a user interface that includes at least a portion of the search results, wherein the highlight indication causes the device to prominently display an identifier of the particular game relative to other search results in the at least a portion of the search results.

[0005] Various embodiments and examples of the method are described. For example, in some embodiments, determining whether the search query is directed to the narrow search for the particular game is based on a characteristic that includes a number of sessions of the particular game played by users of a game platform that hosts the particular game.

[0006] In some implementations, determining whether the search query is directed to a narrow search for the particular game includes: determining a number of qualifying sessions for each game in the set of games played by users of the set of games; determining whether any of the games in the set of games are eligible as the particular game for having at least a threshold proportion of the number of qualifying sessions for each game in the set of games. In some examples, determining the number of qualifying sessions includes: obtaining a dataset including sessions for each game in the set of games; for each session for each game in the set of games: determining whether an amount of time the session was in an active state satisfies a threshold amount of time; responsive to determining that the amount of time satisfies the threshold amount of time, identifying the session as a qualifying session; responsive to determining that the amount of time does not satisfy the threshold amount of time, identifying the session as a non-qualifying session.

[0007] In some implementations, determining the number of qualifying sessions includes: obtaining a dataset including sessions for each game in the set of games; for each session for each game in the set of games: determining whether the session was initiated based on a previous search result from a previous search query input to the server, wherein the previous search result identifies a game; responsive to determining that the session was initiated based on selecting the previous search result from the previous search query input to the server, identifying the session as a qualifying session; responsive to determining that the session was not initiated by selecting the previous search result from the previous search query input to the server, identifying the session as a non-qualifying session.

[0008] In some implementations, determining the number of qualifying sessions includes: obtaining a dataset including sessions for each game in the set of games; for each session for each game in the set of games: determining whether a user of the session performed a threshold amount of activity during the session, wherein the activity includes at least one of: communicating with another user during the session, or purchasing one or more game items during the session; responsive to determining that the user performed the threshold amount of activity during the session, identifying the session as a qualifying session; responsive to determining that the user did not perform the threshold amount of activity during the session, identifying the session as a non-qualifying session.

[0009] In some implementations, determining whether the search query is directed to a narrow search for the particular game includes: determining whether at least a portion of the search query matches a canonical title of the particular game, wherein a lack of match of the search query to the canonical title indicates that the search query is not directed to a narrow search. In some implementations, the method includes determining the canonical title of the particular game, wherein determining the canonical title includes: determining a plurality of different titles for the particular game in a history of availability of the particular game to users; comparing the plurality of different titles to determine a common string in the plurality of different titles, wherein the common string is the canonical title of the particular game.

[0010] In some implementations, highlighting the identifier of the particular game relative to other search results includes at least one of displaying the identifier of the particular game in a highlighted box in the user interface while displaying other search results in the user interface, or displaying the identifier of the particular game in a larger size than other search results. In some implementations, the method includes, in response to determining that the search query does not point to a narrow search for any game in the set of games described above, sending the search results to the device without sending the highlighting indication.

[0011] In some implementations, the threshold proportion described above is a first threshold proportion, and, in response to designating the particular game using the highlighting indication, further comprising, after a period of time after the designation, in response to performing a second search query that is the same as the search query described above, receiving second search results from the data store, where the second search results indicate a second set of games among the available games; determining whether the particular game was played for at least a second threshold proportion of the number of qualified sessions for each game in the second set of games, where the second threshold proportion is different from the first threshold proportion; in response to determining that the particular game was not played for at least the second threshold proportion of the number of qualified sessions for each game in the second set of games, removing the highlighting indication from the particular game. In some examples, the second threshold proportion is greater than the first threshold proportion.

[0012] Some implementations can include a system that includes at least one processor coupled to a non-transitory computer readable medium having software instructions stored therein that, when executed by the one or more processors, cause the one or more processors to perform operations. The operations can include receiving a search query from a device, and performing the search query on a data store of available games to obtain search results from the data store, where the search results indicate a set of games among the available games. The operations further include determining, based on one or more characteristics of the set of games of the search results, whether the search query points to a narrow search for a particular game in the set of games. The operations include, in response to determining that the search query points to a narrow search for the particular game, designating the particular game using a highlighting indication. The operations include sending the search results and the highlighting indication to the device to cause the device to display a user interface that includes at least a portion of the search results, where the highlighting indication causes the device to highlight an identifier of the particular game relative to other search results in the at least a portion of the search results.

[0013] Various implementations and examples of the system are described. For example, in some implementations, the operations of determining whether the search query points to a narrow search for the particular game include determining a number of qualified sessions for each game in the set of games played by a user of the set of games, and determining whether the particular game was played for a threshold proportion of the number of qualified sessions for each game in the set of games.

[0014] In some implementations of the system, the operation of determining the number of qualifying sessions includes obtaining a dataset comprising sessions for each game in the set of games described above, and for each session for each game in the set of games: determining whether an amount of time the session was in an active state satisfies a threshold amount of time; determining whether the session was initiated based on selecting a previous search result from a previous search query input to the server, where the previous search result identified the game; in response to determining that the amount of time satisfies the threshold amount of time and in response to determining that the session was initiated based on selecting the previous search result, identifying the session as a qualifying session; in response to determining that the amount of time does not satisfy the threshold amount of time or in response to determining that the session was not initiated by selecting the previous search result, identifying the session as a non-qualifying session.

[0015] In some implementations, the operation of determining whether the search query is directed to a narrow search for the particular game includes determining whether at least a portion of the search query matches a canonical title of the particular game. For example, determining the canonical title of the particular game can include determining a plurality of different titles for the particular game in a history of availability of the particular game to the user; comparing the plurality of different titles to determine a common string in the plurality of different titles, where the common string is the canonical title of the particular game. In some implementations, the operations described above further include, in response to determining that the search query is not directed to a narrow search for any game in the set of games described above, sending the search results to the device without sending the highlight indication.

[0016] In some implementations, a non-transitory computer-readable medium has software instructions stored thereon that, when executed by a processor of a device, cause the processor to perform operations. The operations include receiving a search query, and causing the search query to be performed on a data store of available games to obtain search results from the data store, where the search results indicate a set of games in the available games. The operations include determining, based on one or more characteristics of the set of games of the search results, whether the search query is directed to a narrow search for a particular game in the set of games. The operations include, in response to determining that the search query is directed to a narrow search for the particular game, using a highlight indication to specify the particular game. The operations include causing a display device to display at least a portion of the search results in a user interface, where the highlight indication causes an identifier of the particular game to be highlighted relative to other search results in the at least a portion of the search results. In some implementations, the operation of determining that the search query is directed to a narrow search for the particular game includes at least one of: determining that the particular game was played for a threshold proportion of a number of qualifying sessions for respective games in the set of games described above; or determining that at least a portion of the search query matches a canonical title of the particular game. BRIEF DESCRIPTION OF DRAWINGS

[0017] Figure 1 is a diagram of an example system architecture in accordance with some implementations.

[0018] Figure 2 is a flowchart of an example method of providing a prominent display of a target game in search results, in accordance with some embodiments.

[0019] Figure 3 is a flowchart of an example method for determining whether a search query is directed to a narrow search, in accordance with some embodiments.

[0020] Figure 4 is an example graphical user interface displaying search results based on a search query determined to be requesting a narrow search, in accordance with some embodiments.

[0021] Figure 5 is an example graphical user interface displaying search results based on a search query determined to be requesting a broad search, in accordance with some embodiments.

[0022] Figure 6 is a block diagram illustrating an example of a computing device that can be used to implement one or more features described herein, in accordance with some embodiments. DETAILED DESCRIPTION

[0023] One or more embodiments described herein relate to prominently displaying a target game in search results produced by a search within an online gaming platform. Features can include detecting a search for a target game and providing a prominent display of the game.

[0024] Online gaming platforms (also referred to as "user-generated content platforms" or "user-generated content systems") provide various ways for users to interact with each other. For example, users of an online gaming platform can create games or other content or resources within the gaming platform (e.g., characters, graphics, items, etc. for playing games in a virtual world).

[0025] Users of an online gaming platform can work together toward a common goal in a game or in game creation, share various virtual game items, send electronic messages to each other, and so on. Users of an online gaming platform can play games that include, for example, characters (avatars) or other game objects and mechanisms. Online gaming platforms can also allow users of the platform to communicate with each other. For example, users of an online gaming platform can communicate with each other using voice messages (e.g., via voice chat), text messages, video messages, or a combination thereof. Some online gaming platforms can provide a virtual three-dimensional environment in which users can play online games.

[0026] To help improve the entertainment value of an online gaming platform, the platform can provide a search engine for games, game content, or other game-related resources, where users of the online gaming platform can use the search engine to search for games or such other content. As games and game resources can be created, changed, and added to available game data at a high rate by a variety of users, the search engine improves the discoverability of available games and resources. For example, a user can input a search query to the search engine that indicates a game title, theme, or other characteristic of a game that the user is searching for. The search engine searches a set of games and game data and provides search results as output, which can include a list of games (and / or game-related resources) that the search engine determines match the search query. In some implementations, a user can select a search result to launch and enter the associated game, communicate with an associated user, or perform some other action related to the selected game.

[0027] However, a user can be dissatisfied with some search results provided by such a search engine. For example, the search engine can provide a large number of search results, which can be confusing and disorienting to a user who is looking for a small number of search results related to a target item (e.g., a particular game). In some online gaming platforms, users are able to create a large number of games, game types, resources, etc., resulting in a large number of potential matches to a search query and a large number of search results that match a particular search query. This confusion can result in the selection and handling of user-unwanted game sessions (e.g., if a user opts into a game that the user does not want to play) and / or the input and handling of subsequent search queries after an initial unsatisfactory search result is provided.

[0028] Further, several games of an online gaming platform can be assigned the same or similar titles. For example, in some cases, if a game of one user is popular on a networked gaming platform, other users can create their own games and intentionally name their games with the name of the popular game, can copy and use images of the popular game, etc. (e.g., rip-off games, clone games, etc., referred to herein as "imitation games"). Some of these users intend to attract more attention to these imitation games by causing user confusion and having users mistakenly select and play the imitation games as the popular game. Such imitation games can be included in search results with, or even before, the popular game, causing confusion for users searching for the popular game and resulting in the initiation of unintended game sessions and / or the wasting of resources for subsequent searches.

[0029] The features described herein provide search results related to a search query after determining that the search query is narrowly directed to a particular game. For example, a search query for a popular game includes a prominent result that identifies the matching popular game, such that a user can readily identify the matching popular game in the search results. This makes the visibility of imitative games in the search results relatively low, thereby reducing user confusion. The described features determine whether a search query is directed to a narrow search for a particular game, and if so, prominently display (e.g., highlight) the target game in a set of search results. For example, in some implementations, a narrow search is determined based at least on game sessions of games in the search results that have been played by a user of the online gaming platform. In some implementations, determining a narrow search includes considering games that include a changed title, e.g., by determining a canonical title of such games that is consistently included in various titles of the games.

[0030] By providing more relevant game search results in response to a search query, the disclosed features provide technical advantages including reducing searches of game data and reducing game session initiations of games that are not of interest to a user, thereby reducing the use of computing resources (e.g., computer memory, processors, network traffic, display resources, etc.) for device searches and presentation of search results and for device execution of game programs.

[0031] Figure 1 An example system architecture 100 according to some implementations of the present disclosure is shown. The system architecture 100 (also referred to herein as “system”) includes an online gaming platform 102, a first client device 110 (also referred to herein generically as “client device 110 / 116”), a network 122, and a second client device 116. In addition to this, the online gaming platform 102 can include a game engine 104, one or more games 105, a search engine 106, and a data store 108. The client device 110 can include a game application 112. The client system 116 can include a game application 118. Users 114 and 120 can use the client device 110 and the client device 116, respectively, to interact with the online gaming platform 102.

[0032] The system architecture 100 is provided for illustration. In some implementations, the system architecture 100 can include the same, fewer, more, or different elements configured in the same or different manner than shown. Figure 1 The system architecture 100 is provided for illustration. In some implementations, the system architecture 100 can include the same, fewer, more, or different elements configured in the same or different manner than shown.

[0033] In one implementation, the network 122 can 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 cable network, a fiber optics network, etc.), a wireless network (e.g., an 802.11 network, a WiMax network, a Bluetooth network, etc.), a cellular network (e.g., a long term evolution (LTE) network, a 5G network, a 6G network, etc.), a router, a hub, a switch, a server computer, or a combination thereof. In one implementation, the network 122 can 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 cable network, a fiber optics network, etc.), a wireless network (e.g., an 802.11 network, a WiMax network, a Bluetooth network, etc.), a cellular network (e.g., a long term evolution (LTE) network, a 5G network, a 6G network, etc.), a router, a hub, a switch, a server computer, or a combination thereof.

[0034] In one implementation, the data store 108 can be a non-transitory computer- readable memory (e.g., a random access memory), a cache, a drive (e.g., a hard disk drive), a flash drive, a database system, or another type of component or device capable of storing data. The data store 108 can also include multiple storage components (e.g., multiple drives or multiple databases) that can also span multiple computing devices (e.g., multiple server computers).

[0035] In some implementations, the online gaming platform 102 can include a server (e.g., a cloud computing system, a rack server, a server computer, a physical server cluster, a virtual server, etc.) having one or more computing devices. In some implementations, the server can be included in the online gaming platform 102, can be a standalone system, or be part of another system or platform.

[0036] In some implementations, the online gaming platform 102 can include one or more computing devices (e.g., rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data stores (e.g., hard disks, memories, databases), networks, software components, and / or hardware components that can be used to perform operations on the online gaming platform 102 and provide users with access to the online gaming platform 102. The online gaming platform 102 can also include a website (e.g., one or more webpages) or an application backend software that can be used to provide users with access to content provided by the online gaming platform 102. For example, users can access the online gaming platform 102 using the game applications 112 / 118 on the client devices 110 / 116, respectively.

[0037] In some embodiments, the online gaming platform 102 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 communicate with other users via the online gaming platform 102, wherein the communication may include voice chat (e.g., synchronous and / or asynchronous voice communication), video chat (e.g., synchronous and / or asynchronous video communication), or text chat (e.g., synchronous and / or asynchronous text-based communication). In some embodiments of the present disclosure, a "user" may be represented as an individual. However, other embodiments of the present disclosure encompass "users" that are a group of users or an entity controlled by an automated source (e.g., a creative user). For example, a group of individual users that are united as a community or group in a user-generated content system may be considered a "user."

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

[0039] In some embodiments, other collaborative platforms can be used with the search and presentation features described herein instead of or in addition to the online gaming platform 102. For example, social networking platforms, purchasing platforms, messaging platforms, authoring platforms, etc. can all be used.

[0040] In some embodiments, gameplay may refer to one or more players interacting within a game (e.g., 105) using client devices (e.g., 110 and / or 116), or having interactions presented on a display or other output device of client device 110 or client device 116.

[0041] One or more games 105 are provided by an online gaming platform. In some embodiments, a game 105 can include an electronic file that can be executed or loaded using software, firmware, or hardware configured to present game content (e.g., a digital media item) to an entity. In some embodiments, a game application 112 / 118 can be executed and render a game 105 in conjunction with a game engine 104. In some embodiments, a game 105 can have a set of common rules or common objectives, and the environments of the game 105 share the set of common rules or common objectives. In some embodiments, different games can have different rules or objectives from each other.

[0042] In some embodiments, a game can have one or more environments (also referred to herein as “game environments” or “virtual environments”), where multiple environments can be linked. An example of an environment can be a three-dimensional (3D) environment. One or more environments of a game 105 can be collectively referred to herein as a “world” or “game world” or “virtual world” or “universe.” An example of a world can be a 3D world of a game 105. For example, a user can build a virtual environment that is linked to another virtual environment created by another user. Characters of a virtual game can cross virtual boundaries into an adjacent virtual environment.

[0043] It can be noted that a 3D environment or 3D world uses graphics that use a three- dimensional representation of geometric data representing game content (or at least presents game content as 3D content, whether or not a 3D representation of geometric data is used). A 2D environment or 2D world uses graphics that use a two-dimensional representation of geometric data representing game content.

[0044] In some implementations, the online gaming platform 102 can host one or more games 105 and can allow users to interact with the games 105 (e.g., search for games, game-related content, or other content) using the game applications 112 / 118 of the client devices 110 / 116. Users (e.g., 114 and / or 120) of the online gaming platform 102 can play, create, interact with, or build games 105, search for games 105, communicate with other users, create and build objects (e.g., also referred to herein as “items” or “game objects” or “virtual game items”) of games 105, and / or search for objects. For example, in generating user-generated virtual items, a user can create a character, a character’s adornment, one or more virtual environments for interactive play, or build structures used in games 105, etc. In some implementations, users can buy, sell, or trade game virtual game objects, such as in-platform currency (e.g., virtual currency), with other users of the online gaming platform 102. In some implementations, the online gaming platform 102 can send game content to the game applications (e.g., 112). In some implementations, game content (also referred to herein as “content”) can refer to any data or software instructions (e.g., game objects, games, user information, videos, images, commands, media items, etc.) associated with the online gaming platform 102 or the game applications. In some implementations, a game object (e.g., also referred to herein as “item” or “object” or “virtual game item”) can refer to an object used, created, shared, or otherwise depicted in the game applications 105 of the online gaming platform 102 or the game applications 112 or game applications 118 of the client devices 110 / 116. For example, a game object can include a part, a model, a character, a tool, a weapon, a piece of clothing, a building, a vehicle, a currency, a plant population, an animal population, a component of the aforementioned objects (e.g., a window of a building), etc.

[0045] It can be noted that the provision of the online gaming platform 102 hosting games 105 is for illustration and not limitation. In some implementations, the online gaming platform 102 can host one or more media items, which can include communication messages from one user to one or more other users. The media items can include, but are not limited to, digital videos, digital movies, digital photographs, digital music, audio content, melodies, website content, social media updates, e-books, e-magazines, digital newspapers, digital audiobooks, electronic journals, weblogs, real simple syndication (RSS) feeds, electronic comic books, software applications, etc. In some implementations, the media items can be electronic files that can be executed or loaded using software, firmware, or hardware configured to present the digital media items to an entity.

[0046] In some implementations, a game 105 can be associated with a particular user or a particular group of users (e.g., a private game), or be generally available to users of the online gaming platform 102 (e.g., a public game). In some implementations in which the online gaming platform 102 associates one or more games 105 with a particular user or group of users, the online gaming platform 102 can use user account information (e.g., a user account identifier such as a username and password) to associate a particular user with a game 105.

[0047] In some implementations, the online gaming platform 102 or the client device 110 / 116 can include a game engine 104 or a game application 112 / 118. The game engine 104 can include a game application similar to the game application 112 / 118. In some implementations, the game engine 104 can be used for development or execution of a game 105. For example, the game engine 104 can include a rendering engine (“renderer”) for 2D, 3D, VR, or AR graphics, a physics engine, a collision detection engine (and collision response), a sound engine, a scripting functionality, an animation engine, an artificial intelligence engine, a network functionality, a streaming functionality, a storage management functionality, a threading functionality, a scene graph functionality, or animation video support, among other functionalities. Components of the game engine 104 can generate commands (e.g., rendering commands, collision commands, physics commands, etc.) that help compute and render a game. In some implementations, the game application 112 / 118 of the client device 110 / 116 can work independently and / or in coordination with the game engine 104 of the online gaming platform 102, respectively.

[0048] In some implementations, both the online gaming platform 102 and the client devices 110 / 116 execute a game engine (104, 112, and 118, respectively). The online gaming platform 102 using the game engine 104 can perform some or all of the game engine functions (e.g., generate physics commands, render commands, etc.) or offload some or all of the game engine functions to the game engine 104 of the client device 110. In some implementations, the ratio of game engine functions performed on the online gaming platform 102 and game engine functions performed on the client devices 110 and 116 can be different for each game 105. For example, the game engine 104 of the online gaming platform 102 can be used to generate physics commands in the event of a collision between at least two game objects, while additional game engine functions (e.g., generating render commands) can be offloaded to the client device 110. In some implementations, the ratio of game engine functions performed on the online gaming platform 102 and the client devices 110 can change (e.g., dynamically change) based on game conditions. For example, if the number of users participating in a play of a game 105 exceeds a threshold number, the online gaming platform 102 can perform one or more game engine functions previously performed by the client device 110 or the client device 116.

[0049] For example, a user can play a game 105 on the client device 110 and the client device 116 and can send control instructions (e.g., user inputs (e.g., right, left, up, down), user selections, or character position and velocity information, etc.) to the online gaming platform 102. After receiving the control instructions from the client device 110 and the client device 116, the online gaming platform 102 can send game instructions (e.g., position and velocity information or commands for characters participating in a group game, such as render commands, collision commands, etc.) to the client device 110 and the client device 116 based on the control instructions. For example, the online gaming platform 102 can perform one or more logical operations (e.g., using the game engine 104) on the control instructions to generate game instructions for the client device 110 and the client device 116. In other instances, the online gaming platform 102 can pass one or more control instructions from one client device 110 to other client devices (e.g., 116) participating in the game 105. The client device 110 and the client device 116 can use the game instructions and render the game for presentation on the displays of the client device 110 and the client device 116.

[0050] In some embodiments, the control instructions can refer to instructions that dictate in-game actions of a user character. For example, the control instructions can include user inputs (e.g., right, left, up, down) that control in-game actions, user selections, gyroscope position and orientation data, force sensor data, etc. The control instructions can include character position and velocity information. In some embodiments, the control instructions are sent directly to the online game platform 102. In other embodiments, the control instructions can be sent from the client device 110 to another client device (e.g., client device 116), where the other client device generates game play instructions using the local game engine 104. The control instructions can include instructions to play a voice communication message or other sound from another user on an audio device (e.g., speaker, headphones, etc.).

[0051] In some embodiments, the game play instructions can refer to instructions that allow the client device 110 (or 116) to render the game play of a game (e.g., a multi-player game). The game play instructions can include one or more of user inputs (e.g., control instructions), character position and velocity information, or commands (e.g., physics commands, rendering commands, collision commands, etc.).

[0052] In some embodiments, a character (or generally, a game object) is constructed from components, one or more of which can be selected by a user, which are automatically combined together to assist the user in editing. One or more characters (also referred to herein as "avatars" or "models") can be associated with a user, where the user can control the character to facilitate the user's interaction with the game 105. In some embodiments, a character can include components such as body parts (e.g., hair, arms, legs, etc.) and accessories (e.g., T-shirt, glasses, decorative images, tools, etc.). In some embodiments, customizable body parts of a character include head types, body part types (arms, legs, torso, and hands), face types, hair types, and skin types, etc. In some embodiments, customizable accessories include clothing (e.g., shirts, pants, hats, shoes, glasses, etc.), weapons, or other tools. In some embodiments, a user can also control the scale (e.g., height, width, or depth) of a character or the scale of components of a character. In some embodiments, a user can control the proportions (e.g., blocky, anatomical, etc.) of a character. It can be noted that in some embodiments, a character can not include character game objects (e.g., body parts, etc.), but a user can control the character (without character game objects) to facilitate the user's interaction with a game (e.g., a puzzle game where there are no rendered character game objects, but a user still controls a character to control actions in the game).

[0053] In some embodiments, the components such as body parts can be primitive geometric shapes such as blocks, cylinders, spheres, etc., or some other primitive shapes such as wedges, tori, tubes, channels, etc. In some embodiments, the creator module can publish a user's avatar for viewing or use by other users of the online gaming platform 102. In some embodiments, creating, modifying, or customizing an avatar, other game objects, a game 105, or a game environment can be performed by a user using a user interface (e.g., a developer interface) and with or without scripts (or with or without application programming interfaces (APIs)). It can be noted that the avatar is described as having a humanoid form for illustration and not limitation. It can also be noted that the avatar can have any form, such as a vehicle, an animal, an inanimate object, or other creative forms.

[0054] In some embodiments, the online gaming platform 102 can store user-created avatars in the data store 108. In some embodiments, the online gaming platform 102 maintains an avatar catalog and a game catalog that are presentable to users via the online gaming platform 102. In some embodiments, the game catalog includes images of games stored on the online gaming platform 102. Further, a user can select an avatar (e.g., an avatar created by the user or other users) from the avatar catalog to participate in a selected game. The avatar catalog includes images of avatars stored on the online gaming platform 102. In some embodiments, one or more avatars in the avatar catalog can have been created or customized by a user. In some embodiments, a selected avatar can have an avatar setting that defines one or more components of the avatar.

[0055] In some embodiments, a user's avatar can include a configuration of components, where the configuration and appearance of the components, and more generally the appearance of the avatar, can be defined by an avatar setting. In some embodiments, the avatar setting of a user's avatar can be at least partially selected by the user. In other embodiments, a user can select an avatar with a default avatar setting or other user-selected avatar setting. For example, a user can select a default avatar from an avatar catalog with predefined avatar settings, and the user can further customize the default avatar by changing some avatar settings (e.g., adding a shirt with a customized logo). Avatar settings can be associated with a particular avatar by the online gaming platform 102.

[0056] In some implementations, client devices 110 or client devices 116 can each comprise a computing device, such as a personal computer (PC), a mobile device (e.g., a laptop computer, a mobile phone, a smart phone, a tablet computer, or a netbook computer), an Internet television, a game console, and the like. In some implementations, client devices 110 or client devices 116 can also be referred to as “user devices.” In some implementations, one or more client devices 110 or client devices 116 can be connected to online game platform 102 at any given moment. It can be noted that the number of client devices 110 or client devices 116 is provided for illustration and not limitation. In some implementations, any number of client devices 110 or client devices 116 can be used.

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

[0058] According to aspects of the present disclosure, game application 112 / 118 can be an online game platform application for a user to build, create, edit, upload content to online game platform 102, and interact with online game platform 102 (e.g., play games 105 hosted by online game platform 102). Thus, game application 112 / 118 can be provided by online game platform 102 to client device 110 or client device 116. In another example, game application 112 / 118 can be an application downloaded from a server.

[0059] ​In some embodiments, a user can log into the online gaming platform 102 via a gaming application. The user can access a user account by providing user account information (e.g., a username and password), where the user account is associated with one or more characters that can be used to participate in one or more games 105 of the online gaming platform 102.

[0060] Generally, functionality described in one embodiment as being performed by the online gaming platform 102 can also be performed in other embodiments by the client device 110 or the client device 116 or a server, if appropriate. Moreover, the functionality attributed to a particular component can be performed by different or multiple components operating together. The online gaming platform 102 can also be accessed as a service provided to other systems or devices through appropriate application programming interfaces (APIs), and thus is not limited to use in a website.

[0061] In some embodiments, the online gaming platform 102 can include a search engine 106. In some embodiments, the search engine 106 can be a system, application, or module that allows the online gaming platform 102 to provide a search function to a user, where the search function allows the user to search for games, game-related content, or other content within the online gaming platform 102. In some embodiments, the search engine 106 can perform one or more operations described below in connection with the flowchart shown in Figure 2 and Figure 3

[0062] Figure 2 is a flowchart of an example method 200 of providing a prominent display of a target game in search results, in accordance with some embodiments. In some embodiments, the method 200 can be implemented, for example, on a server system (e.g., the online gaming platform 102 as shown in Figure 1 In some embodiments, part or all of the method 200 can be implemented on a system such as one or more client devices 110 and client devices 116 as shown in Figure 1 In the described example, the implementing system includes one or more processors or processing circuitry, and one or more storage devices (e.g., databases or other accessible memory). In some embodiments, different components of one or more servers and / or clients can perform different blocks or other parts of the method 200.

[0063] ​At block 202, a search query is received, e.g., at a server. For example, a user (e.g., user 114) can enter a search query into a game application 112 executing on a client device 110, and the search query is sent to a server (e.g., online game platform 102) such that the search query is received at the server. Alternatively, a different application on the client device 110 can receive the search query. The search query can include one or more terms (e.g., keywords) that the user is searching for, where the terms relate to one or more games and / or game-related content within the online game platform (e.g., 102) or other system. For example, the terms can refer to a game title, a game theme (e.g., "racing"), an environment (e.g., "underwater"), a name of a character or object in a game, etc. Processing continues to block 204.

[0064] At block 204, a set of search results is obtained, where the search results are based on the search query. The search query is executed against a data store, e.g., the search query is searched within the data store. The data store includes data describing available games, which can include user-generated games and / or non-user-generated games. In some implementations, the data store can also include other data, such as game-related content (e.g., avatars, objects used in games, etc.) and non-user-generated content (e.g., game-related content). The data store also includes content or information associated with games, such as one or more of a game title, a game type, a name of a game developer or creator, a time when a game was first available, a time when a latest version of a game was available, or a popularity of a game. The data store can index items by keyword, most recent timestamp, or other field. Obtaining the search results can include matching game features based on the terms of the search query and returning the best matches, e.g., the matches that are most similar to the game features.

[0065] In some implementations, other search parameters (e.g., received with the search query) can be used to perform the search. The parameters can include selections made by the user when requesting the search (e.g., a type of content to search for (including user-generated content or non-user-generated content in the results), and / or other parameters that are applicable to help narrow the scope of the results returned from the search). For example, the parameters can be associated with a graphical user interface provided as a search interface.

[0066] A set of games is indicated in the search results, which is a subset of the available games searched in the data store. For example, the set of games can be specified by game titles that have one or more features matching the search query. The games can be associated with other data, such as one or more images (e.g., game screenshots), a creator or designer (e.g., a username), a time of creation and / or last modification, and other data. Processing continues to 206.

[0067] At block 206, a determination is made as to whether the search query is directed to a narrow search for a particular game ("target game") of a set of games in the search results. This determination is made based on one or more characteristics of the games identified in the set of search results obtained at block 204. As referred to herein, a "narrow search" is a targeted search for a particular game, e.g., a "navigation" search. For example, a user inputting a search query can be looking for a target game in the user's mind, which can be considered a narrow search. In contrast, a "broad search" as referred to herein is a non-narrow search that is considered to broadly search for multiple (or any) available games having characteristics matching one or more terms of the search query and / or semantic meanings of one or more terms of the search query. At block 206, a determination is made as to whether the search query is directed to a narrow search for a target game or a broad search for related games. For example, this determination can be made based on the input search query terms (as well as the obtained search results and related data as described herein), and does not require any additional information input by the user associated with the search query indicating the user's intent (e.g., the user does not need to provide additional input to indicate that the search query is a narrow search or a broad search). Some example implementations of block 206 are described below with reference to FIGS. 3-5. Figure 3 Some example implementations of block 206 are described below with reference to FIGS. 3-5.

[0068] If at block 206 it is determined that the search query is directed to a narrow search, the method continues to block 208, where a highlight indication is specified for the target game to which the search query is determined to be directed at block 206. For example, the target game can be associated with a flag or other indicator stored in association with an identifier of the target game, where the highlight indicator indicates that the game has been determined to be the target of a narrow search for the search query of block 202, and the identifier of the target game is to be highlighted when displayed in the search results for the query. In some implementations, the search query of block 202 is also stored in association with the highlight indication. In some implementations, particular highlight characteristics (e.g., parameters of the characteristics of the highlighted identifier indicating the target game) can also be stored in association with the highlight indicator. For example, the size of the text or image of the displayed identifier of the target game identifier, the position within a list or display area in which the target game identifier is displayed, or other characteristics can be specified by the highlight indicator. In some implementations, such highlight characteristics can be determined based on stored user preferences for search queries previously selected and / or indicated by the user (e.g., as a command, selection in a GUI, etc.). Processing continues to 210.

[0069] At block 210, one or more search results are displayed. For example, the search results may be displayed in the game application 112 that receives the search query, and / or the search results may be displayed on a web page, a media viewer, or the like. The one or more search results displayed may be a subset of the set of games obtained at block 204, or may include all of the set of games. In some example embodiments, a device (e.g., a server) that uses a highlight indication to specify a target game, as at block 208, sends the obtained search results (or a subset thereof) and the highlight indication to a client device, and the client device displays one or more of the search results and uses the highlight indication to determine which search results to highlight.

[0070] The displayed search results include identifiers of games associated with the search results, for example, identifiers of one or more games in the set of games obtained in block 204. The search results can be displayed according to any of a variety of criteria. For example, the identifiers can be displayed in order based on the popularity of the associated game (e.g., number of downloads, user ratings, number of plays, etc.), the most recent time the associated game was created or uploaded to the gaming platform, the most recent time the user played the associated game, the number of times the user clicked on the game search results, etc. Each identifier of a game can include text, an image (including a static image, a video, an animated image, an icon, an emoji, etc.), and / or audio (e.g., when directed by user input, an audio output identifies the target game). In some examples, the identifier can include text that is the title of the associated game, an icon, logo, or symbol associated with the game, an image of an object from the game, and / or a screenshot (or partial screenshot) from the game.

[0071] The displayed search results include an identifier for the target game that is highlighted relative to the identifiers of all other (non-highlighted) games in the displayed search results, e.g., displayed prominently compared to the other search results. As with other identifiers, the highlighted identifier for the target game can include text, an image (including a static image, video, animated image, icon, emoticon, etc.), and / or audio. In some examples, the highlighted identifier can include text that is the title of the target game, an icon, logo, or symbol associated with the target game, an image of an object from the target game, and / or a screenshot (or partial screenshot) from the target game.

[0072] In some examples, the highlighting of the identifier can include any of various different types of highlighting, including a display size of the identifier text, symbols, or images that are larger than other search results, a different color for the identifier than other search results, an indicator (e.g., an arrow, star, color, and / or symbol) that points to or designates the identifier, use of underlining, italics, a different font, or other modification to the text of the identifier, etc. In some examples, the highlighting can include displaying the target game using a video or animated image (as opposed to a static image for other search results), audio (as opposed to no audio for other search results), etc.

[0073] In some implementations, the highlighting can include displaying the above-mentioned identifier in a highlight slot in the user interface that visually emphasizes the identifier relative to other search results. Depending on the settings of the device (e.g., language settings, screen orientation, shape, size, etc.), the highlight slot can be located at a first position of the search result list, such as the top of the search result list or the top of the display area of the user interface, or at the left, right, or bottom of the display area. In some implementations, the location of the highlight slot in the display area of the user interface can be selected to attract the attention of the user.

[0074] In some implementations, after the display at block 210, and / or after the user exits the search engine or search interface for the search query of block 202, the highlight indication associated with the target game is removed and is no longer associated with the target game. In some implementations, the highlight indication is persistent, e.g., remains in memory in association with the target game and the search query of block 202. The persistent highlight indication can be used for a period of time after block 210, and / or for subsequent search queries that match the search query. In some implementations, processing continues to block 212.

[0075] In some implementations, block 212 can be performed to subsequently reevaluate the highlight indication for the target game, e.g., if the highlight indication is persistent. Block 212 is described below.

[0076] If it is determined in block 206 that the search query does not point to a narrow search (e.g., points to a broad search), the method continues to block 214, in which one or more search results of the set of search results are displayed but the target game is not highlighted as described with reference to block 210. For example, the search results can include identifiers displayed in any of a variety of orders and arrangements, similar to that described above. Since the target game was not determined in block 206, none of the search results are highlighted in the manner described in block 210. For example, the search results can be sent to the client device (e.g., from the server) without sending the above-described highlight indication, or sent without an indication of highlighting.

[0077] After displaying the search results in block 210 or block 214, the user interface can provide other functionality provided by the device displaying the search results. For example, a user can select one of the search results via user input (e.g., via a touchscreen or other user input device), which causes the device to initiate the game associated with the selected search result such that the user is a player in the associated game. For example, the display of the device can change to display game output from the game application 112 (or 118), and the device receives user input to affect the state of the game. In response to the user selecting the search result, the device can also or instead provide other functionality, such as displaying additional information about the selected game, communicating with the creator of the selected game via a communication network, etc.

[0078] In some implementations, the highlight indication of block 208 can last at least in part for a period of time and / or based on one or more other conditions being met. The lasting highlight indication can indicate that the target game is to be highlighted for subsequent search queries that match the search query of block 202. For example, this can allow avoiding performing at least some portions of the method 200 for some subsequent search queries, in which the system references the highlight indication to determine which search result to highlight based on the processing of the method 200 in a previous search with the same search query.

[0079] In some implementations, the entire method 200 can be periodically performed entirely, or repeatedly performed entirely after a particular number of search queries (e.g., a particular number of the same search query, or alternatively a particular number of any search query). Such a full performance of the method 200 causes the target game and the highlight indication to be determined again. In some implementations, such a full performance of the method 200 can be periodically performed by the system, e.g., even if no search queries are received, to update a lasting highlight indication previously determined for a target game.

[0080] Block 212 can be performed in some implementations to reevaluate the highlight indication for the target game. For example, block 212 can be performed if the highlight indication is persistent after block 210. Block 212 can be performed at some time after the search results are displayed in block 210, for example, according to a periodic time interval (e.g., every day or every week). In some implementations, block 212 can be performed in response to one or more subsequent search queries after the search results are displayed in block 210.

[0081] In block 212, blocks 202-210 and 214 of method 200 are performed in a subsequent iteration using the same search query and one or more different criteria than in the previous iteration to determine whether the target game still qualifies for highlighting in search results or should no longer be highlighted (and if so, the highlight indication is removed from the association with the target game).

[0082] In some examples, the different criteria can include one or more different thresholds (e.g., thresholds as described below with reference to block 306) to determine whether the search query is directed to a narrow search and to determine the target game being searched for. In some implementations, the different thresholds used in the subsequent iteration can be more stringent or more restrictive than the thresholds used previously, for example, such that it is more difficult for a search query to be deemed a narrow search and / or for a game to be deemed the particular (target) game. In some examples, the threshold number of qualifying sessions for a game initially is 70%, i.e., the target game can be deemed a narrow search in block 306. In a subsequent iteration of method 200 via block 212, the threshold number of qualifying sessions can be increased, for example, to 80%. For example, an initial threshold can be set that is easier to satisfy to make it easier for a game to be deemed a target game. However, in order to remain a target game, the game needs to satisfy a more stringent threshold in the subsequent iteration of method 200, thereby indicating that the user remains interested in the game for the search query over time. Thus, after processing a second set of search results in the subsequent iteration with the more stringent threshold, if the previous target game does not satisfy the more stringent threshold, the highlight indication is removed from the association with the game such that the game is no longer a target game for the search query. If a different game satisfies the threshold to be a target game, a highlight indication is created associated with the game.

[0083] In some examples, the more stringent threshold can be used after a particular amount of time after the initial performance of method 200 (e.g., after initially designating a target game). In some implementations, one or more of the thresholds for processing search queries in subsequent iterations can be made less stringent, for example, to allow search queries to be deemed narrow searches and / or to allow games to be more easily deemed target games.

[0084] Blocks 202 through 214 may be performed (or repeated) in a different order than described above and / or one or more blocks may be omitted.

[0085] Figure 3 is a flow chart illustrating an example method 300 for determining whether a search query refers to a narrow search, according to some embodiments. For example, the method 300 may be used to implement Figure 2 Block 206 of the example method 200 .

[0086] At block 302, a game session is determined for each game in a group of games. For example, the group of games may be Figure 2 The set of games is obtained as a result of search results obtained in response to receiving the search query in block 204. A game session is an instance of a user playing a game, for example, connecting to a server and initiating or joining a game session, and then exiting the game session. In block 302, the number of game sessions played for each game in the set of games can be determined. Other characteristics of the game sessions can also be determined in block 302, such as the time each game session started and / or ended, the duration of each game session, the number of users participating in each game session, etc. The game sessions can be determined based on a data set retrieved from a data store that stores game session data for each game available on the online gaming platform (including the games in the set of games).

[0087] At block 304, qualifying sessions are determined from the game sessions determined in block 302. For example, a determination is made as to whether each game session for each game is a qualifying session. Qualifying sessions are game sessions that meet certain conditions, and these game sessions are used in subsequent blocks of method 300 to determine whether the search query is directed to a narrow search. Qualifying sessions can be determined in any of several different ways based on one or more conditions.

[0088] In some examples, a qualifying session is based on the amount of time a session has been active, for example, the duration a user has been playing a game in a game session. For example, the system determines whether the duration a game session has been active meets a threshold amount of time. The threshold amount of time can be an amount of time that indicates the user has been engaged in the game (rather than, for example, launching a game and immediately exiting the game). For example, the threshold amount of time can be 5 minutes, 10 minutes, etc. If the session duration meets the threshold amount of time, the game session is identified as a qualifying session, and if the duration does not meet the threshold amount of time, the game session is identified as a non-qualifying session.

[0089] In other examples, a qualifying session is based on a recency of the game session, e.g., an amount of time that has passed since the game session occurred. For example, a game session that occurred (e.g., started or ended) within a threshold time from a current time can be identified as a qualifying session, and a game session that occurred more than the threshold time ago can be identified as a non-qualifying session.

[0090] In other examples, a qualifying session is based on an initiation method used by the user to initiate the game and / or the game session. For example, one initiation method can be a user selecting an identifier of a game from a set of displayed search results resulting from a prior search query entered into an online gaming platform, the selection causing the associated game to be initiated and the user device to automatically join a game session of the game. In some implementations, a game session is identified as a qualifying session if it was initiated based on selecting a prior search result from a prior search query entered into an online gaming platform. A session is identified as a non-qualifying session if it was not initiated by selecting a prior search result from a prior search query entered into the server (e.g., was not initiated by selecting any prior search result of any prior search query). Requiring such an initiation method for a qualifying session allows the system to determine game sessions that were initiated by selecting a search result. In some implementations, such game sessions can be given a greater weight than game sessions initiated via other initiation methods. Other initiation methods that can be required for a qualifying session can include, for example, selecting a game via an identifier (e.g., an icon or menu item) displayed in a user interface, selecting a game identifier or link in a web page, receiving an invitation from a different user or from the online gaming platform, etc.

[0091] In other examples, a qualifying session is based on whether the user performed a particular activity in the game and during the game session. For example, the system can determine whether a user of the session performed a threshold number of activities during the game session. If the user performed the threshold number of activities during the session, the session is identified as a qualifying session, and if the user did not perform the threshold number of activities during the session, the session is identified as a non-qualifying session. Example activities can include communicating with another user in the game session, purchasing one or more game items via the game interface during the game session, initiating an in-game tutorial, or other activities indicative of the user participating in the game session.

[0092] In some implementations, two or more conditions are used to determine whether a game session is a qualifying session. For example, as described above, the duration of the game session and the initiation method can be checked such that a qualifying session needs to satisfy both conditions.

[0093] In some implementations, different values of the weight can be assigned to game sessions based on whether the game session is a qualified session or a non-qualified session. For example, qualified sessions can be assigned a higher weight than non-qualified sessions. Some implementations can assign values from a range of weight values based on a determined magnitude of qualification of the game session. For example, a game session with a longer duration of activity can be assigned a higher weight than a game session with a shorter duration of activity (where both of these durations can be qualified durations that exceed a threshold amount of time).

[0094] In block 306, it is determined whether any of the games in the set of games were played a threshold proportion of the total number of qualified sessions of the games in the set of games. Among the set of games that satisfy the search query, the games that were played the threshold proportion of qualified sessions have the most qualified sessions. In some implementations, the threshold proportion can be a value (e.g., a percentage) high enough that the associated games were played in more qualified sessions than other games in the set of games, and the threshold proportion can also be high enough to indicate that the associated games were played in more qualified sessions than any other games in the set of games that satisfy the search query. In some examples, the threshold proportion can be 75%, 80%, or other high percentage value, such that all other games in the set of games were played in the remaining percentage of qualified sessions (e.g., 25% or 20%).

[0095] In some implementations, multiple games can qualify due to being played in qualified sessions that are a threshold proportion of the total qualified sessions. For example, if the threshold proportion is 25%, then three to four games can qualify. In some implementations, the multiple qualified games can be different versions of a target game, e.g., an updated version, an expansion, or other game related to the target game.

[0096] If it is determined in block 306 that no games in the set of games were played the threshold proportion of the total qualified sessions, then the method continues to block 308, where it is determined that the search query (e.g., block 202 of Figure 2 points to a broad search (e.g., a non-narrow search that is not directed to a particular game). In some examples, the process continues to the negative result of block 206 of Figure 2 (e.g., to block 214), where none of the game identifiers in the search results are highlighted.

[0097] If it is determined in block 306 that one of the games in the set of games (a qualified game) was played the threshold proportion of the total qualified sessions, then the method continues to block 310, where the qualified game is designated as the target game.

[0098] In some implementations, a narrow search can be identified based on a positive result of block 306, e.g., as a result of determining that the game meets the conditions of block 306 (as shown in block 310).

[0099] In other implementations, in addition to block 306 and block 310, additional processing can be performed to determine whether the search query is directed to a narrow search. For example, in the example method 300, the method continues to block 312 after block 310 to perform such additional processing.

[0100] At block 312, a title history of the target game is determined, where the title history indicates different titles that have been used in the past to identify the target game, e.g., titles in a history of the game’s availability to online game platform users over time. For example, in some online game platforms, the title of a game created by a user can be changed at any time by the user or other authorized users, and / or the title of a game can be changed by including different version numbers for the game, such that the title of the game can exist in several changes over time. These changes are stored by the online game platform and accessed at block 312. For example, in some implementations, a background process or job can be performed on the online game platform that tracks changes in version and title for all games available on the online game platform. Some implementations can store changes to the version and title of a game made by the user creator via a user interface that allows the user to indicate that a new version and / or title change has been made to the game.

[0101] At block 314, a canonical title of the target game is determined, where the canonical title is a base title that is considered to identify the game in any different version of the game (if applicable). For example, the canonical title can be determined by comparing the different titles of the game determined in block 312 and finding a common string portion between the titles. For example, if the historical titles of the target game are “Peep City,” “Peep City 2.0,” and “Peep City New Update,” the common string portion is “Peep City.” The common string portion is designated as the canonical title of the target game.

[0102] At block 316, it is determined whether the search query matches the canonical title determined in block 314. For example, the search query can be the search query received in block 202 of the method 200. In some implementations, the system can check for an exact match, e.g., where the search query and the canonical title both have the same characters. In some implementations, the above match can be an inexact match, e.g., where spaces or punctuation are ignored, or where at least a portion of the search query is required to match the canonical title. Figure 2

[0103] ​If it is determined that the search query matches a canonical title, the method continues to block 318, where it is determined that the search query points to a narrow search, which is a search that is specifically for the target game. In some examples, the method can then return to block 302. Figure 2 Block 208 in FIG. 3 as the positive branch of block 206.

[0104] If it is determined that the search query does not match a canonical title (e.g., no match exists), the method continues to block 308, where it is determined that the search query points to a broad search, such as a non-narrow search that is not for a particular game. In some examples, the method can then return to block 302. Figure 2 Block 214 in FIG. 3 as the negative branch of block 206.

[0105] In some implementations, blocks 312, 314, and 316 can be performed for all games in the set of games in addition to the target game, and / or for all available games on the online gaming platform. For example, this allows the method to perform blocks 312, 314, and 316 on the set of games or available games prior to, and / or at least partially concurrently with, performing blocks 302, 304, 306, and / or 310. For example, in some implementations, this allows the canonical title check to be performed on the set of games as a way to screen games that do not have a canonical title that matches the search query. For example, in processing of block 306, games that do not have a canonical title with a match can not be considered.

[0106] Blocks 302-316 can be performed (or repeated) in a different order than described above and / or one or more blocks can be omitted. Method 200 and / or method 300 can be performed on a server (e.g., 102) and / or a client device (e.g., 110 or 116).

[0107] Figure 4is an example graphical user interface (GUI) 400 that displays search results 402 based on a search query determined to be requesting a narrow search, according to some embodiments. The GUI 400 includes a display of a first portion (e.g., page 1) of search results that identify games that have matched the search query "Peep City" entered in a search bar 404. The GUI 400 includes an element 406 that, when selected, causes a request for a next portion (e.g., page 2, etc.) of search results to be sent and displayed in the GUI 400. In some embodiments, when the element 406 is selected, the system sends a request for the next portion of search results that includes an identification of the requested next portion (e.g., page 2, etc.).

[0108] The search results have been processed as described herein to determine whether the search query is directed to a narrow search for a target game or a broad search. In this example, it has been determined that a narrow search for the game identified by the game identifier 408 ("Peep City") is being requested. This target game is assigned a highlight indicator and the identifier of this target game is presented in the GUI 400 with the identifiers of other games obtained in the search results, with the game identifier 408 highlighted for display prominently relative to the other search results 402. In this example, the highlighted game identifier 408 is displayed at the top of the search results (e.g., in the upper left corner of the search results display area in this example), displayed in a slightly larger size, and displayed with a larger border to visually emphasize the game identifier. The search results other than the highlighted search result are displayed in order based on one or more criteria (e.g., popularity, number of players currently playing the game, recency of last game session, etc.).

[0109] For example, the game identifier 408 is determined to be the target of a narrow search based on previous game sessions of the game identified in the search results and a comparison of the canonical title to the search query. For example, the game associated with the highlighted game identifier 408 is determined to have a threshold number of qualifying game sessions. In addition, the canonical title of this game ("Peep City") is determined to match the search query. Other search results (e.g., the games associated with game identifiers 410, 412, and 414) also have canonical titles that match the search query, but are not associated with a threshold number of qualifying game sessions. As described herein, other embodiments can use other conditions to determine a target game of a narrow search.

[0110] Figure 5 is shown is an example graphical user interface (GUI) 400 that displays search results 402 based on a search query determined to be requesting a narrow search, according to some embodiments. The GUI 400 includes a display of a first portion (e.g., page 1) of search results that identify games that have matched the search query "Peep City" entered in a search bar 404. The GUI 400 includes an element 406 that, when selected, causes a request for a next portion (e.g., page 2, etc.) of search results to be sent and displayed in the GUI 400. In some embodiments, when the element 406 is selected, the system sends a request for the next portion of search results that includes an identification of the requested next portion (e.g., page 2, etc.). Figure 4Another example of a graphical user interface (GUI) 400 that displays search results based on a search query determined to be requesting a broad search. The GUI 400 includes a display of a first portion (e.g., page 1) of search results that identify games that have matched the search query "ZoomCar" entered in the search bar 404.

[0111] The search results have been processed as described herein to determine whether the search query is directed to a narrow search for a target game or a broad search. In this example, it has been determined that a broad search is being requested. Accordingly, the search results are displayed in order based on one or more criteria (e.g., popularity, number of players currently playing the game, recency of last game session, etc.), but no search result game identifiers are highlighted.

[0112] As described above, a broad search can be determined based on, for example, played game sessions of games identified in the search results and a comparison of canonical titles to the search query. For example, for the search query in the bar 404, none of the games identified in the search results are determined to have a threshold number of successful game sessions, although one game (identified by the identifier 506) has a canonical title that exactly matches the search query ("Zoom Car"). As described herein, other implementations can use other conditions to determine a narrow search or a broad search. Figure 5

[0113] ​In some implementations, one or more other techniques can be used to determine whether a search query is directed to a narrow search for a target game. For example, one or more machine learning models, clustering analysis of data, and / or heuristics can be used. Some implementations can use a trained machine learning model based on training data of previous searches performed by users and / or training data created for training purposes. In some examples of unsupervised machine learning techniques, a number of top entered search queries are selected (e.g., queries that are top based on frequency, popularity, recency, and / or other criteria), and a set of search results is obtained for each search query. The set of search results is ordered based on the number of played game sessions to obtain a graph. A power law distribution is fit to the graph, where a coefficient (e.g., a) describes the power law distribution. Each query is associated with an a based on the power law distribution of its search results. The search queries are clustered and split into two clusters using K-means clustering, where one cluster represents broad search queries and the other cluster represents narrow search queries. For example, a higher a indicates that a search is more likely to be narrow. An a line can be drawn in K-means clustering, where the a line is a line along which a split between narrow and broad clusters is made, and search queries are determined to be broad or narrow based on their a.

[0114] For a new search query, its search results are determined, and the power law distribution and a of the search results are determined. The determined a of the search query is compared to the a line of the clusters to determine whether the a is above or below the a line (e.g., K-means decision line). If the distribution of the new search query (based on its a) is above the threshold a line, then the query is indicated to be directed to a narrow search, otherwise the query is indicated to be directed to a broad search. The a line can be dynamically determined, and can change over time based on additional search query data. Further, in some implementations, additional processing can be performed after a query is determined to be narrow. For example, as described above, a canonical title of a target game can be checked to see if it matches the search query. In some implementations, other determinations can also be made based on game session history (as described with reference to Figure 3 FIG. 1), such as a threshold popularity, recency, etc., to indicate a narrow search for a target game.

[0115] In some implementations, one or more techniques described herein can be used for searches of other items or other types of results. For example, searches for game resources (e.g., game objects, characters, game modes, etc.), users, developers, etc. can use similar techniques to determine whether a narrow search is directed to, and prominently display, a target game that the narrow search is directed to.

[0116] Figure 6 is a block diagram of an example computing device 600 according to some embodiments, which can be used to implement one or more features described herein. In one example, the device 600 can be used to implement a computer device (e.g., the 102, 110, and / or 116 of FIG. 1) and perform appropriate method embodiments described herein. The computing device 600 can be any suitable computer system, server, or other electronic or hardware device. For example, the computing device 600 can be a mainframe computer, a desktop computer, a workstation, a portable computer, or an electronic device (a portable device, a mobile device, a cell phone, a smartphone, a tablet computer, a television, a television set-top box, a personal digital assistant (PDA), a media player, a gaming device, a wearable device, etc.). In some embodiments, the device 600 includes a processor 602, a memory 604, an input / output (I / O) interface 606, and an audio / video input / output device 614 (e.g., a display screen, a touchscreen, display eyewear or glasses, an audio speaker, a microphone, etc.). Figure 1

[0117] The processor 602 can be one or more processors and / or processing circuitry to execute program code and control the basic operations of the device 600. A “processor” includes any suitable hardware and / or software system, mechanism, or component that processes data, signals, or other information. The processor can include a system with a general-purpose central processing unit (CPU), multiple processing units, dedicated circuitry for implementing specific functions, or other systems. Processing need not be limited to a particular geographic location or have temporal limitations. For example, a processor can perform its functions in “real-time,” “offline,” in a “batch mode,” etc. Portions of processing can be performed at different times and at different locations, by different (or the same) processing systems. A computer can be any processor in communication with a memory.

[0118] ​Memory 604 is typically provided in the device 600 to be accessed by the processor 602 and can be any suitable processor-readable storage media, such as random access memory (RAM), read-only memory (ROM), electrical erasable read-only memory (EEPROM), flash memory, or the like, suitable for storing instructions for execution by the processor 602 and separate from and / or integral to the processor 602. The memory 604 can store software to be executed by the processor 602 on the server device 600, including an operating system 608, a search engine application 610, and associated data 612. In some embodiments, the search engine application 610 can include instructions that enable the processor 602 to perform some or all of the methods illustrated by FIGS. 1-8, 10, and 12-15. Figure 2 and Figure 3

[0119] For example, the memory 604 can include software instructions for a search engine 610 that can provide search with improved discoverability within an online gaming platform (e.g., 102). Any software in the memory 604 can alternatively be stored on any other suitable storage location or computer-readable medium. Moreover, the memory 604 (and / or other connected storage devices) can store instructions and data used in the features described herein. The memory 604 and any other type of memory (magnetic disk, optical disk, tape, or other tangible medium) can be considered a “storage” or “storage device.”

[0120] The I / O interface 606 can provide functionality to enable the server device 600 to interface with other systems and devices. For example, network communication devices, storage devices (e.g., memory and / or data store 108), and input / output devices can communicate via the interface 606. In some embodiments, the I / O interface can connect to interface devices that include input devices (keyboard, pointing device, touchscreen, microphone, camera, scanner, etc.) and / or output devices (display device, speaker device, printer, motor, etc.).

[0121] For ease of explanation, Figure 6 ​A block is shown for each of processor 602, memory 604, I / O interface 606, software blocks 608 and 610, and database 612. These blocks can represent one or more processors or processing circuitry, operating systems, memories, I / O interfaces, applications, and / or software modules. In other implementations, device 600 can not have all of the components shown, and / or can have other elements including other types of elements instead of, or in addition to, those shown herein. While online gaming platform 102 is described as performing operations as described in some implementations herein, any suitable component or combination of components of online gaming platform 102 or a similar system, or any suitable processor or processors associated with such a system, can perform the described operations.

[0122] A user device can also implement and / or be used with features described herein. An example user device can be a computer device that includes some components similar to device 600, such as processor 602, memory 604, and I / O interface 606. An operating system, software, and applications suitable for a client device can be provided in memory and used by the processor. I / O interfaces for a client device can connect to network communication devices and input and output devices, such as a microphone for capturing sound, a camera for capturing images or video, an audio speaker device for outputting sound, a display device for outputting images or video, or other output devices. For example, a display device within audio / video input / output device 614 can be connected to (or included in) device 600 to display pre-processed and post-processed images as described herein, where such a display device can include any suitable display device, such as an LCD, LED, or plasma display screen, CRT, television, monitor, touchscreen, 3D display screen, projector, or other visual display device. Some implementations can provide an audio output device, such as a synthesized voice that speaks or reads text.

[0123] Methods, blocks, and / or operations described herein can be performed in a different order than shown or described, and / or simultaneously (partially or entirely) with other blocks or operations, where appropriate. Some blocks or operations can be performed on a portion of data and then again performed on another portion of data, for example. Not all of the described blocks and operations need to be performed in various implementations. Blocks and operations can be performed multiple times in a method in a different order and / or at different times, in some implementations.

[0124] In some implementations, some or all of the methods can be implemented on a system such as one or more client devices. In some implementations, one or more of the methods described herein can be implemented on, for example, a server system and / or on both a server system and a client system. In some implementations, different components of one or more servers and / or clients can perform different blocks, operations, or other portions of the methods.

[0125] One or more of the methods described herein (e.g., method 200 and / or method 300) can be implemented by computer program instructions or code that can be executed on a computer. For example, the code can be implemented by one or more digital processors (e.g., microprocessors or other processing circuitry) and can be stored on a computer program product including a non-transitory computer readable medium (e.g., a storage medium), such as a magnetic, optical, electromagnetic, or semiconductor storage medium (including a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read only memory (ROM), flash memory, a rigid magnetic disk, an optical disk, a solid-state memory drive, and so on). The program instructions can also be contained in, and provided as, an electronic signal and as software as a service (SaaS) delivered from a server (e.g., a distributed system and / or a cloud computing system). Alternatively, one or more of the methods can be implemented in hardware (logic gates, etc.) or a combination of hardware and software. Example hardware can be programmable processors (e.g., field-programmable gate arrays (FPGAs), complex programmable logic devices), general purpose processors, graphics processors, application specific integrated circuits (ASICs), and so on. One or more of the methods can be performed as part of or a component of an application running on a system, or as an application or software running with other applications and an operating system.

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

[0127] While the specification has been described in relation to certain implementations, these implementations are merely illustrative of the many possible specifications that can embody the principles of the specification and this specification is capable of further implementations.

[0128] It should be understood that the functional blocks, operations, features, methods, devices, and systems described in this disclosure can be integrated or divided into different combinations of systems, devices, and functional blocks known to those skilled in the art. The routines of a particular implementation can be implemented using any suitable programming language and programming techniques. Different programming techniques can be employed, e.g., procedural or object-oriented. The routines can execute on a single processing device or multiple processors. Although the steps, operations, or computations can be presented in a particular order, the order can be changed in different particular implementations. In some implementations, multiple steps or operations that are shown as sequential in this specification can be performed at the same time.

Claims

1. A computer-implemented method comprising: receiving, at the server, a search query from the device; executing the search query against a data store of available games to obtain search results from the data store, wherein the search results indicate a set of games from among the available games; Determining whether the search query points to a narrow search for a specific game in the set of games based on one or more characteristics of the set of games in the search results, wherein determining whether the search query points to the narrow search for the specific game in the set of games comprises: determining a number of previously qualified sessions for each of the set of games played by a user of the set of games, wherein the previously qualified sessions are a subset of sessions for the set of games, the previously qualified sessions being determined based on an amount of time each of the sessions for the set of games was active; and determining whether any of the respective games qualifies as the particular game by virtue of having been played at least a threshold proportion of the number of prior qualifying sessions for the respective games in the set of games; In response to determining that the search query points to the narrow search for the specific game: designating the particular game using a highlighting indicator; and sending the search results and the highlight indication to the device, causing the device to display a user interface including at least a portion of the search results, wherein the highlight indication causes the device to highlight an identifier of the particular game relative to other search results in the at least a portion of the search results; In response to determining that the search query does not point to a narrow search for any game in the set of games, the search results are sent to the device without the highlighted indication, wherein the search results cause the device to display the user interface including at least a portion of the search results without the highlighted indication.

2. The computer-implemented method of claim 1 , wherein: Determining whether the search query is directed to the narrow search for the particular game is based on characteristics including a number of prior qualifying sessions of the particular game played by users of a gaming platform serving the particular game.

3. The computer-implemented method of claim 1 , wherein: Determining the number of prior qualifying sessions includes: obtaining a data set comprising sessions for each game in the set of games; and For each session of each game in the set of games: determining whether an amount of time the session has been active satisfies a threshold amount of time; In response to determining that the amount of time satisfies the threshold amount of time, identifying the session as one of the previously qualifying sessions; and In response to determining that the amount of time does not satisfy the threshold amount of time, the session is identified as an ineligible session.

4. The computer-implemented method of claim 1 , wherein: Determining the number of prior qualifying sessions includes: obtaining a data set comprising sessions for each game in the set of games; and For each session of each game in the set of games: determining whether the session was initiated based on selecting a previous search result from a previous search query input to the server, wherein the previous search result identifies the game; In response to determining that the session was initiated based on selecting the previous search result from the previous search query, identifying the session as a previous qualifying session; and In response to determining that the session was not initiated by selecting the previous search result from the previous search query input to the server, the session is identified as a non-qualified session.

5. The computer-implemented method of claim 1 , wherein: Determining the number of prior qualifying sessions includes: obtaining a data set comprising sessions for each game in the set of games; and For each session of each game in the set of games: determining whether a user of the session performed a threshold amount of activity during the session, wherein the activity comprises at least one of: communicating with another user during the session, or purchasing one or more game items during the session; In response to determining that the user performed the threshold amount of activity during the session, identifying the session as a previously qualified session; and In response to determining that the user did not perform the threshold amount of activity during the session, the session is identified as a non-qualifying session.

6. The computer-implemented method of claim 1 , wherein: The threshold ratio is a first threshold ratio, and, in response to designating the specific game using the highlight indication, the method further comprises, some time after the designation: receiving second search results from the data store in response to executing a second search query that is identical to the search query, wherein the second search results indicate a second set of games from the available games; determining whether the particular game has been played for at least a second threshold proportion of the number of prior qualifying sessions for each of the second set of games, wherein the second threshold proportion is different from the first threshold proportion; and Responsive to determining that the particular game has not been played for at least the second threshold proportion of the number of prior qualifying sessions for the individual games in the second set of games, the prominent indication is removed from the particular game.

7. The computer-implemented method of claim 6, wherein: The second threshold ratio is greater than the first threshold ratio.

8. The computer-implemented method of claim 1 , wherein: Determining whether the search query points to the narrow search for the particular game includes determining whether at least a portion of the search query matches a canonical title of the particular game, wherein a mismatch between the search query and the canonical title indicates that the search query does not point to the narrow search.

9. The computer-implemented method of claim 8, further comprising determining the canonical title of the particular game, wherein Determine the specification titles include: determining a plurality of different titles in the availability history of the particular game to the user that specify the particular game; and The plurality of different titles are compared to determine a common string among the plurality of different titles, wherein the common string is the canonical title of the particular game.

10. The computer-implemented method of claim 1, wherein: The identifier that highlights the specific game relative to other search results includes at least one of the following: displaying the identifier of the particular game in a highlighted box in a user interface alongside other search results, or The identifier of the specific game is displayed in a larger size than the other search results.

11. A system comprising: At least one processor coupled to a non-transitory computer-readable medium having software instructions stored thereon, which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: receiving a search query from a device; executing the search query against a data store of available games to obtain search results from the data store, wherein the search results indicate a set of games from among the available games; Determining whether the search query points to a narrow search for a specific game in the set of games based on one or more characteristics of the set of games in the search results, wherein determining whether the search query points to the narrow search for the specific game in the set of games comprises: determining a number of previously qualified sessions for each of the set of games played by a user of the set of games, wherein the previously qualified sessions are a subset of sessions for the set of games, the previously qualified sessions being determined based on an amount of time each of the sessions for the set of games was active; and determining whether any of the respective games qualifies as the particular game by virtue of having been played at least a threshold proportion of the number of prior qualifying sessions for the respective games in the set of games; In response to determining that the search query points to the narrow search for the specific game: designating the particular game using a highlighting indicator; and sending the search results and the highlight indication to the device, causing the device to display a user interface including at least a portion of the search results, wherein the highlight indication causes the device to highlight an identifier of the particular game relative to other search results in the at least a portion of the search results; In response to determining that the search query does not point to a narrow search for any game in the set of games, the search results are sent to the device without the highlighted indication, wherein the search results cause the device to display the user interface including at least a portion of the search results without the highlighted indication.

12. The system according to claim 11, wherein The operation of determining the number of previous qualified sessions includes: obtaining a data set comprising sessions for each game in the set of games; and For each session of each game in the set of games: determining whether an amount of time the session has been active satisfies a threshold amount of time; determining whether the session was initiated based on selecting a previous search result from a previous search query input to a server, wherein the previous search result identifies the game; In response to determining that the amount of time satisfies the threshold amount of time and determining that the session was initiated based on selection of the previous search result, identifying the session as one of the previous qualifying sessions; and In response to determining that the amount of time does not satisfy the threshold amount of time or determining that the session was not initiated by selecting the previous search result, the session is identified as a non-qualified session.

13. The system according to claim 11, wherein: Determining whether the search query points to the narrow search for the specific game includes determining whether at least a portion of the search query matches a canonical title of the specific game.

14. The system of claim 13, the operations further comprising determining a canonical title for the particular game, wherein The operations for determining the canonical title include: determining a plurality of different titles in the availability history of the particular game to the user that specify the particular game; and The plurality of different titles are compared to determine a common string among the plurality of different titles, wherein the common string is the canonical title of the particular game.

15. The system according to claim 11, wherein The threshold ratio is a first threshold ratio, and the operation further includes: In response to receiving one or more subsequent search queries that are identical to the search query after highlighting the particular game: determining whether the particular game is still eligible for highlighting in the search results because at least a second threshold ratio of the number of qualifying sessions of each of the games in the set of games has been played, wherein the second threshold ratio is different from the first threshold ratio; and In response to determining that the particular game has not been played for at least the second threshold proportion of the number of qualifying sessions for the individual games in the set of games, the highlighted indication is removed from the particular game.

16. A non-transitory computer-readable medium having software instructions stored thereon, which, when executed by a processor of a device, cause the processor to perform operations comprising: receiving search queries; causing execution of the search query against a data store of available games to obtain search results from the data store, wherein, The search results indicate a set of games from among the available games; Determining whether the search query points to a narrow search for a specific game in the set of games based on one or more characteristics of the set of games in the search results, wherein determining whether the search query points to the narrow search for the specific game in the set of games comprises: determining a number of previously qualified sessions for each of the set of games played by a user of the set of games, wherein the previously qualified sessions are a subset of sessions for the set of games, the previously qualified sessions being determined based on an amount of time each of the sessions for the set of games was active; and determining whether any of the respective games qualifies as the particular game by virtue of having been played at least a threshold proportion of the number of prior qualifying sessions for the respective games in the set of games; In response to determining that the search query points to the narrow search for the specific game: designating the particular game using a highlighting indicator; and causing a display device to display at least a portion of the search results in a user interface, wherein the highlighting causes the identifier of the particular game to be highlighted relative to other search results in the at least a portion of the search results; In response to determining that the search query does not point to a narrow search for any game in the set of games, the search results are sent to the device without the highlighted indication, wherein the search results cause the device to display the user interface including at least a portion of the search results without the highlighted indication.

17. The non-transitory computer-readable medium of claim 16, wherein: The operation of determining that the search query points to the narrow search for the specific game includes: It is determined that at least a portion of the search query matches the canonical title of the particular game.

18. The non-transitory computer-readable medium of claim 17, wherein: The threshold ratio is a first threshold ratio, and the operation further includes: In response to receiving one or more subsequent search queries that are identical to the search query after highlighting the particular game: determining whether the particular game is still eligible for highlighting in the search results because at least a second threshold ratio of the number of qualifying sessions of each of the games in the set of games has been played, wherein the second threshold ratio is different from the first threshold ratio; and In response to determining that the particular game has not been played for at least the second threshold proportion of the number of qualifying sessions for the individual games in the set of games, the highlighted indication is removed from the particular game.

Citation Information

Patent Citations

  • System and method for facilitating multiplayer online gaming

    US20050209002A1