U.S. Pat. No. 12,126,500
DYNAMICALLY PROVIDING SYSTEM COMMUNICATIONS TAILORED TO INDIVIDUAL USERS RESPONSIVE TO TRIGGER EVENTS IN VIRTUAL SPACES
AssigneeKabam, Inc.
Issue DateApril 26, 2021
Illustrative Figure
Abstract
System communications tailored to individual users may be dynamically provided based on monitored types of user activity in a virtual space. A given system communication may include one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, an informative message, and/or other system communications. Monitored types of user activity include registering as a user, establishing a relationship with another user, and customizing a user character. Responsive to such activity, information is obtained regarding an amount of real-world money the user has spent and the total time spent by the user during gameplay. This information is used to select system communications. System communications may be provided for presentation to users via one or more communication channels.
Description
DETAILED DESCRIPTION FIG.1illustrates a system100configured to dynamically provide system communications tailored to individual users responsive to trigger events in a virtual space, in accordance with one or more implementations. A given system communication may include one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, an informative message, and/or other system communications. The dynamic nature of some implementations may greatly alleviate a need for engineering, art, and/or other resources to provide system communications. In exemplary implementations, system communications may be fined tuned to a user's current status in a virtual space, which may increase rates of return or a likelihood of desired user reactions to system communications. Additionally, with the flexibility to present vastly more and different system communications, more system communications may be tested to further improve their desired outcomes. For example, A/B testing may be performed across various subsets of users. In some implementations, system100may include one or more servers102. The server(s)102may be configured to communicate with one or more client computing platforms104according to a client/server architecture. The users may access system100and/or the virtual space via client computing platform(s)104. The server(s)102may be configured to execute one or more computer program modules. The computer program modules may include one or more of a user module106, a space module108, a user-action monitoring module110, a current-state information module112, a system-communication matching module114, a system-communication provisioning module116, an admin module118, and/or other modules. The user module106may be configured to access and/or manage one or more user profiles and/or user information associated with users of system100. The one or more user profiles and/or user information may include information stored by server(s)102, one or more of the client computing platform(s)104, and/or other storage locations. The user profiles may include, for example, information identifying users (e.g., a username or ...
DETAILED DESCRIPTION
FIG.1illustrates a system100configured to dynamically provide system communications tailored to individual users responsive to trigger events in a virtual space, in accordance with one or more implementations. A given system communication may include one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, an informative message, and/or other system communications. The dynamic nature of some implementations may greatly alleviate a need for engineering, art, and/or other resources to provide system communications. In exemplary implementations, system communications may be fined tuned to a user's current status in a virtual space, which may increase rates of return or a likelihood of desired user reactions to system communications. Additionally, with the flexibility to present vastly more and different system communications, more system communications may be tested to further improve their desired outcomes. For example, A/B testing may be performed across various subsets of users. In some implementations, system100may include one or more servers102. The server(s)102may be configured to communicate with one or more client computing platforms104according to a client/server architecture. The users may access system100and/or the virtual space via client computing platform(s)104.
The server(s)102may be configured to execute one or more computer program modules. The computer program modules may include one or more of a user module106, a space module108, a user-action monitoring module110, a current-state information module112, a system-communication matching module114, a system-communication provisioning module116, an admin module118, and/or other modules.
The user module106may be configured to access and/or manage one or more user profiles and/or user information associated with users of system100. The one or more user profiles and/or user information may include information stored by server(s)102, one or more of the client computing platform(s)104, and/or other storage locations. The user profiles may include, for example, information identifying users (e.g., a username or handle, a number, an identifier, and/or other identifying information) within the virtual space, security login information (e.g., a login code or password), virtual space account information, subscription information, virtual currency account information (e.g., related to currency held in credit for a user), relationship information (e.g., information related to relationships between users in the virtual space), virtual space usage information, demographic information associated with users, interaction history among users in the virtual space, information stated by users, purchase information of users, browsing history of users, a client computing platform identification associated with a user, a phone number associated with a user, and/or other information related to users.
The space module108may be configured to implement the instance of the virtual space executed by the computer modules to determine views of the virtual space. The views may then be communicated (e.g., via streaming, via object/position data, and/or other information) from server(s)102to client computing platform(s)104for presentation to users. The view determined and transmitted to a given client computing platform104may correspond to a user character being controlled by a user via the given client computing platform104. The view determined and transmitted to a given client computing platform104may correspond to a location in the virtual space (e.g., the location from which the view is taken, the location the view depicts, and/or other locations), a zoom ratio, a dimensionality of objects, a point-of-view, and/or view parameters. One or more of the view parameters may be selectable by the user.
The instance of the virtual space may comprise a simulated space that is accessible by users via clients (e.g., client computing platform(s)104) that present the views of the virtual space to a user. The simulated space may have a topography, express ongoing real-time interaction by one or more users, and/or include one or more objects positioned within the topography that are capable of locomotion within the topography. In some instances, the topography may be a 2-dimensional topography. In other instances, the topography may be a 3-dimensional topography. The topography may include dimensions of the space, and/or surface features of a surface or objects that are “native” to the space. In some instances, the topography may describe a surface (e.g., a ground surface) that runs through at least a substantial portion of the space. In some instances, the topography may describe a volume with one or more bodies positioned therein (e.g., a simulation of gravity-deprived space with one or more celestial bodies positioned therein). The instance executed by the computer modules may be synchronous, asynchronous, and/or semi-synchronous.
The above description of the manner in which views of the virtual space are determined by space module108is not intended to be limiting. The space module108may be configured to express the virtual space in a more limited, or more rich, manner. For example, views determined for the virtual space may be selected from a limited set of graphics depicting an event in a given place within the virtual space. The views may include additional content (e.g., text, audio, pre-stored video content, and/or other content) that describes particulars of the current state of the place, beyond the relatively generic graphics. For example, a view may include a generic battle graphic with a textual description of the opponents to be confronted. Other expressions of individual places within the virtual space are contemplated.
Within the instance(s) of the virtual space executed by space module108, users may control characters, objects, simulated physical phenomena (e.g., wind, rain, earthquakes, and/or other phenomena), and/or other elements within the virtual space to interact with the virtual space and/or each other. The user characters may include avatars. As used herein, the term “user character” may refer to an object (or group of objects) present in the virtual space that represents an individual user. The user character may be controlled by the user with which it is associated. The user controlled element(s) may move through and interact with the virtual space (e.g., non-user characters in the virtual space, other objects in the virtual space). The user controlled elements controlled by and/or associated with a given user may be created and/or customized by the given user. The user may have an “inventory” of virtual goods and/or currency that the user can use (e.g., by manipulation of a user character or other user controlled element, and/or other items) within the virtual space.
The users may participate in the instance of the virtual space by controlling one or more of the available user controlled elements in the virtual space. Control may be exercised through control inputs and/or commands input by the users through client computing platform(s)104. The users may interact with each other through communications exchanged within the virtual space. Such communications may include one or more of textual chat, instant messages, private messages, voice communications, and/or other communications. Communications may be received and entered by the users via their respective client computing platform(s)104. Communications may be routed to and from the appropriate users through server(s)102(e.g., through space module108).
The user-action monitoring module110may be configured to monitor actions performed by a user within the virtual space for trigger events. Generally speaking, a given trigger event may be a specific user action that has been defined as a trigger event. That is, any action that can be performed by a user in the virtual space may be defined as a trigger event. By way of non-limiting example, a user action may include one or more of registering as a user of the virtual space, logging into the virtual space, controlling a setting in a virtual space, establishing a relationship with another user and/or user character in the virtual space, managing virtual goods, customizing a user character, initiating and/or engaging in gameplay within the virtual space, controlling a user character during gameplay, providing a user selection during gameplay, and/or other user actions in the virtual space. In sum, any action performed by a user in association with the virtual space may be considered a user action. In some implementations, results and/or consequences of user actions may be defined as trigger events. Examples of results and/or consequences of user actions may include one or more of an outcome of gameplay, an accumulation of one or more virtual goods, a reply to a relationship request, and/or other results and/or consequences of user actions.
The current-state information module112may be configured to obtain current states responsive to trigger events occurring within the virtual space. A given current state may include one or more of (1) information associated with the virtual space at a given moment, (2) information associated with a user character at a given moment, (3) information associated with a user at a given moment, and/or other information. The given moment may be approximately the time when a corresponding trigger event occurred in the virtual space. Information associated with the virtual space may include one or more of a game score, a progress level, a specific virtual space instance name or other identifier, the amount of time that the virtual space has been open for play, and/or other information associated with the virtual space. Information associated with a user character may include one or more of a status with the virtual space, a capability of a user character within the virtual space, one or more relationships of a user character, a faction and/or other affiliation of the user character, virtual items acquired and/or used by the user character, and/or other information associated with a user character. Information associated with a user may include one or more of information associated with a user profile, total time spent engaged in the virtual space, time spent in the virtual space during a current session, a frequency of engagement in the virtual space, relationships of a user within the virtual space, a geo-location of the user, an amount of real-world money the user has spent toward the virtual space, a social networking platform from which the user is accessing the virtual space, an identification of a server or server cluster providing the virtual space, virtual items in an inventory of the user, spoken language of the user, an amount of time since the user joined the virtual space, and/or other information associated with a user.
The system-communication matching module114may be configured to determine whether individual current states correspond to one or more of a plurality of system communications. A given system communication may be a communication configured to be provided by the system for presentation to users via one or more communication channels. System communications may be stored by server(s)102and/or at other locations in system100. By way of non-limiting example, a given system communication may include one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, an informative message, system communication associated with a geo-location of the user, a custom message created for the user, a custom sales event created for the user, a communication external to system100(e.g., an email) created for the user, and/or other system communications. The one or more communication channels may include one or more of an in-space modal, an in-space message, an out-of-space email, and/or other communication channels, as described further herein.
According to some implementations, system-communication matching module114may be configured to determine whether an individual current state corresponds to one or more system communications based on one or more space-state criteria, user attribute criteria, and/or other criteria. Examples of space-state criteria may include one or more of a game score breaching a threshold, a progress level breaching a threshold, and/or other space-state criteria. Examples of user attribute criteria may include one or more of information associated with a user profile meeting a condition, total time spent engaged in the virtual space breaching a threshold, time spent in the virtual space during a current session breaching a threshold, a frequency of engagement in the virtual space breaching a threshold, an amount of real-world money the user has spent toward the virtual space, a unique user identifier being a specific number type or within a specific range of user identifiers, and/or other user attribute criteria.
With reference toFIG.4, in some implementations, current-state information module112may be configured to add individual current states404to a state queue402containing one or more current states to be matched to system communications, as described in connection with system-communication matching module114. The state queue402may be stored by server(s)102and/or at other locations in system100. The system-communication matching module114may be configured to remove a given current state404from the state queue402responsive to the given current state404being determined to correspond with a given system communication.
The system-communication provisioning module116may be configured to provide system communications for presentation to users via one or more communication channels. The system-communication provisioning module116may be configured to provide a given system communication in real time, near-real time, at a later time, and/or at another time relative to a corresponding trigger event. As mentioned above, the one or more communication channels may include one or more of an in-space modal, an in-space message, an out-of-space email, and/or other communication channels. According to some implementations, an in-space modal may include a child window that requires a user to interact with it before returning to operating the corresponding parent window or application. An in-space modal may be referred to as a modal window, a heavy window, a modal dialog, and/or other related terms. An in-space message may include a textual message and/or other message that is accessible within the virtual space. An out-of-space email may describe an email sent to an email account associated with a user of the virtual space. Such an email account may be provided by the same provider as the virtual space or by a third party.
The admin module118may be configured to receive information associated with dynamically providing system communications tailored to individual users responsive to trigger events in the virtual space. In some implementations, such information may include one or more of new system communications, modifications to existing system communications, information defining specific user actions and/or other virtual space events as trigger events, information associated with one or more bases for determining whether an individual current state corresponds to one or more system communications, and/or information associated with dynamically providing system communications tailored to individual users responsive to trigger events in the virtual space.
The admin module118may be configured to control dynamically providing system communications two or more different virtual spaces. Such control may be agnostic to the particular virtual space. That is, trigger events may be defined generically so as to be applicable to various virtual spaces. In some implementations, admin module118may be configured to generate templates for dynamically providing system communications, which may be applied to two or more different virtual spaces.
The admin module118may be configured to determine user responsiveness to system communications presented via the one or more communication channels. Determining user responsiveness may include determining one or more of whether a given system communication was opened or otherwise interacted with by a user, whether a user performed a specific action in response to a given system communication, and/or other user responses.
In some implementations, admin module118may be configured to provide an admin interface for presentation to an administrative user. The admin interface may be configured to receive information from and/or provide information to the administrative user. Exemplary implementations of an admin interface are described in connection withFIG.2.
In some implementations, server(s)102, client computing platform(s)104, and/or external resources120may be operatively linked via one or more electronic communication links. For example, such electronic communication links may be established, at least in part, via a network such as the Internet and/or other networks. It will be appreciated that this is not intended to be limiting, and that the scope of this disclosure includes implementations in which server(s)102, client computing platform(s)104, and/or external resources120may be operatively linked via some other communication media.
A given client computing platform104may include one or more processors configured to execute computer program modules. The computer program modules may be configured to enable an expert or user associated with the given client computing platform104to interface with system100and/or external resources120, and/or provide other functionality attributed herein to client computing platform(s)104. By way of non-limiting example, the given client computing platform104may include one or more of a desktop computer, a laptop computer, a handheld computer, a NetBook, a Smartphone, a gaming console, and/or other computing platforms.
The external resources120may include sources of information, hosts and/or providers of virtual environments outside of system100, external entities participating with system100, and/or other resources. In some implementations, some or all of the functionality attributed herein to external resources120may be provided by resources included in system100.
The server(s)102may include electronic storage122, one or more processors124, and/or other components. The server(s)102may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of server(s)102inFIG.1is not intended to be limiting. The server(s)102may include a plurality of hardware, software, and/or firmware components operating together to provide the functionality attributed herein to server(s)102. For example, server(s)102may be implemented by a cloud of computing platforms operating together as server(s)102.
Electronic storage122may comprise electronic storage media that electronically stores information. The electronic storage media of electronic storage122may include one or both of system storage that is provided integrally (i.e., substantially non-removable) with server(s)102and/or removable storage that is removably connectable to server(s)102via, for example, a port (e.g., a Universal Serial Bus port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage122may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., Electrically Erasable Programmable Read-Only Memory (EEPROM), Random Access Memory (RAM), etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. The electronic storage122may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage122may store software algorithms, information determined by processor(s)124, information received from server(s)102, information received from client computing platform(s)104, and/or other information that enables server(s)102to function as described herein.
Processor(s)124may be configured to provide information processing capabilities in server(s)102. As such, processor(s)124may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information. Although processor(s)124is shown inFIG.1as a single entity, this is for illustrative purposes only. In some implementations, processor(s)124may include a plurality of processing units. These processing units may be physically located within the same device, or processor(s)124may represent processing functionality of a plurality of devices operating in coordination. The processor(s)124may be configured to execute modules106,108,110,112,114,116,118, and/or other modules. The processor(s)124may be configured to execute modules106,108,110,112,114,116,118, and/or other modules by software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor(s)124.
It should be appreciated that although modules106,108,110,112,114,116, and118are illustrated inFIG.1as being co-located within a single processing unit, in implementations in which processor(s)124includes multiple processing units, one or more of modules106,108,110,112,114,116, and/or118may be located remotely from the other modules. The description of the functionality provided by the different modules106,108,110,112,114,116, and/or118described below is for illustrative purposes, and is not intended to be limiting, as any of modules106,108,110,112,114,116, and/or118may provide more or less functionality than is described. For example, one or more of modules106,108,110,112,114,116, and/or118may be eliminated, and some or all of its functionality may be provided by other ones of modules106,108,110,112,114,116, and/or118. As another example, processor(s)124may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of modules106,108,110,112,114,116, and/or118.
FIG.2illustrates an admin interface200, in accordance with one or more implementations. The admin interface200may be provided by an admin module that is the same as or similar to admin module118. The admin interface200may be presented by a client computing platform(s)104and/or other computing platform. As depicted inFIG.2, admin interface200may include one or more of a new system communications field202, a system communication modification field204, a trigger event definition field206, a system communication matching field208, a user responsiveness field210, and/or other fields. The depiction of admin interface200inFIG.2is not intended to be limiting as one or more of fields202,204,206,208, and/or210may be combined with another field and/or omitted from admin interface200. One or more of fields202,204,206,208, and/or210may operate in conjunction with one or more of modules106,108,110,112,114,116, and/or118.
The new system communications field202may be configured to receive one or more new system communications. The system communication modification field204may be configured to facilitate modifying existing system communications. The trigger event definition field206may be configured to receive information defining specific user actions and/or other virtual space events as trigger events. The system communication matching field208may be configured to receive information associated with one or more bases for determining whether an individual current state corresponds to one or more system communications. The user responsiveness field210may be configured to facilitate determining user responsiveness to system communications presented via the one or more communication channels.
FIG.3illustrates a method300for dynamically providing system communications tailored to individual users responsive to trigger events in a virtual space, in accordance with one or more implementations. The operations of method300presented below are intended to be illustrative. In some implementations, method300may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method300are illustrated inFIG.3and described below is not intended to be limiting.
In some implementations, method300may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method300in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method300.
At an operation302, actions performed by a user within the virtual space may be monitored for trigger events. Operation302may be performed by a user-action monitoring module that is the same as or similar to user-action monitoring module110, in accordance with one or more implementations.
At an operation304, current states may be obtained responsive to trigger events occurring within the virtual space. Operation304may be performed by a current-state information module that is the same as or similar to current-state information module112, in accordance with one or more implementations.
At an operation306, a determination may be made as to whether individual current states correspond to one or more of a plurality of system communications. Operation306may be performed by a system-communication matching module that is the same as or similar to system-communication matching module114, in accordance with one or more implementations.
At an operation308, system communications may be provided for presentation to users via one or more communication channels. Operation308may be performed by a system-communication provisioning module that is the same as or similar to system-communication provisioning module116, in accordance with one or more implementations.
Although the present technology has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred implementations, it is to be understood that such detail is solely for that purpose and that the technology is not limited to the disclosed implementations, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present technology contemplates that, to the extent possible, one or more features of any implementation can be combined with one or more features of any other implementation.
Claims
- A system configured to dynamically provide system communications tailored to individual users responsive to occurrences of specific activity in a virtual space, the system comprising: one or more processors configured by machine-readable instructions to: execute an instance of the virtual space, wherein the instance is configured to facilitate interaction between the individual users and the virtual space, wherein the individual users are associated with individual client computing platforms;provide an admin interface for presentation to an administrative user of the virtual space for managing the system communications of the virtual space, the admin interface being configured to receive information from the administrative user, the information including system communications, criteria associated with the system communications, and trigger event definitions associated with the system communications, wherein the trigger event definitions define specific user actions in the virtual space, and wherein the received information includes a first system communication, first criteria associated with the first system communication, and a first trigger event definition associated with the first system communication;monitor, as a first type of user activity, that a first user registers as a user in the virtual space;monitor, as a second type of user activity, that the first user customizes a first user character that is associated with the first user;make a determination that the first and second types of user activity as monitored satisfy the first trigger event definition associated with the first system communication, wherein the first trigger event definition has been received from the administrative user;obtain information responsive to the determination that the first and second types of user activity as monitored satisfy the first trigger event definition, wherein the obtained information indicates both of: (a) an amount of real-world money the first user has spent toward the virtual space, and (b) total time spent by the first user while engaged in gameplay in the virtual space, wherein the information is obtained responsive to occurrence of any of the first type or the second type of user activity that has been monitored for the first user;make a determination that the obtained information meets the first criteria associated with a first system communication, wherein the first criteria has been received from the administrative user, and select the first system communication responsive to the determination that the obtained information meets the first criteria associated with the first system communication;and provide the first system communication for presentation to the first user via one or more communication channels.
- The system of claim 1, wherein the one or more communication channels includes one or more of an in-space modal, an in-space message, and/or an out-of-space email.
- The system of claim 1, wherein the first system communication includes one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, and/or an informative message.
- The system of claim 1, wherein the one or more processors are further configured by machine-readable instructions to: determine user responsiveness to the system communications presented via the one or more communication channels;wherein the admin interface includes user responsiveness information indicating the user responsiveness, wherein the user responsiveness information includes information indicating responsiveness of the first user to the first system communication.
- A method for dynamically providing system communications tailored to individual users responsive to occurrences of specific activity in a virtual space, the method being implemented in a computer system comprising one or more processors configured by machine-readable instructions, the method comprising: executing an instance of the virtual space, wherein the instance is configured to facilitate interaction between the individual users and the virtual space, wherein the individual users are associated with individual client computing platforms;providing an admin interface for presentation to an administrative user of the virtual space for managing the system communications of the virtual space, the admin interface being configured to receive information from the administrative user, the information including system communications, criteria associated with the system communications, and trigger event definitions associated with the system communications, wherein the trigger event definitions define specific user actions in the virtual space, and wherein the received information includes a first system communication, first criteria associated with the first system communication, and a first trigger event definition associated with the first system communication;monitoring, as a first type of user activity, that a first user registers as a user in the virtual space;monitoring, as a second type of user activity, that the first user customizes a first user character that is associated with the first user;making a determination that the first and second types of user activity as monitored satisfy the first trigger event definition associated with the first system communication, wherein the first trigger event definition has been received from the administrative user;obtaining information responsive to the determination that the first and second types of user activity as monitored satisfy the first trigger event definition, wherein the obtained information indicates both of: (a) an amount of real-world money the first user has spent toward the virtual space, and (b) total time spent by the first user while engaged in gameplay in the virtual space, wherein the information is obtained responsive to occurrence of any of the first type or the second type of user activity that has been monitored for the first user;making a determination that the obtained information meets the first criteria associated with a first system communication, wherein the first criteria has been received from the administrative user;selecting the first system communication responsive to the determination that the obtained information meets the first criteria associated with the first system communication;and providing the first system communication for presentation to the first user via one or more communication channels.
- The method of claim 5, wherein the one or more communication channels includes one or more of an in-space modal, an in-space message, and/or an out-of-space email.
- The method of claim 5, wherein the first system communication includes one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, and/or an informative message.
- The method of claim 5, further comprising: determining user responsiveness to the system communications presented via the one or more communication channels;wherein the admin interface includes user responsiveness information indicating the user responsiveness, wherein the user responsiveness information includes information indicating responsiveness of the first user to the first system communication.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.