U.S. Pat. No. 8,944,908

DYNAMIC ADJUSTMENT OF DIFFICULTY IN AN ONLINE GAME BASED ON HARDWARE OR NETWORK CONFIGURATION

AssigneeKabam, Inc.

Issue DateApril 29, 2013

Illustrative Figure

Abstract

This disclosure relates to a system and methodology for dynamically adjusting the difficulty of a game based on upon the specific hardware configuration and/or network connectivity capabilities available to specific users in connection with the interaction of those users with the game. In exemplary implementations, dynamically adjusting the difficulty of playing a game based on hardware and network connectivity capabilities may be performed by processors executing computer program modules.

Description

DETAILED DESCRIPTION FIG. 1illustrates a system100configured to provide a virtual space. System100is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the features described herein. Providing the virtual space may include hosting the virtual space over a network. In this disclosure, capabilities available to users in connection with game play to include, without limitation, computing resources, network connectivity and game controller functionality, are detected, and various game characteristics relating to the difficulty of game play may be adjusted based on this information. Accordingly, embodiments may be configured for detection of hardware parameters such as device type being used, computing resources available on the device being used, characteristics of the display being used for game play and/or characteristics of one or more interface devices being used for gameplay. Embodiments may further be configured for modification of game difficulty as it applies to a user resulting in a virtual game that may provide more engaging and immersive in-game experiences. In some implementations game difficulty may be impacted through the adjustment of game parameters such as power of attacks, resistance to attacks, speed and/or responsiveness of controlled units and/or spawn rates for units and/or resources as well as health recharge rates and/or other parameters. In some implementations, system100may include one or more servers102. 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, for instance, to engage in one or more games. The server(s)102may be configured to execute one or more computer program modules. The computer program modules may include one or more of a game module106, a user resource determination module108, a game difficulty customization module110, and/or ...

DETAILED DESCRIPTION

FIG. 1illustrates a system100configured to provide a virtual space. System100is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the features described herein. Providing the virtual space may include hosting the virtual space over a network.

In this disclosure, capabilities available to users in connection with game play to include, without limitation, computing resources, network connectivity and game controller functionality, are detected, and various game characteristics relating to the difficulty of game play may be adjusted based on this information. Accordingly, embodiments may be configured for detection of hardware parameters such as device type being used, computing resources available on the device being used, characteristics of the display being used for game play and/or characteristics of one or more interface devices being used for gameplay. Embodiments may further be configured for modification of game difficulty as it applies to a user resulting in a virtual game that may provide more engaging and immersive in-game experiences. In some implementations game difficulty may be impacted through the adjustment of game parameters such as power of attacks, resistance to attacks, speed and/or responsiveness of controlled units and/or spawn rates for units and/or resources as well as health recharge rates and/or other parameters.

In some implementations, system100may include one or more servers102. 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, for instance, to engage in one or more games.

The server(s)102may be configured to execute one or more computer program modules. The computer program modules may include one or more of a game module106, a user resource determination module108, a game difficulty customization module110, and/or other modules. As noted, the client computing platform(s)104may include one or more computer program modules that are the same as or similar to the computer program modules of the server(s)102to facilitate in-game actions.

The game module106may be configured to execute an instance of a game to facilitate presentation of the game to users. The game module106may be configured to implement in-game actions in the instance of the game, in response to action requests for the in-game actions by the users.

The game may be provided via a virtual space, and may include a plurality of resource types and/or maps. An instance of the virtual space may be executed by 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)102and/or sources to client computing platforms104for presentation to users. The view determined and transmitted to a given client computing platform104may correspond to a location in the virtual space (e.g., the location from which the view is taken, the location the view depicts, and/or other locations), a zoom ratio, a dimensionality of objects, a point-of-view, and/or view parameters. One or more of the view parameters may be selectable by the user.

The instance of the virtual space may comprise a simulated space that is accessible by users via clients (e.g., client computing platform(s)104) that present the views of the virtual space to a user. The simulated space may have a topography, express ongoing real-time interaction by one or more users, and/or include one or more objects positioned within the topography that are capable of locomotion within the topography. In some instances, the topography may be a 2-dimensional topography. In other instances, the topography may be a 3-dimensional topography. The topography may include dimensions of the space, and/or surface features of a surface or objects that are “native” to the space. In some instances, the topography may describe a surface (e.g., a ground surface) that runs through at least a substantial section 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 provided is not intended to be limiting. The virtual space may be expressed 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, 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 corresponds to an individual user. The user character may be controlled by the user with which it is associated.

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 (e.g., resources of the plurality of resource types) that the user can use (e.g., by manipulation of a user character or other user-controlled element, and/or other items) to perform in-game actions 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 platforms104. 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 platforms104. Communications may be routed to and from the appropriate users through server(s)102. In implementations, the game module106may also be configured to implement the game play difficulty customizations determined for the individual users as described herein.

The user resource determination module108may be configured to determine various characteristics associated with hardware and network capabilities available to users in connection with game play. In implementations, user resource determination module108is configured to detect and determine characteristics to include the device type being used by the user in connection with game play. This may include, for example, a device type of computer, mobile phone, tablet, netbook, or other device types. User resource determination module108may also detect characteristics related to the computing resources available on the device being used by the user. Examples include the amount of memory, the processing power, whether or not there is dedicated graphics processing capability on the device and if so, to what extent.

The user resource determination module108may be configured to detect characteristics associated with the display available to the user in connection with game play. Examples include dual screen, single screen, screen size, display frame rate and other display related parameters. In implementations, user resource determination module108may be configured to determine the one or more interface devices available to a user in connection with game play. Examples include game controller and type, mouse, keyboard, keypad, touch screen and other devices.

User resource determination module108may also be configured to determine various network connectivity parameters associated with the user's connectivity capabilities. Examples include assessing latency and response time associated with connection to server102and in connection with game play specifically.

In implementations, the above referenced parameters and others that can be used by user resource determination module108in assigning a user resource determination to user, can be determined, for example, by the type of client being used to access the game (e.g. a mobile application on a mobile device versus a web browser on a computer), information passed from the client device to server102as well as identifiers such as MAC addresses and others.

The user resource determination module108may assess some or all of the network and hardware parameters discussed above as well as others. Assessment may occur in some implementations only prior to initiating game play and in other implementations, assessment may be occur on a periodic basis as, for example, network capabilities such as latency and response time vary over time. Further, in some implementations, all network and hardware capability parameters may be assessed and combined into a single user resource parameter representing an aggregate resource availability value used in adjusting game difficulty as discussed below. Alternatively, in other implementations, various resource parameters may be given more weight and/or specific resource parameters may be mapped to specific game difficulty adjustments (e.g. the unavailability of a game controller may result in more responsiveness being associated with controlled units when controlled by a user that only has a keyboard/mouse available for game play)

The game difficulty customization module110may be configured to determine game difficulty characteristics associated with individual users in connection with their participation and/or achievement within the online game. Based on user resource availability as determined by user resource determination module108, various game parameters may be adjusted by game difficulty customization module110. In some implementations various parameters impacting the difficulty that the user encounters in game play are adjusted, to include, for example, power of attacks, resistance to attacks made against the user and the speed/responsiveness of controlled units. In some implementations, other difficulty parameters such as spawn rate may be adjusted in connection with a user's game play. This may include, for example, spawn rates associated with resources and/or units of the player, spawn rates associated with resources and/or unites of a user/competitor and/or spawn rates and/or units of non-player characters or forces. In some implementations, game difficulty customization module may adjust, based on user resource availability as determined by user resource determination module108, health recharge rates associated with the user's game play and other parameters, game content and interactions that affect the difficulty of game play as experienced by a user.

In some implementations, these parameters that impact the game difficulty experienced by the user, are imperceptible to the subject user meaning that he or she is unaware that game difficulty is being/has been adjusted based on the resources available to that user. In other implementations, the user is, in fact, made aware of some or all of the adjustments made to game play as they impact that user. In some embodiments, players playing against the subject user may be made aware of the difficulty adjustments made with respect to other users which are possibly their opponents and in other implementations, these other players are not made aware of difficulty adjustments made with respect to other users.

In some implementations, server(s)102, client computing platforms104, and/or external resources116may 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. The network may be a wired or wireless network such as the Internet, an intranet, a LAN, a WAN, a cellular network or another type of network. It will be understood that the network may be a combination of multiple different kinds of wired or wireless 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 platforms104, and/or external resources116may 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 resources116, 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.

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

Server102may include electronic storage118, 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 storage118may comprise non-transitory storage media that electronically stores information. The electronic storage media of electronic storage118may 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 storage118may 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 storage118may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage118may 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, and110. Processor120may be configured to execute modules106,108, and110by 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, and110are illustrated inFIG. 1as being implemented within a single processing unit, in implementations in which processor120includes multiple processing units, one or more of modules106,108, and110may be implemented remotely from the other modules. The description of the functionality provided by the different modules106,108, and110described above is for illustrative purposes, and is not intended to be limiting, as any of modules106,108, and110may provide more or less functionality than is described. For example, one or more of modules106,108, and110may be eliminated, and some or all of its functionality may be provided by other ones of modules106,108, and110. 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, and110.

FIG. 2illustrates a method for dynamically adjusting the difficulty of a game based on based on resources available to a user in connection with game play, in accordance with one or more implementations. The operations of method200presented below are intended to be illustrative. In some embodiments, method200may 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 method200are illustrated inFIG. 2and described below is not intended to be limiting.

In some embodiments, method200may 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 method200in 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 method200.

At an operation202, information associated with the resources available to a user in connection with game play is obtained. This information may include, for example, one or more parameters relating to hardware capabilities and/or network connectivity capabilities. In some implementations, these capabilities may include a device type such as a computer, mobile phone, tablet, netbook, or other device types. Other characteristics related to the computing resources available on the device being used by the user may also be detected. Examples include the amount of memory, the processing power, whether or not there is dedicated graphics processing capability on the device and if so, to what extent. Display capabilities and characteristics of the interface device available to the user as well as other hardware characteristics may also be considered as discussed above. Information regarding network connectivity capabilities may also be obtained such as network latency, response times, etc. Operation202may be performed by a user resource determination module that is the same or similar to user resource determination module108, in accordance with one or more implementations.

At an operation204, based on the information received as a result of operation202, the user is assigned a resource parameter which is indicative of the aggregate hardware and network capabilities available to the user in connection with game play. As discussed above, in some implementations, rather than an aggregate user resource parameter being assigned, it is possible to assign individual resource availability parameters and map them to various aspects of game play which can be made more or less difficult depending on the value of the specific resource availability parameter. Operation204may be performed by a user resource determination module that is the same or similar to user resource determination module108, in accordance with one or more implementations.

At an operation206, the user resource parameter associated with the user is used to determine at least one game difficulty customization to be associated with the user in connection with game play by that user. Various parameters impacting the difficulty that the user encounters in game play may be designated for adjustment, to include, for example, power of attacks, resistance to attacks made against the user and the speed/responsiveness of controlled units. In some implementations, other difficulty parameters such as spawn rate may be designated for adjustment in connection with a user's game play. This may include, for example, spawn rates associated with resources and/or units of the player, spawn rates associated with resources and/or unites of a user/competitor and/or spawn rates and/or units of non-player characters or forces. In some implementations, game difficulty customizations may be designated for adjustment, based on the user resource parameter, health recharge rates associated with the user's game play and other parameters, game content and interactions that affect the difficulty of game play as experienced by a user. Operation206may be performed by a game difficulty customization module that is the same or similar to game difficulty customization module110, in accordance with one or more implementations.

At an operation208, an instance of an online game may be executed to facilitate presentation of the game to users. The game, as implemented, may include one or more game difficulty customizations associated with user play based on the user playing the game. Operation208may be performed by a game module that is the same as or similar to game module106, in accordance with one or more implementations.

As discussed above, game difficulty adjustments made in connection with game play as described above may be perceptible to users in some implementations and imperceptible to users in other implementations.

As a result of the teachings of the present invention, the playing field for game players may be leveled as between players that have a substantial difference in the capabilities of hardware and/or network available to them. As a result, users with more limited capabilities can be more competitive in head to head game play and are more likely to participate in various games that they otherwise might not due to the inferiority of their hardware and/or network resources as compared to other players.

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. An online gaming system allowing for customizable interaction, the system comprising: one or more processors configured to execute computer program modules, the computer program modules comprising: a game module configured to execute an instance of an online game, and to implement the instance of the online game to facilitate participation of users in the online game, the game module being further configured to implement at least one game difficulty customization determined for individual users such that a first game difficulty customization is implemented in the instance of the online game for a first user;a user resource determination module configured to obtain a user resource parameter characterizing one or more system resources used by the first user to access the online game the online game;and a game difficulty customization module configured to determine the first game difficulty customization of the online game for the first user based on the user resource parameter associated with the first user.
  1. The system of claim 1 wherein implementation of the first game difficulty customization is hidden from to the first user during gameplay.
  2. The system of claim 1 wherein implementation of the first game difficulty customization is visible to the first user during gameplay.
  3. The system of claim 1 wherein implementation of the first game difficulty customization is hidden from to users other than the first user during gameplay.
  4. The system of claim 1 wherein implementation of the first game difficulty customization is visible to users other than the first user during gameplay.
  5. The system of claim 1 where the user resource parameter characterizes a client platform upon which the first user interacts with the online game.
  6. The system of claim 1 where the user resource parameter characterizes a capability associated with a client platform upon which the first user interacts with the online game.
  7. The system of claim 1 where the user resource parameter characterizes one or more connectivity capabilities through which the first user interacts with the online game.
  8. The system of claim 7 wherein the user resource parameter characterizes processing power available to the first user in connection with the first user's interaction with the online game.
  9. The system of claim 7 wherein the user resource parameter characterizes storage available to the first user in connection with the first user's interaction with the online game.
  10. The system of claim 7 wherein the user resource parameter characterizes an interface device used by the first user in connection with the first user's interaction with the online game.
  11. The system of claim 7 wherein the user resource parameter characterizes a display used by the first user in connection with the first user's interaction with the online game.
  12. The system of claim 1 wherein the game difficulty customizations comprise adjusting power of attacks or resistance to attacks.
  13. The system of claim 1 wherein the game difficulty customizations comprise adjusting speed or responsiveness of controlled units.
  14. The system of claim 1 wherein the game difficulty customizations comprise adjusting spawn rates or health recharge rates.
  15. A computer-implemented method for in-game customization based upon an assigned user resource parameter, the method being implemented in a computer system that includes one or more physical processors and storage media storing machine-readable instructions, the method comprising: obtaining information associated with the resources available to a user in connection with playing an online game, said information comprising said at least one resource characteristic;processing said information associated with system resources available to said user to assign a user resource parameter to said user;determining at least one game difficulty customization to be associated with said user based on said user resource parameter assigned to said user;and implementing an online game with said at least one game difficulty customization when said online game is accessed by said user.
  16. The method of claim 16 wherein at least one game difficulty customization is hidden from to the user during gameplay.
  17. The method of claim 16 wherein at least one game difficulty customization is visible to the user during gameplay.
  18. The method of claim 16 wherein at least one game difficulty customization is hidden from to users other than the user during gameplay.
  19. The method of claim 16 wherein at least one game difficulty customization is visible to users other than the user during gameplay.
  20. The method of claim 16 where the user resource parameter is determined, at least in part, by the platform upon which the user interacts with the online game.
  21. The method of claim 16 where the user resource parameter is characterized by at least one capability associated with the platform upon which the user interacts with the online game.
  22. The method of claim 16 where the user resource parameter is characterized by the connectivity capabilities through which the user interacts with the online game.
  23. The method of claim 21 wherein the user resource parameter is characterized by the extent of processing power available to the user in connection with the user's interaction with the online game.
  24. The method of claim 21 wherein the user resource parameter is characterized by the extent of storage available to the user in connection with the user's interaction with the online game.
  25. The method of claim 21 wherein the user resource parameter is characterized by the nature of an interface device used by the user in connection with the user's interaction with the online game.
  26. The method of claim 21 wherein the user resource parameter is characterized by the nature of a display used by the user in connection with the user's interaction with the online game.
  27. The method of claim 16 wherein said at least one game difficulty customization comprises adjusting power of attacks or resistance to attacks.
  28. The method of claim 16 wherein said at least one game difficulty customization comprises adjusting speed or responsiveness of controlled units.
  29. The method of claim 16 wherein said at least one game difficulty customization comprises adjusting spawn rates or health recharge rates.

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