U.S. Pat. No. 11,954,508

FACILITATING USER CONFIGURED ASSISTANCE REQUESTS THROUGH A CHAT IN A VIRTUAL SPACE

AssigneeKabam, Inc.

Issue DateAugust 14, 2023

Illustrative Figure

Abstract

A system and method for facilitating a user to initiate and accept an assistance request through a chat session is disclosed. Controls may be provided in a graphical chat interface to enable the user to specify inputs to request assistance from other users participating in the chat session. An assistance request may be generated and communicated to those users through the chat session. Graphical representation for the assistance request and controls that facilitate the users to accept the assistance request may be provided in the graphical chat interface. Upon an acceptance to the assistance request by a responding user through the graphical chat interface, an assistance command may be generated and executed in the virtual space.

Description

DETAILED DESCRIPTION FIG.1illustrates one example of a system100configured to facilitate user configured assistance requests through a chat session in a virtual space. In system100, a user may specify inputs through a graphical chat interface to request assistance from other users available in the chat session. A corresponding assistance request may be generated based on the user inputs and communicated to other user through the chat session. One or more users in the chat session may accept the assistance request and the acceptances may be executed in the virtual space. This may enhance user collaboration in the virtual space such that user assistance may be requested and fulfilled through graphical chat interfaces directly. In some implementations, system100may include a server102. The server102may 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 platforms104. Server102may be configured to execute one or more computer program modules. The one or more computer program modules may include one or more of a space module106, a chat-request module108, a chat module110, a response-request module112, and/or other modules. Space module106may be configured to implement the instance of the virtual space executed by the computer modules. The instance of the virtual space may reflect the state of the virtual space. The instance of the virtual space may be used to push state information to clients for implementation on the clients, may be used to verify state information generated on clients executing expressions of the instance locally, and/or for other purposes. State information may include information about the state of the virtual space such as, without limitation, position information of one or more objects, topography information, object status/shape information, battle information, score information, user or character progress information, user inventory information, progress information ...

DETAILED DESCRIPTION

FIG.1illustrates one example of a system100configured to facilitate user configured assistance requests through a chat session in a virtual space. In system100, a user may specify inputs through a graphical chat interface to request assistance from other users available in the chat session. A corresponding assistance request may be generated based on the user inputs and communicated to other user through the chat session. One or more users in the chat session may accept the assistance request and the acceptances may be executed in the virtual space. This may enhance user collaboration in the virtual space such that user assistance may be requested and fulfilled through graphical chat interfaces directly.

In some implementations, system100may include a server102. The server102may 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 platforms104. Server102may be configured to execute one or more computer program modules. The one or more computer program modules may include one or more of a space module106, a chat-request module108, a chat module110, a response-request module112, and/or other modules.

Space module106may be configured to implement the instance of the virtual space executed by the computer modules. The instance of the virtual space may reflect the state of the virtual space. The instance of the virtual space may be used to push state information to clients for implementation on the clients, may be used to verify state information generated on clients executing expressions of the instance locally, and/or for other purposes. State information may include information about the state of the virtual space such as, without limitation, position information of one or more objects, topography information, object status/shape information, battle information, score information, user or character progress information, user inventory information, progress information for one or more activities or actions, view information describing a view of the virtual space, and/or other information that describes the state of the virtual space. Expressions of the instance executed on the clients facilitate presentation of views on the clients of the virtual space. Expressions of the instance executed on the clients may be configured to simply present views of the virtual space based on the state information (e.g., via streaming view information, object/position information, and/or other state information) received from space module106. Expressions of the instance executed on the clients may include space logic that effectively provides for execution of a limited version of the instance on a client that is synchronized and/or verified with state information received from space module106. The view presented on a given client 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 platforms104) 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 views of the virtual space determined from the instance executed by space module106is not intended to be limiting. The virtual space may be presented in a more limited, or richer, manner. For example, views of 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 representations of individual places within the virtual space are contemplated.

Within the instance of the virtual space executed by space module106, 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 may initiate maneuvers to direct the movements of controlled character 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.

Within the instance of the virtual space executed by space module106, virtual space activities may be provided to users to interact with the virtual space. Examples of virtual space activities may include constructing, upgrading, demolishing buildings, training, marching, reinforcing, reassigning, recruiting, arranging formations, and/or transporting troops, attacking, developing, creating, demolishing and/or defending cities, realms, kingdoms, and/or any other virtual space location entities, crafting or transporting virtual items, attacking, and/or interacting with non-player characters (NPCs herein-after) and/or other user characters, researching for skills levels, experiences, mining and/or prospecting for virtual resources, completing missions, quests, and/or campaigns, and/or any other activities provided by the virtual space. Some virtual space activities may engage the users against an environment within the virtual space—i.e., PvE activities. In some examples, the virtual space activities may engage the users to compete against one another within the virtual space—i.e., PvP activities.

The user may participate in the instance of the virtual space by initiating actions in the virtual space. In some implementations, the actions may be enabled by physical controls provided by the client computing platforms104, such as but not limited to, play buttons, joysticks, motion sensors, cameras, keyboards, mouse, and/or any other physical controls provided by client computing platforms104. In some implementations, the actions may be enabled by controls provided by graphical user interface (GUI) implemented on client computing platforms104, such as but not limited to, graphics, menus, dialog boxes, forms, sliding bars, buttons, radio box, tabs, and/or any other controls provided by the GUI. In any case, as so enabled to initiate actions in the virtual space, the user may provide inputs to initiate virtual space maneuvers, to participate in virtual activities and/or engage in other interactions within the virtual space. For example, user may provide an input specifying an amount of troops to be marched to a virtual space location when defending that virtual space location. Commands may be generated for the user initiated actions and may be executed by the space module106in the virtual space such that the user requested interactions with the virtual space may be effectuated in the virtual space following the execution. Execution of such a command by the space module106may produce changes to the virtual space state, which may reflect progresses and/or results of the user initiated actions.

Within the instance of the virtual space executed by space module106, resources may be, for example, generated, cultivated, mined, harvested, purchased, earned, traded and/or gifted over time by units, characters, pets, buildings, facilities and/or any other infrastructure or entity in the virtual space for the user. Resources may be prospected. Resources may be virtual items of value that can be accumulated through participation in the virtual space, rather than virtual items that can only be bought. Resources may be virtual items that are accumulated en masse and then used to satisfy resource requirements in the virtual space. By way of non-limiting examples, virtual space resources may include food (e.g., rice, fish, wheat, etc.), wood, minerals (e.g., good, iron, ore, coal, oil, stone, crystal, etc.), plants, animals, virtual items, virtual currencies, and/or any other resources appropriate for the virtual space. Transfer of resources between users may be reflected through user inventories such that the transferor user's inventory reduces an amount of the transferred resources that are added to the transferee user.

Some virtual space activities may require consumption of virtual resources. During the virtual space activities, an amount of the resources required by the virtual space activities may be increased or decreased in the user inventory to reflect a consumption (including exhaustion) or procurement of the resources in the virtual space by the user. Some virtual space activities may be associated with time requirements for them to complete in the virtual space. Length of time durations required by different virtual space activities may vary based on various factors specific to the virtual space activities. For example, constructing a level 1 wall in the virtual space may require 30 minutes build time; constructing a level 2 wall may require 1 hour build time; constructing a level 3 wall may require 2 hour build time; constructing a level 4 wall may require 3 hour build time; and so on. Such required duration for an activity to complete within the virtual space may be shortened by user consumption of virtual items and/or resources. For example, hourglasses may be provided to users to shorten build time of a wall by various amount of time.

In some examples, virtual space activities may require user inputs from the users to facilitate participation of the activities by the users. As a virtual space activity progresses within the virtual space, one or more events within the virtual space may occur in relation to the virtual space activity. For example, during a troop marching activity engaged by a user, troops may be fatigued due to marching over unexpected treacherous terrains and therefore require morale boost to be provided by the user, e.g., by consuming virtual space resources. In another example, during a mining activity engaged by the user, NPC intruders (e.g., barbarians) may roam around the mines owned by the user and thus require the user to transport troops to defend the mines.

Within the instance of the virtual space executed by space module106, users may interact with one another. Interaction between the users may include user collaboration that coordinates the user actions in the virtual space, virtual resources, virtual items, skills, abilities and/or other user elements sharing between the users, assistance from one user to another and/or any other collaboration between the users to reach a collaboration objective. In some examples, for enhanced collaboration in the virtual space, alliances may be established to specify alliance agendas and enforce rules of conducts by which alliance members should conduct toward each other.

The user collaboration may include assistance between the users. A user may request other users to provide assistance to complete an activity in the virtual space. Such an assistance request may be accepted by responding user(s). The responses may be executed by the space module to effectuate the assistance provided in the acceptances. Such assistance may include, for example, transferring virtual resources, items and/or entities from the responding user's inventory to the requesting user's inventory within the virtual space. The transferred resources, items, and/or entities may be consumed or utilized to further the assistance objective established by the requesting user.

By way of non-limiting examples, user assistance in the virtual may include help defend virtual locations controlled by a requesting user, help the assistance receiving user speed up research time, construction and/or upgrade time of buildings, help train troops of the requesting user, transport troops to the requesting user controlled virtual space locations, provide the requesting user skills, experience, expertise and/or abilities, cooperate with the requesting user in activities, missions, quests, campaigns in the virtual space, to attack common enemies, NPC, monsters, characters and/or virtual space locations controlled by other users, to explore the virtual space with the requesting user, and/or any other user assistance. Such user assistance may be executed and effectuated in the virtual space by the space module106, and in some examples may result in transfers of virtual resources, virtual items, virtual space entities and/or any other virtual space components from the assistance providing user to the assistance receiving user.

Chat-request module108may be configured receive user inputs requesting assistance submitted through graphical chat interfaces. The received user inputs may specify one or more assistance objectives established by the requesting user, which may provide an opportunity and/or motivation for other users to assist and/or cooperate with the requesting user. Such assistance objectives may include, but not limited to, helping defend a city, helping attack a monster, helping construct a building, helping research for a skill, helping train troops, helping explore virtual space, and/or any other assistance objectives that may provide an opportunity and/or motivation for other users to assist the requesting user.

Simultaneously or alternatively, the received user inputs may specify one or more virtual resources, virtual items, virtual entities, and/or any other components to be transferred to the assistance requesting user to further the assistance objective(s). By way of non-limiting examples, the user inputs may request an amount of stone, wood, and ore to be transferred to the requesting user for upgrading a knight's hall in the requesting user's city; may request that a number of troops to be transported to the requesting user's city to strengthen the city defense; may request a virtual item, a skill, or an ability to be shared with the requesting user for a period of time; may request to attack/defend a virtual space location, to undertake a quest, to explore a virtual space area, just to name a few.

The user inputs requesting assistance may be received by the chat-request module108through, for example, graphical chat interfaces implemented on the client computing platforms104. For instance, controls may be provided in a graphical chat interface that allows the requesting user to request virtual resources to be transferred from alliance members to the requesting user through a chat session. Accordingly, such user inputs may be transmitted to the chat-request module108through the graphical chat interface.

Responsive to receiving such user inputs, the chat-request module108may be configured to generate assistance requests. In some implementations, the chat-request module108may be configured to parse the received user inputs, extract assistance request parameters from the user inputs, and construct the assistance request using assistance request syntax predetermined by provider, administrator, moderator, and/or any other entities related to the virtual space at a configuration stage of system100. For example, the parse assistance parameters may include chat session(s) addressed, assistance objective(s), type, amount of virtual space resources, items, and/or entities that may be contributed by a responding user towards the assistance objective, a time frame for assistance, a location for assistance and/or any other assistance parameters.

The chat-request module108may be configured to communicate the generated assistance requests through chat sessions within the virtual space. In some implementations, for such communication, the chat-request module108may be configured to parse the received user inputs requesting assistance for requested recipients and determine one or more chat sessions through which these recipients may be reached. In some examples, the received user inputs requesting assistance may not specify any specific users the request is directed to, but rather any user available in a chat session. In any case, based on the received user inputs, the chat-request module108may be configured to generate communication inputs using communication input syntax predetermined by provider, administrator, moderator, and/or any other entities related to the virtual space. In some implementations, the chat-request module108may be configured to serialize communication of the assistance requests based on an order by which they were received by the chat-request module108.

Chat module110may be configured to implement chat sessions to facilitate textual communications between users. The textual communications may include one or more of textual chat, instant messages, private messages, and/or other communications. The textual communications may facilitate the users to share information about the virtual space, engage in social interactions, recruit other users, invite other users to cooperate in the virtual space and/or engage in any other activities enabled the textual communication. The textual communications may be received and entered by the users via their respective client computing platforms104and may be routed to and from the appropriate users through server102via a chat session implemented by the chat module110. A chat session may include complete textual communication inputs from users who have participated in the chat session. The textual communication inputs in a chat session may be stored on and accessed from the electronic storage122. In some examples, a chat session may be open ended within the virtual space such that it does not finish until a provider, administrator, moderator, and/or any other entities related to the virtual space decide not to provide the chat session through the chat module110. In some other examples, a chat session may be initiated and stopped by users at any time as desired.

In some implementations, chat sessions may be implemented by the chat module based on user relationships. A global chat session may be implemented such that communication inputs from users may be received by any other users who participate in the global chat session. Typically, no specific virtual space relationships may be required for users to participate in the global chat session. Such a global chat session may be open ended and users may join or leave the global chat session at any time as desired. An alliance chat session may be implemented differently from the global chat session in that only alliance members may participate in the alliance chat session. Typically, individual alliance chat sessions are implemented by the chat module for corresponding alliances in the virtual space. Like the global chat session, an alliance chat sessions may allow alliance members to join or leave the alliance chat session at any time and may be open ended. A private chat session may be implemented by the chat module110to facilitate user controlled communication between or among individual users. For example, a user may initiate a private chat session to communicate with one or more other users. Unlike global or alliance chat sessions, private chat sessions may not be open ended such that the users may initiate and stop the private chat sessions as desired. It is understood that the above examples of different types of chat sessions are described only for illustration purposes, and thus are not intended to be limiting. One of ordinary skill in the art will appreciate the chat module110may implement chat sessions in any other ways to facilitate communication between users in other examples.

In any case, the textual communications between the users in a chat session implemented by the chat module110may be either synchronous or asynchronous. In synchronous communication, individual users may receive communication inputs from other users in real-time or near real-time, i.e., without significant delay. In asynchronous communication, time delays may occur between sending communications inputs and receiving the sent communication inputs. In some implementations, the chat module110may be configured to mediate asynchronous communication to ensure correct receiving orders.

In some implementations, the textual communications between users facilitated by the chat module110may be location based. For example, synchronous communication may be provided by the chat module to users with user characters engaging in activities within an area of virtual space. For instance, users located in a specific realm of virtual space may engage in real-time or near real-time communication with one another. On the other hand, asynchronous communication may be provided to users with user characters located in different areas of virtual space.

In any case, the chat module110may be configured to receive and transmit communication inputs in a chat. For such transmission, the chat module110may be configured to mediate the communication inputs using, for example, semaphores, linked-list, priority list, flag, time-stamps, and/or any other methods to ensure correct transmission order of the communication inputs. For effectuating the transmission of the communication inputs to individual client computing platforms104, the chat module may be configured to package the communication inputs into packets that may be routed to the client computing platforms by the underlying networks as shown inFIG.1.

The chat module110may be configured to implement chat sessions that include assistance requests generated by the chat-request module108. In some implementations, the chat module110may determine the assistance requests from other type(s) of communication inputs in the chat sessions, determine the identity information of the requesting user, determine time stamps when the assistance requests were received in the chat session, and/or determine any other information related to the assistance requests.

The response-request module112may be configured to receive user acceptance to the assistance requests and to generate commands to effectuate the assistance provided through the received responses in the virtual space. A received user acceptance may specify that a responding user has accepted a corresponding assistance request, and, in some examples, may specify that the responding user has modified terms of the requested assistance. By way of non-limiting examples, the modified terms may include a different amount of virtual resources or virtual space entities from that requested, a different type of virtual resources from that requested, a different time frame to assist from that requested, a different virtual space location for assistance from that requested and/or any other modified terms that may be included in a response to an assistance request.

In some implementations, the response-request module112may receive the acceptance to assistance requests from the chat module110. For example, a responding user may send the acceptance through a chat session by acting on the request in the chat session. Such an acceptance may be received and recognized by the chat module110, which may be configured to push the acceptance to the response-request module112for further action. However, this is not necessarily the only case. In another example, the acceptance may be transmitted to the response-request module112directly from a client platform104associated with the responding user. In that example, response-request module112may be configured to interact with a network module of system100to receive the acceptance directly from the user without, for example, examining the chat session.

In any case, responsive to receiving user acceptance to the assistance requests, the response-request module112may be configured to generate one or more assistance commands to effectuate the assistance provided through the user responses. In the case where the acceptance indicates that the responding user has accepted the assistance request as is, the response-request module112may be configured to generate the assistance commands based on the assistance request parameters extracted by the chat-request module108. In the case where the acceptance indicates that the responding user has accepted the request but modified the terms of the assistance requested, the response-request module112may be configured to parse the received acceptance to extract assistance parameters as provided by the responding user. Syntax for acceptance to assistance request may be determined by the provider, administrator, moderator, and/or any other entities related to the virtual space at a configuration stage of system100and may be used for parsing such acceptances.

Based on the determined assistance parameters, the response-request module112may generate one or more assistance commands executable by the space module106to effectuate the assistance provided by the response in the virtual space. For example, in the case where a user response specifies that it accepts a request to transfer 1000 stones toward the requesting user's upgrading of a knight's hall, the response-request module112may generate a command to transfer the 1000 stones from the responding user's inventory to the requesting user's inventory and subsequently consume the 1000 stone in the requesting user's inventory as required by the upgrade of the requesting user's knight's hall.

The server102, client computing platforms104, 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 servers102, client computing platforms104, 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 resources118, and/or provide other functionality attributed herein to client computing platforms104. 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 tablet computing platform, a NetBook, a Smartphone, a gaming console, and/or other computing platforms. An example of computing platform104is illustrated inFIG.2.

External resources118may include sources of information, hosts and/or providers of virtual environments outside of system118, external entities participating with system100, and/or other resources. In some implementations, some or all of the functionality attributed herein to external resources118may be provided by resources included in system100.

Server102may include electronic storage122, one or more processors120, and/or other components. Server102may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of server102inFIG.1is not intended to be limiting. Server102may include a plurality of hardware, software, and/or firmware components operating together to provide the functionality attributed herein to server102. For example, server102may be implemented by a cloud of computing platforms operating together as server102.

Electronic storage122may comprise non-transitory 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 server102and/or removable storage that is removably connectable to server102via, for example, a port (e.g., a USB 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., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. Electronic storage116may 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 processor120, information received from server102, information received from client computing platforms104, and/or other information that enables server102to function as described herein.

Processor(s)120is configured to provide information processing capabilities in server102. As such, processor120may 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 processor120is shown inFIG.1as a single entity, this is for illustrative purposes only. In some implementations, processor120may include a plurality of processing units. These processing units may be physically located within the same device, or processor120may represent processing functionality of a plurality of devices operating in coordination. The processor120may be configured to execute modules106,108,110,112and/or other modules. Processor120may be configured to execute modules106,108,110,112and/or other modules by software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor120. As used herein, the term “module” may refer to any component or set of components that perform the functionality attributed to the module. This may include one or more physical processors during execution of processor readable instructions, the processor readable instructions, circuitry, hardware, storage media, or any other components.

It should be appreciated that although modules106,108,110,112are illustrated inFIG.1as being implemented within a single processing unit, in implementations in which processor122includes multiple processing units, one or more of modules106,108,110,112,114,116may be implemented remotely from the other modules. The description of the functionality provided by the different modules106,108,110,112,114,116described below is for illustrative purposes, and is not intended to be limiting, as any of modules106,108,110,112may provide more or less functionality than is described. For example, one or more of modules106,108,110,112may be eliminated, and some or all of its functionality may be provided by other ones of modules106,108,110,112. As another example, processor120may 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.

It is understood that the above description of system100is merely illustrated as one example of a system configured to facilitate a user configured assistance request through a chat provided by a virtual space in accordance with the disclosure. It should be appreciated that in some examples, a localized system100may be configured according to a stand-alone architecture such that the system configured to provide rewards to a user in a virtual space based on user performance of gesture in accordance with the disclosure may be localized. For example, the localized system100may comprise a processor the same as or similar to the processor120, e.g., a CPU, a graphical processing unit (GPU), storage, memory, an I/O subsystem, and/or other components included the localized system100. In those examples, the CPU may be configured to communicate virtual space state information to the GPU through any suitable wired or wireless communications such as, but not limited to, a point-to-point communication like a data bus included in the localized system100. The GPU may be configured to determine representational view information for presenting instances of virtual space on one or more displays coupled to or included in the localized system100. It should also be appreciated in some other examples, multiple localized systems100may be connected via any wired or wireless links according to a distributed architecture (e.g., peer to peer networks) such that the localized systems100may be configured to operate in concert to achieve all or some of the functions of106,108,110,112, as described above.

FIG.2illustrates one example of client computing platform104as shown inFIG.1. It will be described with references toFIG.1. The computing platform104may include any suitable device, for example, handheld device (e.g., mobile or smart phone, tablet, etc.), computer server, a laptop computer, desktop computer, media center, gaming console, set top box, printer or any other suitable device, to name a few. In this example, the client computing platform104employs a first processor202operatively connected to system memory206and a second processor204operatively connected to frame buffer208. This is merely illustrative, as client computing platform104may be implemented with more or less processors than those shown. One or both of first processor202and/or second processor204may include a plurality of processing units operating in coordination in some other examples. As shown in this example, the first and second processors may be connected using a data bus or point to point connections, such the system bus210, which transfers data between each structure of the client computing platform104. Although not shown, the client computing platform104may also include an input device, such as but not limited to, touch screen, motion sensor, mouse, trackball, touchpad, digitizing tablet, joystick, pointing stick, keypad, keyboard, camera, remote controller or any other suitable input device. The client computing platform104may also include a display, which is also not shown in this example. The display may include touch screen, liquid crystal display (LCD), light-emitting diode (LED) display, organic LED (OLED) displays, cathode ray tube (CRT) display, plasma display, projector screen, electroluminescent displays, vacuum fluorescent (VF) display, laser display, E-ink display or any other suitable displays, to name a few. The display may be configured to receive inputs from a user, for example a touchscreen. One of ordinary skill in the art will recognize other suitable structure, such as but not limited to, a storage device, a memory controller, an i/o subsystem and/or any other structure may also be included in the system100.

In this example, the first processor202may include a host central unit (CPU) having multiple cores however any suitable processor may be employed including a DSP, APU, GPGPU or any other suitable processor or logical circuitry. The first processor202may be bi-directionally connected to other components of the client computing platform104via the system bus210. The second processor204may include a graphics processing unit (GPU), which drives the display device via a display connector, such as analog display connectors, for example, composite video, S-Video, VGA, digital display connectors, for example, HDMI, mini-DVI, micro-DVI, wireless connectors or any other suitable connectors. It is understood that, in some other examples of client computing platform104, the first processor202may be integrated with the second processor204to form a general processor. In addition, although the system memory206and the frame buffer208are shown inFIG.2as two separate components in the client computing platform104, it is also understood that a unified memory architecture that can accommodate all the processors may also be employed in some other examples of the client computing platform104.

In this example, as shown, the first processor202may be configured to execute a space interface module212, a chat interface module214, a user response module216, an assistance request module218, and/or any other modules. The “module” referred to herein is any suitable software module, hardware, firmware or any suitable combination thereof that can perform the desired function, such as programmed processors, discrete logic, for example, state machine, to name a few. It is further understood that these modules may be included in the first processor202as part of the first processor202, or a discrete component of the client computing platform104that can be executed by the first processor202, such as software programs stored on computer readable storage medium that can be loaded into the client computing platform104and executed by the first processor202. It is still understood that these modules may be combined in some other examples to form an integrated module that performs the combined functions of these modules as described herein. It is still understood the number of modules may vary in some other examples such that, for example, more than one space interface modules212may be included in the first processor202. These modules may communicate with structures in the client computing platform104such as but not limited to the system memory206, the second processors204and the frame buffer208via any suitable communication link, such as the system bus210.

Also shown in this example is the second processor204, operatively connected to the frame buffer208via any suitable communication link. The second processor204in this example is a graphics processing unit (GPU) that may be configured to process graphics information for a display, which is not shown in this example. The second processor204may be configured to receive graphics information220from the first processor202, e.g., from an output of space interface module212and/or chat interface module214. The second processor204may be configured to process graphics information to facilitate a presentation of the graphics information on the display. As shown, the second processor204may be connected to the frame buffer208for storing and retrieving information224to facilitate the processing of graphics information on the second processor204.

As shown, the first processor202on the client computing platform client computing platform104may be configured to execute space interface module212. The space interface module212may be configured to generate space interfaces on the display to the user. The space interfaces may be generated based on view information determined by the space module106as described inFIG.1, and to present views of the virtual space to the user. The space interfaces may be generated to provide one or more virtual space controls to facilitate user actions in the virtual space. The facilitated actions may include user engagement in a combat and/or defense, virtual space maneuvers directing user character movements, inventory management, city management, construction of infrastructure, mining activities, virtual recourses and/or items trading or purchasing, transferring virtual resources, items and/or entities, picking up virtual space resources, and/or any other actions in the virtual space.

The chat interface module214may be configured to generate graphical chat interfaces to facilitate presentation of textual communications between the user associated with the client computing platform104and other users in the virtual space. For the pretention of the textual communications, the generated graphical chat interfaces may replace space interfaces generated by the space module212on the display. That is, when presented on the display, the generated chat interfaces and space interfaces are mutually exclusive such that the user may not access controls provided by the space interfaces when the chat interfaces are presented on the display, and vice versa.

To facilitate textual communications between the user associated with the client computing platform104and other users, the generated chat interface by the chat interface module214may present on the display the textual communications in a chat session. Chat sessions may be implemented in the chat interfaces by the chat interface module214through tabs: for example, a global chat tab for a global session and an alliance chat tab(s) for an alliance chat session(s) participated by the user associated with the client computing platform client computing platform104. The chat interface module214may be configured to manage presentation of different chat sessions on the display for the user.

Communication inputs in a chat session may include assistance requests generated by the chat-request module108. As described above, the assistance requests may be communicated through chat sessions by the chat module110using predetermined syntax. The chat interface module214may be configured to determine an assistance request from other type(s) communication inputs in the chat session. In some implementations, for such a determination, trigger conditions may be configured by provider, administrator, moderator, and/or any other entities with the chat interface module214based on the predetermined syntax for an assistance request communicated in a chat session.

Responsive to a determination that a communication input is an assistance request, the chat interface module214may be configured to generate visual display of the assistance request in the graphical chat interface. Examples of such a visual display may include an image, a graphical art, an animation, and/or any other visual display that may be generated to visually describe the assistance request.

The chat interface module214may be configured to generate one or more controls for the user associated with client computing platform104to provide inputs to the assistance request. The controls may enable corresponding actions the user may initiate responding to the assistance request. For example, buttons may be generated by the chat interface module214to allow the user to specify a response to the assistance request, e.g., accept, reject, or modify the assistance request. In cases where the user attempts to modify the terms of the assistance request, the chat interface module214may generate controls for the user to provide inputs to modify the terms. Such controls may include pull down menu, input box, dialog box, buttons, forms, radio box, sliding bar, and/or any other controls that may enable the user associated with the client computing platform104. In some implementations, the generated graphical chat interface may include controls for a user to initiate a request for assistance through a chat session. Similar controls to those generated for a responding user to modify terms of assistance requests may be provided for the user to initiate an assistance request.

The user response module216may be configured to determine user responses to the assistance requests based on user inputs via the graphical chat interface generated by the chat interface module214. In some implementations, for such a determination, the user response module216may be configured to parse the user inputs received from the graphical chat interface, extract assistance parameters from the received user inputs and determine user acceptance to the assistance request. Responsive to a determination of user acceptance to the assistance request, the user response module216may communicate the user acceptance to the requesting user through a chat session to the requesting user.

The assistance request module218may be configured to communicate assistance request through a chat session based on user inputs requesting assistance submitted through the graphical chat interface. In some implementations, for such a generation, the assistance request module218may be configured to generate communication inputs transmittable in a chat session by parsing the user inputs submitted through the graphical chat interface. Responsive to the generated communication inputs, the assistance request module may communicate the user assistance request to other users through the chat session.

FIG.3Aillustrates one example of a graphical chat interface300implemented on client computing platform104in accordance with the disclosure. It will be described with references toFIG.1. As shown, the graphical chat interface300is presented on the client computing platform104exclusively such that it replaces any view of the virtual space. As illustrated, the graphical chat interface300may comprise tabs for chat sessions302. In this example, two chat sessions are available through the graphical chat interface300—a global chat session and an alliance chat session. As also shown, in this example, two users, user 1 and user 2, are engaging in textual communications through a global chat session302. Their textual communications310may be input to the global chat session302through a text box304and a chat button306included in the graphical chat interface, as shown. The graphical chat interface300also comprises a scroll bar308to facilitate the textual communications between user 1 and user 2. As shown in this example, the user 2, through the global chat session, communicated to user 1 for assistance to upgrade user 2's embassy.

FIG.3Billustrates an example of graphical chat interface300facilitating a user to request an assistance request324through a chat session. In this example, the graphical chat interface300is generated for user 2 on a client computing platform client computing platform104associated with user 2. As shown in this example, user 2, in order to request assistance from user 1 as indicated in the textual communications illustrated inFIG.3A, has selected a request tab provided by the graphical chat interface300. As illustrated, graphical controls322are provided in the graphical chat interface300to facilitate user 2 to request assistance through the global chat session302. As shown in this example, user 2, through pull down menu322, has specified an assistance objective for the request, i.e., to help upgrade user 2's embassy and also specified that user 2 needs 1000 stone specifically for the upgrading of user 2's embassy. As shown, responsive to user 2's inputs specifying the requested assistance, an assistance request324may be generated, e.g., by the assistance request module218. As shown, user 2 may initiate the request324to be communicated to user 1 through the global chat session302via server102by using the request assistance button320.

FIG.3Cillustrates an example of graphical chat interface300facilitating a user to accept an assistance request communicated through a chat session. In this example, the graphical chat interface300is generated for user 1 on a client computing platform client computing platform104associated with user 1. As shown in this example, the assistance request324as illustrated inFIG.3Bhas been communicated to user 1 through the global chat session302by the server102. Responsive to the assistance request324, the graphical chat interface300for user 1 generates a clickable graphic representation314for the assistance request324based on the assistance objective specified in the assistance request324. As shown, in this example, user 1 accepts the assistance request324by clicking on the graphic representation314, and the graphical chat interface300generates controls316for user 1 to accept the requested assistance, i.e., 1000 stones towards user 2's upgrade of the embassy as specified by the assistance request324. As also shown in this example, other users such as user 3 may engage in textual communications310in the global chat session302, and the textual communications by user 3 may be unrelated to the assistance requested by user 2 as illustrated.

FIGS.3D-3Eillustrate examples of graphical chat interface300facilitating a user to accept the assistance request324communicated through a chat session. In both examples, the graphical chat interface300is generated for user 1 on a client computing platform client computing platform104associated with user 1. As shown inFIG.3D, user 1 through the controls306provided in the graphical chat interface300modifies an amount of stones as requested by the assistance request324. As shown in this example, a sliding bar318may be provided in the graphical chat interface300for user 1 to modify the amount of stones in response to user 2's request. As shown inFIG.3E, user 1 selects 300 stones to be transferred from user 2 to user 1. As a result, a response326for user 1 may be generated, for example, by the user response module216and may be communicated to user 2 through the global chat session302via server102, as illustrated.

FIG.3Fillustrates an example of graphical chat interface300facilitating a user to respond to a modified acceptance of assistance request326. In this example, the graphical chat interface300is generated for user 2 on a client computing platform client computing platform104associated with user 2. As shown in this example, user 1's acceptance326has been communicated to user 2 through the global chat session302via server102. As shown, responsive to the acceptance326, the graphical chat interface300for user 2 may generate controls318for user 2 to respond to the modified assistance. In this example, as shown, user 2 has accepted the modified assistance by user 1, i.e., 300 stones instead of 1000 stones to be transferred to user 2 towards the embassy upgrading.

FIG.4Aillustrates one example of a graphical chat interface400implemented on client computing platform104in accordance with the disclosure. It will be described with references toFIG.1. As shown, the graphical chat interface400is presented on the client computing platform104exclusively such that it replaces any view of the virtual space. As illustrated, the graphical chat interface400may comprise tabs for chat sessions402. In this example, two chat sessions are available through the graphical chat interface400—a global chat session and an alliance chat session. As also shown, in this example, three users, user 1, user 2 and user 3, are engaging with each other through an alliance chat session402. Their textual communications410may be input to the alliance chat session402through a text box404and a chat button406included in the graphical chat interface400, as shown. The graphical chat interface400also comprises a scroll bar408to facilitate the textual communications410between the users. As shown in this example, user 1, through the alliance chat session402, communicated to user 2 and 3 for assistance for more troops to be sent to city A and to help user 1 to defend city A.

FIG.4Billustrates an example of chat interface400as shown inFIG.4Afacilitating a user to transport troops to a city through an alliance chat. In this example, the graphical chat interface400is generated for user 2 on a client computing platform client computing platform104associated with user 2. As shown, the graphical chat interface400, responsive to an assistance request from user 1 for transporting troops to city A, generates a clickable graphical representation412for the assistance request. In this example, user 2 has accepted the assistance request and the graphical chat interface400generates a control414for user 2 to specify types and number of troops that may be transported to city A.

FIG.4Cillustrates an example of chat interface400facilitating a user to specify types and amount of troops to be transported to a city in response to an assistance request in a chat session. As shown in this example, user 2 has specified to provide 500 supply troops and 100 militiamen in response to user 1's assistance request through controls414provided in the graphical chat interface400.

FIG.4Dillustrates an example of chat interface400as shown inFIG.4Afacilitating a user to transport troops to a city through an alliance chat. In this example, the graphical chat interface400is generated for user 3 on a client computing platform client computing platform104associated with user 3. As shown, the graphical chat interface400, responsive to an assistance request from user 1 for transporting troops to city A, generates a clickable graphical representation412for the assistance request. In this example, user 3 has accepted the assistance request and the graphical chat interface400generates a control414for user 3 to specify types and number of troops that may be transported to city A. It should be noted, as shown in this example, the controls414generated for user 3 may be different from those generated for user 2 as shown inFIG.4C. As illustrated, in this example, user 3 has chosen only to show supply troops in the control414. As a result, options for transporting non-supply troops are disabled in control414for user 3. In this example, as shown, user 3 has specified to transport 600 supply wagons to city A in response to user 1's assistance request.

FIG.5illustrates a method500of enabling a user to request assistance through a chat in accordance with the disclosure. The operations of method500presented below are intended to be illustrative. In some embodiments, method500may 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 method500are illustrated inFIG.5and described below is not intended to be limiting.

In some embodiments, method500may 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 method500in 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 method500.

At operation502, a graphical chat interface may be determined for a user to provide inputs to request assistance through a chat session. The determined graphical chat interfaces may comprise controls through which the user may specify assistance parameters such as objective, type, amount of virtual space resource, items, entities, and/or other virtual space elements to be transferred to the requesting user, and/or any other assistance parameters. In some implementations, operation502may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation504, the determined graphical chat interface may be presented to the user, e.g., on a client computing platform104associated with the user. In some implementations, operation504may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation506, user inputs requesting assistance may be received through the graphical chat interface provided to the user in operation504. In some implementations, operation506may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation508, communication inputs to the chat session may be generated based on the user inputs received in the operation506. In some implementations, operation508may be performed by an assistance request module the same as or similar to the assistance request module218(shown inFIG.2and described herein).

At operation510, the communication inputs generated in the operation508may be communicated to other users through the chat session. In some implementations, operation510may be performed by a assistance request module the same as or similar to the assistance request module218(shown inFIG.2and described herein).

FIG.6illustrates a method600of facilitating a user to accept an assistance request through a chat session. The operations of method600presented below are intended to be illustrative. In some embodiments, method600may 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 method600are illustrated inFIG.6and described below is not intended to be limiting.

In some embodiments, method600may 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 method600in 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 method600.

At operation602, an assistance request may be received through a chat session. In some implementations, operation602may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation604, a graphical chat interface may be determined for presentation of the assistance request received in the operation602. The determined graphical chat interface may facilitate a user to respond the assistance request received in operation602. In some implementations, operation604may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation606, user inputs indicating acceptance to the assistance request may be received from the graphical chat interface determined in operation604. In some implementations, operation606may be performed by a chat interface module the same as or similar to chat interface module214(shown inFIG.2and described herein).

At operation608, communication inputs to the chat session may be generated based on the user inputs received in operation606. In some implementations, operation608may be performed by a user response module the same as or similar to the user response module216(shown inFIG.2and described herein).

At operation610, the communication inputs generated in the operation608may be communicated to the assistance requesting user through the chat session. In some implementations, operation610may be performed by a user response module the same as or similar to the user response module216(shown inFIG.2and described herein).

FIG.7illustrates a method700of generating an assistance request and communicating the assistance request through a chat session. The operations of method700presented below are intended to be illustrative. In some embodiments, method700may 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 method700are illustrated inFIG.7and described below is not intended to be limiting.

In some embodiments, method700may 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 method700in 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 method700.

At operation702, an instance of a virtual space may be executed and implemented to determine view information for transmission to one or more client computing platforms associated with users. The users may participate in the virtual space by controlling entities therein. In some implementations, operation702may be performed by a space module the same as or similar to space module106(shown inFIG.1and described herein).

At operation704, user inputs requesting assistance may be received from a requesting use through a chat session. In some implementations, operation704may be performed by a chat module the same as or similar to chat module110(shown inFIG.1and described herein).

At operation706, an assistance request may be generated based on the user inputs received in operation704. In some implementations, operation706may be performed by a chat-request module the same as or similar to chat-request module108(shown inFIG.1and described herein).

At operation708, the assistance requests may be communicated other users in the chat session. In some implementations, operation708may be performed by a chat module the same as or similar to chat module110(shown inFIG.1and described herein).

At operation710, user inputs indicating acceptance to the assistance request may be received from a responding user. In some implementations, operation710may be performed by a request-response module the same as or similar to response-request module112(shown inFIG.1and described herein).

At operation712, an assistance command executable in the virtual space may be generated. In some implementations, operation712may be performed by a request-response module the same as or similar to response-request module112(shown inFIG.1and described herein).

At operation714, the assistance command generated in operation712may be executed in the virtual space. In some implementations, operation714may be performed by a space module the same as or similar to space module106(shown inFIG.1and described herein).

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 facilitate requests in an online application, wherein the online application facilitates user interactions between users through user interfaces, wherein the user interfaces include a first user interface presented to a first user and a second user interface presented to a second user, the system comprising: one or more processors coupled to an electronic memory and configured by machine-readable instructions to: present graphical chat interfaces to facilitate the textual communications between the users within the online application, wherein the graphical chat interfaces include a first graphical chat interface presented to the first user and a second graphical chat interface presented to the second user;receive one or more first user inputs from the first user representing a request for (i) one or more types of virtual resources to be provided to and/or made available to the first user, and/or (ii) one or more virtual items to be provided to and/or made available to the first user, wherein the one or more first user inputs are received through the first graphical chat interface;and present the request to the second user as a textual communication through the second graphical chat interface.
  1. The system of claim 1, wherein the request is furthermore presented to other users.
  2. The system of claim 1, wherein the request by the first user is effectuated through a communication session between at least the first graphical chat interface and the second graphical chat interface.
  3. The system of claim 1, wherein the one or more processors are further configured to: receive one or more second user inputs from the second user representing a response to the request;and present the response to the first user through the first graphical chat interface.
  4. The system of claim 4, wherein the response confirms that at least some of the one or more types of virtual resources will be provided to and/or made available to the first user.
  5. The system of claim 4, wherein the response confirms that at least some of the one or more virtual items will be provided to and/or made available to the first user.
  6. The system of claim 5, wherein the one or more processors are further configured to: provide and/or make available to the first user at least some of the one or more types of virtual resources.
  7. The system of claim 6, wherein the one or more processors are further configured to: provide and/or make available to the first user at least some of the one or more virtual items.
  8. A method for facilitating requests in an online application, wherein the online application facilitates user interactions between users through user interfaces, wherein the user interfaces include a first user interface presented to a first user and a second user interface presented to a second user, the method being implemented in one or more physical processors coupled to an electronic memory and configured by machine-readable instructions, the method comprising: presenting graphical chat interfaces to facilitate the textual communications between the users within the online application, wherein the graphical chat interfaces include a first graphical chat interface presented to a first user and a second graphical chat interface presented to a second user;receiving one or more first user inputs from the first user representing a request for (i) one or more types of virtual resources to be provided to and/or made available to the first user, and/or (ii) one or more virtual items to be provided to and/or made available to the first user, wherein the one or more first user inputs are received through the first graphical chat interface;and presenting the request to the second user as a textual communication through the second graphical chat interface.
  9. The method of claim 9, wherein the request is furthermore presented to other users.
  10. The method of claim 9, wherein the request by the first user is effectuated through a communication session between at least the first graphical chat interface and the second graphical chat interface.
  11. The method of claim 9, further comprising: receiving one or more second user inputs from the second user representing a response to the request;and presenting the response to the first user through the first graphical chat interface.
  12. The method of claim 12, wherein the response confirms that at least some of the one or more types of virtual resources will be provided to and/or made available to the first user.
  13. The method of claim 12, wherein the response confirms that at least some of the one or more virtual items will be provided to and/or made available to the first user.
  14. The method of claim 13, further comprising: providing and/or making available to the first user at least some of the one or more types of virtual resources.
  15. The method of claim 14, further comprising: providing and/or making available to the first user at least some of the one or more virtual items.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.