# Patent

## Title
Dynamically providing system communications tailored to individual users responsive to trigger events in virtual spaces

## Abstract

System communications tailored to individual users may be dynamically provided responsive to trigger events 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. Trigger events may include specific user actions defined as trigger events. Current states may be obtained responsive to trigger events occurring within the virtual space. A given current state may include (1) information associated with the virtual space at a given moment, (2) information associated with a user character at a given moment, and/or (3) information associated with a user at a given moment. It may be determined whether individual current states correspond to one or more of a plurality of system communications. System communications may be provided for presentation to users via one or more communication channels.

## Background
FIELD OF THE DISCLOSURE
This disclosure relates to dynamically providing system communications tailored to individual users responsive to trigger events in virtual spaces.
BACKGROUND
In-space communications (e.g., offers and messages) in network-based games are known. In existing systems, however, such communications are typically hard coded or “baked” into the games. Thus, any changes or additions to the communications may need to be programmed and deployed into the live games in order for those changes or additions to be realized. Not only can this be a time intensive workflow, but it may also discourage using user data to customize communications.
SUMMARY
One aspect of the disclosure relates to a system configured 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, the system may include one or more servers. The server(s) may be configured to communicate with one or more client computing platforms according to a client/server architecture. The users may access the system and/or the virtual space via the client computing platform(s).
The server(s) may be configured to execute one or more computer program modules. The computer program modules may include one or more of a user module, a space module, a user-action monitoring module, a current-state information module, a system-communication matching module, a system-communication provisioning module, an admin module, and/or other modules. The user module may be configured to access and/or manage one or more user profiles and/or user information associated with users of the system. The space module may be configured to implement an instance of the virtual space executed by the computer modules to determine views of the virtual space.
The user-action monitoring module may 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 module may 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 module may 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 the server(s) and/or at other locations in the system. 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 the system (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, the system-communication matching module may 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.
In some implementations, the current-state information module may be configured to add individual current states to a state queue containing one or more current states to be matched to system communications, as described in connection with the system-communication matching module. The state queue may be stored by the server(s) and/or at other locations in the system. The system-communication matching module may be configured to remove a given current state from the state queue responsive to the given current state being determined to correspond with a given system communication.
The system-communication provisioning module may be configured to provide system communications for presentation to users via one or more communication channels. The system-communication provisioning module may 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 module may 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 module may 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, the admin module may be configured to generate templates for dynamically providing system communications, which may be applied to two or more different virtual spaces.
The admin module may 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 module may 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 herein.
These and other features, and characteristics of the present technology, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a system configured to dynamically provide system communications tailored to individual users responsive to trigger events in a virtual space, in accordance with one or more implementations.
FIG. 2 illustrates an admin interface, in accordance with one or more implementations.
FIG. 3 illustrates a method for dynamically providing system communications tailored to individual users responsive to trigger events in a virtual space, in accordance with one or more implementations.
FIG. 4 is an illustrative representation of a state queue, in accordance with one or more implementations.



DETAILED DESCRIPTION
FIG. 1 illustrates a system 100 configured 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, system 100 may include one or more servers 102. The server(s) 102 may be configured to communicate with one or more client computing platforms 104 according to a client/server architecture. The users may access system 100 and/or the virtual space via client computing platform(s) 104.
The server(s) 102 may be configured to execute one or more computer program modules. The computer program modules may include one or more of a user module 106, a space module 108, a user-action monitoring module 110, a current-state information module 112, a system-communication matching module 114, a system-communication provisioning module 116, an admin module 118, and/or other modules.
The user module 106 may be configured to access and/or manage one or more user profiles and/or user information associated with users of system 100. 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 module 108 may 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) 102 to client computing platform(s) 104 for presentation to users. The view determined and transmitted to a given client computing platform 104 may correspond to a user character being controlled by a user via the given client computing platform 104. The view determined and transmitted to a given client computing platform 104 may 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 module 108 is not intended to be limiting. The space module 108 may 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 module 108, 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 module 108).
The user-action monitoring module 110 may 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 module 112 may 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 module 114 may 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) 102 and/or at other locations in system 100. 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 system 100 (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 module 114 may 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 to FIG. 4, in some implementations, current-state information module 112 may be configured to add individual current states 404 to a state queue 402 containing one or more current states to be matched to system communications, as described in connection with system-communication matching module 114. The state queue 402 may be stored by server(s) 102 and/or at other locations in system 100. The system-communication matching module 114 may be configured to remove a given current state 404 from the state queue 402 responsive to the given current state 404 being determined to correspond with a given system communication.
The system-communication provisioning module 116 may be configured to provide system communications for presentation to users via one or more communication channels. The system-communication provisioning module 116 may 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 module 118 may 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 module 118 may 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 module 118 may be configured to generate templates for dynamically providing system communications, which may be applied to two or more different virtual spaces.
The admin module 118 may 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 module 118 may 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 with FIG. 2.
In some implementations, server(s) 102, client computing platform(s) 104, and/or external resources 120 may 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 resources 120 may be operatively linked via some other communication media.
A given client computing platform 104 may 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 platform 104 to interface with system 100 and/or external resources 120, and/or provide other functionality attributed herein to client computing platform(s) 104. By way of non-limiting example, the given client computing platform 104 may 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 resources 120 may include sources of information, hosts and/or providers of virtual environments outside of system 100, external entities participating with system 100, and/or other resources. In some implementations, some or all of the functionality attributed herein to external resources 120 may be provided by resources included in system 100.
The server(s) 102 may include electronic storage 122, one or more processors 124, and/or other components. The server(s) 102 may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of server(s) 102 in FIG. 1 is not intended to be limiting. The server(s) 102 may 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) 102 may be implemented by a cloud of computing platforms operating together as server(s) 102.
Electronic storage 122 may comprise electronic storage media that electronically stores information. The electronic storage media of electronic storage 122 may include one or both of system storage that is provided integrally (i.e., substantially non-removable) with server(s) 102 and/or removable storage that is removably connectable to server(s) 102 via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 122 may 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., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. The electronic storage 122 may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage 122 may 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) 102 to function as described herein.
Processor(s) 124 may be configured to provide information processing capabilities in server(s) 102. As such, processor(s) 124 may 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) 124 is shown in FIG. 1 as a single entity, this is for illustrative purposes only. In some implementations, processor(s) 124 may include a plurality of processing units. These processing units may be physically located within the same device, or processor(s) 124 may represent processing functionality of a plurality of devices operating in coordination. The processor(s) 124 may be configured to execute modules 106, 108, 110, 112, 114, 116, 118, and/or other modules. The processor(s) 124 may be configured to execute modules 106, 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 modules 106, 108, 110, 112, 114, 116, and 118 are illustrated in FIG. 1 as being co-located within a single processing unit, in implementations in which processor(s) 124 includes multiple processing units, one or more of modules 106, 108, 110, 112, 114, 116, and/or 118 may be located remotely from the other modules. The description of the functionality provided by the different modules 106, 108, 110, 112, 114, 116, and/or 118 described below is for illustrative purposes, and is not intended to be limiting, as any of modules 106, 108, 110, 112, 114, 116, and/or 118 may provide more or less functionality than is described. For example, one or more of modules 106, 108, 110, 112, 114, 116, and/or 118 may be eliminated, and some or all of its functionality may be provided by other ones of modules 106, 108, 110, 112, 114, 116, and/or 118. As another example, processor(s) 124 may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of modules 106, 108, 110, 112, 114, 116, and/or 118.
FIG. 2 illustrates an admin interface 200, in accordance with one or more implementations. The admin interface 200 may be provided by an admin module that is the same as or similar to admin module 118. The admin interface 200 may be presented by a client computing platform(s) 104 and/or other computing platform. As depicted in FIG. 2, admin interface 200 may include one or more of a new system communications field 202, a system communication modification field 204, a trigger event definition field 206, a system communication matching field 208, a user responsiveness field 210, and/or other fields. The depiction of admin interface 200 in FIG. 2 is not intended to be limiting as one or more of fields 202, 204, 206, 208, and/or 210 may be combined with another field and/or omitted from admin interface 200. One or more of fields 202, 204, 206, 208, and/or 210 may operate in conjunction with one or more of modules 106, 108, 110, 112, 114, 116, and/or 118.
The new system communications field 202 may be configured to receive one or more new system communications. The system communication modification field 204 may be configured to facilitate modifying existing system communications. The trigger event definition field 206 may be configured to receive information defining specific user actions and/or other virtual space events as trigger events. The system communication matching field 208 may 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 field 210 may be configured to facilitate determining user responsiveness to system communications presented via the one or more communication channels.
FIG. 3 illustrates a method 300 for 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 method 300 presented below are intended to be illustrative. In some implementations, method 300 may 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 method 300 are illustrated in FIG. 3 and described below is not intended to be limiting.
In some implementations, method 300 may 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 method 300 in 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 method 300.
At an operation 302, actions performed by a user within the virtual space may be monitored for trigger events. Operation 302 may be performed by a user-action monitoring module that is the same as or similar to user-action monitoring module 110, in accordance with one or more implementations.
At an operation 304, current states may be obtained responsive to trigger events occurring within the virtual space. Operation 304 may be performed by a current-state information module that is the same as or similar to current-state information module 112, in accordance with one or more implementations.
At an operation 306, a determination may be made as to whether individual current states correspond to one or more of a plurality of system communications. Operation 306 may be performed by a system-communication matching module that is the same as or similar to system-communication matching module 114, in accordance with one or more implementations.
At an operation 308, system communications may be provided for presentation to users via one or more communication channels. Operation 308 may be performed by a system-communication provisioning module that is the same as or similar to system-communication provisioning module 116, 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

1. A system configured to dynamically provide system communications tailored to individual users responsive to trigger events in a virtual space, the system comprising:
one or more processors configured to execute computer program modules, the computer program modules comprising:
a user-action monitoring module configured to monitor actions performed by a user within the virtual space for trigger events including a first trigger event, the first trigger event being a specific user action performed by a first user that has been defined as a trigger event;
a current-state information module configured to obtain current states responsive to trigger events occurring within the virtual space, a given current state including 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, or (3) information associated with a user at a given moment, wherein a first current state is obtained responsive to the first trigger event and configured to add the first current state to a state queue containing one or more current states to be matched to system communications;
a system-communication matching module configured to determine whether individual current states correspond to one or more of a plurality of system communications, a given system communication being a communication configured to be provided by the system for presentation to users via one or more communication channels, wherein a first system communication is selected responsive to the first system communication being determined to correspond to the first current state and configured to remove the first current state from the state queue responsive to the first current state being determined to correspond with the first system communication; and
a system-communication provisioning module configured to provide system communications for presentation to users via the one or more communication channels, the first system communication being presented to the first user.

2. The system of claim 1, wherein the system-communication matching module is configured to determine whether current states correspond to one or more of a plurality of system communications based on one or more space-state criteria.

3. The system of claim 1, wherein the system-communication matching module is configured to determine whether current states correspond to one or more of a plurality of system communications based on one or more user attribute criteria.

4. 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, or an out-of-space email.

5. The system of claim 1, wherein a given system communication includes one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, or an informative message.

6. The system of claim 1, further comprising an admin module configured to receive one or more of new system communications, existing system communications, trigger event definitions, or information associated with one or more bases for determining whether an individual current state corresponds to one or more system communications.

7. The system of claim 6, wherein the admin module is further configured to determine user responsiveness to system communications presented via the one or more communication channels.

8. The system of claim 6, wherein the admin module is further configured to provide an admin interface for presentation to an administrative user, the admin interface being configured to receive information from the administrative user.

9. A method for dynamically providing system communications tailored to individual users responsive to trigger events in a virtual space, the method being implemented in a computer system comprising one or more processors configured to execute computer program modules, the method comprising:
monitoring actions performed by a user within the virtual space for trigger events including a first trigger event, the first trigger event being a specific user action performed by a first user that has been defined as a trigger event;
obtaining current states responsive to trigger events occurring within the virtual space, a given current state including 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, or (3) information associated with a user at a given moment, wherein a first current state is obtained responsive to the first trigger event;
adding the first current state to a state queue containing one or more current states to be matched to system communications;
determining whether individual current states correspond to one or more of a plurality of system communications, a given system communication being a communication configured to be provided by a system for presentation to users via one or more communication channels, wherein a first system communication is selected responsive to the first system communication being determined to correspond to the first current state;
removing the first current state from the state queue responsive to the first current state being determined to correspond with the first system communication; and
providing system communications for presentation to users via the one or more communication channels, the first system communication being presented to the first user.

10. The method of claim 9, wherein determining whether current states correspond to one or more of a plurality of system communications is based on one or more space-state criteria.

11. The method of claim 9, wherein determining whether current states correspond to one or more of a plurality of system communications is based on one or more user attribute criteria.

12. The method of claim 9, wherein the one or more communication channels includes one or more of an in-space modal, an in-space message, or an out-of-space email.

13. The method of claim 9, wherein a given system communication includes one or more of a third-party advertisement, an offer for in-space products, an offer in-space services, or an informative message.

14. The method of claim 9, further comprising receiving one or more of new system communications, existing system communications, trigger event definitions, or information associated with one or more bases for determining whether an individual current state corresponds to one or more system communications.

15. The method of claim 14, further comprising determining user responsiveness to system communications presented via the one or more communication channels.

16. The method of claim 14, further comprising providing an admin interface for presentation to an administrative user, the admin interface being configured to receive information from the administrative user.