The present invention generally relates to systems and methods of operating a multiplayer electronic game and, more particularly, relates to systems, network entities, terminals, and computer program products for providing link point scaling in a multiplayer location-aware game.
Multiplayer electronic gaming is a popular pastime, and it continues to grow in popularity as more devices, particularly mobile devices, are created to facilitate this type of gaming. Multiplayer gaming initially only involved using personal computers connected via a wired interface to a network, such as the Internet. As wireless networks and wireless Internet access became more prevalent, multiplayer gaming took advantage of this wireless capability. Cellular telephones and other mobile electronic devices connected via wireless networks began offering gaming. Additionally, dedicated wireless mobile gaming devices were created. These wireless mobile gaming devices allow users to participate in multiplayer gaming away from their personal computer and wired network connection. For purposes of this application, the term “gaming device” will be used to refer to all devices capable of gaming over a network, whether the device is a personal computer, a cellular telephone, a gaming console, a mobile gaming device, or any other type of device, whether the network is the Internet, a cellular telephone network, or any other type of network, and whether the communication with the network is wired or wireless.
A feature of many mobile electronic communication devices is presence enabling, which allows users of these devices to determine whether other users are online and available for communication. Presence enabling is available to a certain extent in multiplayer gaming systems. Presence enabling provides status information for a player to other players of the gaming system. This status information tells other players whether a particular player is able to play a game at this particular time. This status information may vary according to the type of gaming device. For example, for a personal computer with a wired Internet connection, the status information may include whether the player is online and whether the player is currently participating in a particular game. For cellular telephones or other mobile devices, the status information may include the user's geographic location and the latency of the network to which the mobile device is connected.
Similar to presence status, many mobile electronic devices feature location awareness. Location awareness enables the mobile electronic device, or a server with which the mobile electronic device is communicating, to determine the approximate physical location of the mobile electronic device. Several techniques are known for determining the approximate physical location of a mobile electronic device. One known technique uses a global positioning system (GPS) receiver in the mobile electronic device. The GPS receiver determines the approximate physical location by triangulating signals received from at least three different GPS satellites. Using another known technique termed cell ID, the mobile electronic device determines the identification number of the cellular tower through which the mobile electronic device is communicating. By comparing the tower identification number with a database of cellular towers, the location of the cellular tower, and therefore the approximate location of the mobile electronic device, can be obtained. The different techniques enable the determination of physical location with different degrees of accuracy. Cell ID typically enables determination of location to an accuracy of approximately 200 to 300 meters. GPS typically enables determination of location to an accuracy of approximately 10 to 20 meters.
Location awareness in mobile electronic devices has enabled the development of location-aware multiplayer games. A location-aware multiplayer gaming application typically executes on a game server that is capable of determining the physical location of the mobile communication devices that are being used to play the game. The physical locations of each device, and therefore the physical locations of each player, are used by the gaming application to enable location-aware functionality that enhances the gaming experience. For example, one player may create an electronic note that is associated with a particular geographic area, such that the note may be read by other players who enter that same geographic area. Additionally, players who are interacting through the gaming application and who are in physical proximity to each other may meet in person to exchange game-related items.
A location-aware multiplayer game may be played by a large number of players physically located across a large geographic area. For example, a popular multiplayer game may be played by hundreds or even thousands of players from across the United States. Because it is difficult or impossible for a player to interact with or even just monitor that many players, a developer of a location-aware multiplayer game will typically define small subsets of the entire gaming area for purposes of restricting certain activities within one or more of the small subsets. These small subsets may be termed link points. The game developer will typically predefine the location, size, shape, and number of link points in a gaming area. For example, if the entire gaming area is the United States, the game developer may define several thousand link points over the United States. Typically, every part of a gaming area will be defined to exist within one and only one link point, such that no link point overlaps any other link point.
The game developer will typically predefine the shape of each link point as a square, although other shapes, such as hexagons, may be used. A typical size for a link point is 200 meters by 200 meters, although the game developer may predefine the size of each link point to be any desired size. The game developer may predefine different size link points for different geographic areas, based on the anticipated number of game players in a particular geographic area. For example, the game developer may predefine relatively small link points for urban areas, larger link points for suburban areas, and the largest link points for rural areas. As such, the game developer may attempt to maintain a fairly consistent number of players per link point.
One reason that a game developer may attempt to maintain a consistent number of players per link point is that some game features may only be utilized by players within the same link point, within adjacent link points, or within link points that are less than a predefined distance or number of link points away from each other. For example, a gaming application may only permit a player to view the locations and/or activities of other players who are less than five link points away from the player. Limiting the number of link points for which a player can view the locations and/or activities of other players thereby limits the number of other players that must be monitored and keeps the game from becoming overly complex or difficult. Additionally, a gaming application may only permit a player to participate in particular interactions with players who are in the same link point. For example, a player may only be permitted to exchange private electronic correspondence with another player if both players are in the same link point. Such a limitation encourages players to travel from one link point to another, thereby enabling physical interaction between the players.
Because the size of the link points is predefined by the game developer, problems may occur if the game developer incorrectly or inappropriately defines the size of the link points. Because the size of the link points is typically defined based on the anticipated number of players in a particular geographic area, it is possible that the game developer will incorrectly anticipate the number of players. If the number of players is smaller than anticipated, the link points may be considered too large and players may not be able to interact with enough other players to consider the game interesting and fun. If the number of players is larger than anticipated, the link points may be considered too small and players may find it difficult to monitor or interact with the large number of other players in the same and nearby link points.
The problems that may occur when the game developer incorrectly or inappropriately defines the size of the link points are particularly troublesome in the time period immediately after the initial release of a new game. In the initial days and weeks that a new game is available, the number of players is typically small and may be increasing slowly. It is important during this time period for the players to enjoy the game such that the players will recommend the game to other potential players, thereby increasing the number of players. If the size of the link points is predefined based on the anticipated long-term number of players, then the link points will be too small in this initial time period. As such, the interaction between players will be limited as discussed above, and therefore the initial players will not enjoy the game and will not recommend the game to other potential players.
As such, there is a need for a system, network entity, terminal, and computer program product that allow the initial players of a new multiplayer location-aware game to interact with a sufficient number of other players to facilitate an enjoyable gaming experience, thereby increasing the likelihood that the initial players will recommend the game to other potential players.
A system, network entity, terminal, and computer program product are therefore provided that scale (i.e., change the size of) the link points in a multiplayer location-aware game based on predefined criteria, such as the number and location of the players.
In this regard, a system for scaling a link point in a multiplayer location-aware game comprises a plurality of clients capable of executing a client-side game application and a network entity capable of communicating with the plurality of clients. The plurality of clients are capable of communicating across at least one network to play a multiplayer location-aware game. The network entity is capable of determining a number of clients participating in the multiplayer location-aware game. The network entity is capable of determining a location of each of the clients participating in the multiplayer location-aware game. The network entity is capable of determining a size of at least one link point based on the number of clients and based on the location of each client.
The network entity may determine the size of the at least one link point based on a predefined minimum number of clients per link point. Alternatively, the network entity may determine the size of the at least one link point based on a predefined maximum number of link points between any two clients. The network entity may determine the size of the at least one link point based on a predefined maximum distance between any two clients. The network entity may determine the size of the at least one link point based on a predefined minimum link point size and a predefined maximum link point size, and the predefined minimum link point size and the predefined maximum link point size may vary based on a geographic location of the at least one link point.
In addition to the system for scaling a link point in a multiplayer location-aware game as described above, other aspects of the present invention are directed to corresponding network entities, terminals, and computer program products for scaling link points.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Referring to
The MSC 16 can be coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and/or a wide area network (WAN). The MSC can be directly coupled to the data network. In one typical embodiment, however, the MSC is coupled to a gateway (GTW) 18, and the GTW is coupled to a WAN, such as the Internet 20. In turn, devices such as processing elements (e.g., personal computers, server computers or the like) can be coupled to the mobile station 10 via the Internet. For example, as explained below, the processing elements can include one or more processing elements associated with one or more game servers 22, routing servers 24, personal computer (PC) systems 26, game consoles 28, or the like, one of each being illustrated in
The BS 14 can also be coupled to a signaling GPRS (General Packet Radio Service) support node (SGSN) 30. As known to those skilled in the art, the SGSN is typically capable of performing functions similar to the MSC 16 for packet switched services. The SGSN, like the MSC, can be coupled to a data network, such as the Internet 20. The SGSN can be directly coupled to the data network. In a more typical embodiment, however, the SGSN is coupled to a packet-switched core network, such as a GPRS core network 32. The packet-switched core network is then coupled to another GTW, such as a GTW GPRS support node (GGSN) 34, and the GGSN is coupled to the Internet.
Although not every element of every possible network is shown and described herein, it should be appreciated that the mobile station 10 may be coupled to one or more of any of a number of different networks. In this regard, mobile network(s) can be capable of supporting communication in accordance with any one or more of a number of first-generation (1G), second-generation (2G), 2.5G and/or third-generation (3G) mobile communication protocols or the like. More particularly, one or more mobile stations may be coupled to one or more networks capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, one or more of the network(s) can be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. In addition, for example, one or more of the network(s) can be capable of supporting communication in accordance with 3G wireless communication protocols such as Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the present invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones).
One or more mobile stations 10 can further be coupled to one or more wireless access points (APs) 36. The APs can be configured to communicate with the mobile station in accordance with techniques such as, for example, radio frequency (RF), Bluetooth (BT), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN techniques. The APs may be coupled to the Internet 20. Like with the MSC 14, the APs can be directly coupled to the Internet. In one embodiment, however, the APs are indirectly coupled to the Internet via a GTW 18. As will be appreciated, by directly or indirectly connecting the mobile stations and the user processors (e.g., game servers 22, routing servers 24, personal computer (PC) systems 26, game consoles 28, and network entities) and/or any of a number of other devices to the Internet, whether via the APs or the mobile network(s), the mobile stations and user processors can communicate with one another to thereby carry out various functions of the respective entities, such as to transmit and/or receive data, content or the like. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of the present invention.
Although not shown in
Referring now to
As shown, the entity capable of operating as a mobile station 10, game server 22, routing server 24, personal computer (PC) system 26 and/or game console 28 generally includes a processor 38 connected to a memory 40. The memory can comprise volatile and/or non-volatile memory, and typically stores content, data or the like. For example, the memory typically stores content transmitted from, and/or received by, the entity. Also for example, the memory typically stores client applications, instructions or the like for the processor to perform steps associated with operation of the entity in accordance with embodiments of the present invention. As explained below, for example, the memory can store client application(s) including a configuration utility, content manager and/or display manager. In this regard, when executed, the configuration utility may function to configure a source of content to receive or otherwise provide content. The content manager, when executed, may function to manage the receipt of content from the source, and/or the use of content received from the source. And the display manager may function to manage presentation of content received from the source. As described herein, the client application(s) each comprise software operated by the respective entities. It should be understood, however, that any one or more of the client applications described herein can alternatively comprise firmware or hardware, without departing from the spirit and scope of the present invention.
In addition to the memory 40, the processor 38 can also be connected to at least one interface or other means for displaying, transmitting and/or receiving data, content or the like. In this regard, the interface(s) can include at least one communication interface 42 or other means for transmitting and/or receiving data, content or the like, as well as at least one user interface that can include a display 44 and/or a user input interface 46. The user input interface, in turn, can comprise any of a number of devices allowing the entity to receive data from a user, such as a keypad, a touch display, a joystick or other input device.
Reference is now made to
As shown, in addition to an antenna 14, the mobile station 10 can include a transmitter 48, receiver 50, and controller 52 or other processor that provides signals to and receives signals from the transmitter and receiver, respectively. These signals include signaling information in accordance with the air interface standard of the applicable cellular system, and also user speech and/or user generated data. In this regard, the mobile station can be capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. More particularly, the mobile station can be capable of operating in accordance with any of a number of first generation (1G), second generation (2G), 2.5G and/or third-generation (3G) communication protocols or the like. For example, the mobile station may be capable of operating in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, the mobile station may be capable of operating in accordance with 2.5G wireless communication protocols GPRS, EDGE, or the like. Further, for example, the mobile station may be capable of operating in accordance with 3G wireless communication protocols such as UMTS network employing WCDMA radio access technology. Some NAMPS, as well as TACS, mobile stations may also benefit from the teaching of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones).
It is understood that the controller 52 includes the circuitry required for implementing the audio and logic functions of the mobile station 10. For example, the controller may be comprised of a digital signal processor device, a microprocessor device, and various analog-to-digital converters, digital-to-analog converters, and other support circuits. The control and signal processing functions of the mobile station are allocated between these devices according to their respective capabilities. The controller can additionally include an internal voice coder (VC) 52a, and may include an internal data modem (DM) 52b. Further, the controller may include the functionality to operate one or more client software programs such as those indicated above, which may be stored in memory (described below).
The mobile station 10 also comprises a user interface including a conventional earphone or speaker 54, a ringer 56, a microphone 58, a display 60, and a user input interface, all of which are coupled to the controller 52. Although not shown, the mobile station can include a battery for powering the various circuits that are required to operate the mobile station, as well as optionally providing mechanical vibration as a detectable output. The user input interface, which allows the mobile station to receive data, can comprise any of a number of devices allowing the mobile station to receive data, such as a keypad 52, a touch display (not shown), a joystick (not shown) or other input device. In embodiments including a keypad, the keypad includes the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the mobile station.
The mobile station 10 can also include one or more means for sharing and/or obtaining data. For example, the mobile station can include a short-range radio frequency (RF) transceiver or interrogator 64 so that data can be shared with and/or obtained from electronic devices in accordance with RF techniques. The mobile station can additionally, or alternatively, include other short-range transceivers, such as, for example an infrared (IR) transceiver 66, and/or a Bluetooth (BT) transceiver 68 operating using Bluetooth brand wireless technology developed by the Bluetooth Special Interest Group. The mobile station can therefore additionally or alternatively be capable of transmitting data to and/or receiving data from electronic devices in accordance with such techniques. Although not shown, the mobile station can additionally or alternatively be capable of transmitting and/or receiving data from electronic devices according to a number of different wireless networking techniques, including WLAN techniques such as IEEE 802.11x techniques or the like.
The mobile station 10 can further include memory, such as a subscriber identity module (SIM) 70, a removable user identity module (R-UIM) or the like, which typically stores information elements related to a mobile subscriber. In addition to the SIM, the mobile station can include other removable and/or fixed memory. In this regard, the mobile station can include volatile memory 72, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The mobile station can also include other non-volatile memory 74, which can be embedded and/or may be removable. The non-volatile memory can additionally or alternatively comprise an EEPROM, flash memory or the like. The memories can store any of a number of software applications, instructions, pieces of information, and data, used by the mobile station to implement the functions of the mobile station.
As will be appreciated, a number of the entities of the system of
More particularly, as shown in
Also in the illustrated architecture, the clients 76 are coupled to routing servers 24 which, in turn, are coupled to the game servers 22. Thus, the routing servers route data packets between one or more clients 76 and the game servers 22, and/or other clients, to facilitate the operation of each entity in the architecture. As shown, the routing servers can be coupled between groups of clients and one or more routing servers, directly or indirectly via one or more other routing servers. In this regard, one or more routing servers can also be coupled to other routing servers such that the routing servers can also be coupled between one or more clients and one or more groups of other clients, such as groups of clients coupled to other routing servers.
Referring now to
The operation of scaling a link point as illustrated in
The operation of scaling a link point may be executed by the game server which is executing a server-side gaming application and operating the multiplayer location-aware game. Alternatively, the operation of scaling a link point may be executed in a network entity separate from the game server. Such a network entity may communicate with the plurality of clients playing the multiplayer game. Such a network entity may determine the size of the link points and communicate the size of the link points to the game server.
Because of the problems discussed above that may occur when there are too few players relative to the size of the link points, a game developer may establish criteria that may be used by embodiments of the present invention to determine if the size of the link points should be scaled, and how to scale the link points if so desired. Many different criteria may be predefined to determine if and how the link points should be scaled. For example, a game developer may predefine a desired ratio of players to link points, e.g., 1:1, such that the size of the link points would be changed if the number of link points exceeded the number of players. Additionally, a game developer may predefine a desired minimum number of possible interactions for each player. This may be desired in a game in which players are only permitted to interact with other players who are in the same link point or adjacent link points. In such a game, when there are a small number of players and the players are spread across the gaming area, some of the players may not be able to interact with any other players within the game. Embodiments of the present invention may increase the size of the link points until every player is capable of interacting with at least one other player. Similarly, a game developer may predefine a maximum number of link points between any two players or a maximum distance between any two players, such that the size of the link points is increased if either predefined maximum is exceeded.
In addition to the criteria related to the number and location of the players, the game developer may also predefine a minimum and a maximum allowable link point size. The minimum link point size would typically be the intended link point size when the game has reached maturity and the number of players has leveled off. The maximum link point size may be as large as the gaming area, such that the gaming area would comprise only one link point, but would typically be smaller than the entire gaming area.
Referring again to
If it is determined in block 100 that the link point size is not already equal to the maximum link point size, the link point size will be increased by a predefined increment to create a proposed increased link point size. See block 102. The predefined increment by which the link size is to be increased may be defined in several different ways. For example, the size may be increased by a predefined percentage, or by a predefined number of meters. This proposed increased link point size will not yet be applied to the game, but the proposed increased link point size will be analyzed to determine if this increased link point size will cause the criteria to be satisfied. See block 104. If the proposed increased link point size causes the criteria to be satisfied, the proposed increased link point size will be applied to the game, such that the link points that comprise the gaming area will be enlarged to proposed size. See block 108. No further action would be taken until the operation illustrated in
If it is determined in block 104 that the proposed increased link point size will not cause the criteria to be satisfied, the proposed increased link point size would be compared to the predefined maximum link point size. See block 106. If it is determined in block 106 that the proposed increased link point size is equal to the predefined maximum link point size, then the link point size cannot be increased beyond the proposed new size and therefore the proposed new size will be applied to the game. See block 108. If it is determined in block 106 that the proposed increased link point size is less than the predefined maximum link point size, then a new, larger proposed increased link point size will be created. See block 102. Blocks 102 through 106 may be repeatedly performed until the predefined criteria are satisfied or the maximum link point size is reached, such that a proposed increased link point size that either satisfies the criteria or equals the maximum link point size is applied to the game in block 108. No further action would be taken until the operation illustrated in
If it is determined in block 81 that the predefined criteria are satisfied, it would typically be determined if the size of the link points could be decreased while still satisfying the criteria. If the link point size is already equal to the minimum predefined size, as determined in block 82, then no further action would be taken until the operation illustrated in
If it is determined in block 82 that the link point size is not already equal to the minimum link point size, the link point size will be decreased by a predefined increment to create a proposed decreased link point size. See block 84. The predefined increment by which the link size is to be decreased may be defined in several different ways. This proposed decreased link point size will not yet be applied to the game, but the proposed decreased link point size will be analyzed to determine if this decreased link point size would still allow the criteria to be satisfied. See block 86. If the proposed decreased link point size would cause the criteria to no longer be satisfied, the proposed decreased link point size will not be applied to the game, but rather the link point size will remain unchanged. See block 88. No further action would be taken until the operation illustrated in
If the proposed decreased link point size would still allow the criteria to be satisfied, the proposed decreased link point size will be stored in memory. See block 90. The proposed decreased link point size would be compared to the predefined minimum link point size. See block 92. If it is determined in block 92 that the proposed decreased link point size is equal to the predefined minimum link point size, then the link point size cannot be decreased beyond the proposed new size and therefore the stored proposed new size will be applied to the game. See block 98. If it is determined in block 92 that the proposed decreased link point size is greater than the predefined minimum link point size, then a new, smaller proposed decreased link point size will be created. See block 94. This new proposed decreased link point size will not yet be applied to the game, but the new proposed decreased link point size will be analyzed to determine if this new decreased link point size would still allow the criteria to be satisfied. See block 96. If the new proposed decreased link point size would cause the criteria to no longer be satisfied, the new proposed decreased link point size will not be applied to the game, but rather the previous proposed decreased link point size, which has been stored in memory, will be applied to the game. See block 98. No further action would be taken until the operation illustrated in
If the new proposed decreased link point size would still allow the criteria to be satisfied, the new proposed decreased link point size will be stored in memory, replacing the previously stored value. See block 90. Blocks 90 through 96 may be repeatedly performed until the predefined criteria are no longer satisfied or the minimum link point size is reached, such that the most recently stored proposed decreased link point is applied to the game in block 98. No further action would be taken until the operation illustrated in
Referring now to
The method for scaling a link point in a multiplayer location-aware game may be embodied by a computer program product. The computer program product includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium. Typically, the computer program is stored by a memory device and executed by an associated processing unit, such as the processing element of the server.
In this regard,
Accordingly, steps of the flowchart support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each step of the flowchart, and combinations of steps in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.