The present invention relates generally to generation of video game features, and more particularly to the use of location information in generating video game features.
Video games provide a source of entertainment for many. Video games often provide an interactive activity that can be interesting and challenging. For some video games, the interactive activity may be more interesting if the video game presents extensive details relating to a game world, either by way of presenting extensive details at any given time during game play or by way of providing an extensive number of different possible game play scenarios, or both. Similarly, the interactive activity may be more challenging if the video game presents a large number of variations in game play scenarios, again either by way of providing a large number of variations for any particular game play scenario or by providing a large number of game play scenarios, or both.
Having game developers specifying each of the extensive details of a game world, their occurrence, and their variations may be a laborious task. For a variety of video games, doing so simply may not be possible in a finite time by a finite number of game developers, or at least in a reasonable period of time by a reasonable number of developers.
Details of a game world may also be procedurally generated, for example based on a pseudo-randomly generated number used as a seed number for generating the details. Procedural generation of details of a game world may provide for an extensive number of variations in a game world as a whole, or for particular aspects of details relating to play of the video game. Unfortunately, the pseudo-randomly generated number may not always be sufficiently random in some cases. Conversely and perhaps more importantly, the use of the pseudo-randomly generated number may unduly constrain the ability of game developers to present content and provide for game play in a manner desired by the game developers.
Some embodiments provide a method for use in determining aspects of a game world of a video game, comprising: receiving GPS location information generated by a game device including GPS related circuitry; forming a seed number based using at least some of the GPS location information; and generating aspects of the game world using the seed number.
Some embodiments provide a non-transitory computer readable memory storing program instructions, the program instructions comprising program instructions to configure at least one processor to: receive latitude and longitude values indicating location of a game device;
operate on at least one of the latitude and longitude values to form a seed number; and use the seed number in generating aspects of a game world for video game play.
These and other aspects of the invention are more fully comprehended upon review of this disclosure.
Aspects of a game world may be procedurally generated based on location information for a game player. In some embodiments GPS location information for a game player, for example GPS location information generated by a smart phone, may be used as a seed number in procedurally generating aspects of a game world for game play. For example, in some embodiments a puzzle may be procedurally generated using a seed number based on the GPS location information. In various embodiments a game level may be so generated, or characteristics or actions of a non-player controlled game character may be determined, at least in part, using a seed number based on the GPS location information. In some embodiments the seed number includes digits of the GPS location information. In some embodiments the seed number does not provide information to identify a location indicated by the GPS location information. In some embodiments the seed number is used in generating aspects of game play that are not related to position in a game world or level in game play.
In some embodiments the seed number is based on a concatenation of digits of the GPS location information. For example, in some embodiments the digits of the latitude and longitude of the GPS location information are concatenated together to form digits of the seed number. In some embodiments the digits of absolute values of the latitude and longitude of the GPS location information are concatenated together to form digits of the seed number. In some embodiments the digits of the latitude and/or longitude are truncated. In some embodiments one or more of the most significant digits of the latitude and/or longitude are removed, in some embodiments one or more of the least significant digits of the latitude and/or longitude are removed, and in some embodiments both one or more of the most significant digits and one or more and of the least significant digits are removed from the latitude and/or longitude values.
In some embodiments some types of game play may only be available at or within a predetermined radius or predetermined range of a real world physical location. For example, game worlds or game puzzles and/or other types of game activity may only be available for play on a game device in response to the game device being at particular physical locations, for example as indicated by GPS processing circuitry of the game device. In some such embodiments other types of game play may be available without regard to location of the game device, while the some types of game play are only available when the game device is at one of particular physical locations. In other embodiments, game play may only be available when the game device is at one of the particular physical locations.
In some embodiments GPS location information of a game device is used to determine if a type of game play is available for play, and to provide a seed number for generating aspects of a game world or level for the game play. In some embodiments the generated aspects of the game world or level are aspects other than location based aspects of the game world or level.
In block 111 the process receives GPS location information. In some embodiments the
GPS location information is determined by a game device with GPS receiver circuitry. The game device may be, for example, a smartphone. In some embodiments the GPS location information is in the form of decimal degrees latitude and longitude information. For ease of discussion, examples herein will be in terms of decimal degrees, but the GPS location information may be in other formats in various embodiments. For example, the GPS location information may instead be in terms of degrees and decimal minutes, or some other format.
In block 113 the process uses the GPS location information to form a seed number for generating aspects of a game world for game play. In some embodiments the process concatenates digits of the GPS location information to form the seed number. In some embodiments the process forms the seed number as an integer. In some embodiments the process forms the seed number as a real number. In some embodiments the process normalizes the seed number to be a number in a predetermined range of numbers. In some embodiments the process performs a predefined operation using the GPS location information.
In some embodiments the process uses only selected digits of the GPS location information to form the seed number. For example, in some embodiments the process may truncate the latitude and longitude information, for example only using four digits after a decimal point of the latitude and longitude values. In some embodiments the process may, in addition or instead, remove one or some of the most significant digits of the latitude and longitude values. In some embodiments the process may utilize only predetermined digits of the latitude and/or longitude values in generating the seed number. In some embodiments the process may perform operations on some of the predetermined digits of the latitude and/or longitude values in generating the seed number.
In some embodiments the process may only use the seed number in generating only some aspects of the game world. For example, in some embodiments a non-player controlled game character may have or be equipped with particular equipment, with the equipment dependent on a value of the seed number.
The game devices 215a-e are shown as smartphones in
The game devices are configured for play of a video game, for example a single player and/or multi-player video game. During play of the video game, a game player utilizes the input devices of a game device to control actions of a game icon or a game character associated with the game player, or otherwise play a video game on the game device. In some embodiments the game character, responsive to commands provided by the input devices, is in and interacts with a virtual game world, including its objects and its other inhabitants, some of whom may be game characters controlled by other game players and some of whom may be non-player controlled game characters, for example controlled by the video game itself. In some embodiments the game devices are configured to provide information regarding whether game play is occurring, and/or status of game play, to the game server. In some embodiments, for example in multi-player video games, the game server may receive information regarding game play status from the game devices, with the game server distributing the game play status to the various game devices. In some embodiments the game server may instead receive requests for game character actions from the game devices, with the game server determining game play status and distributing information regarding game play status to the game devices.
At least some aspects of the virtual game world are generated using a seed number. The seed number is based on GPS location information provided by the game device, for example by GPS circuitry of the game device. In some embodiments the game device forms the seed number by performing operations using the GPS location information. In some embodiments the game device transmits the GPS location information to the server, with the server forming the seed number by performing operation using the GPS location information. In some embodiments the game device generates the at least some aspects of the virtual game world using the seed number. In some embodiments in which the game device generates the seed number, the game device transmits the seed number to the server, the server generates the at least some aspects of the virtual game world using the seed number, and the server transmits information of the at least some virtual aspects of the game world to the game device. In some embodiments in which the server generates the seed number, the server transmits the seed number to the game device, and the game device generates the at least some aspects of the virtual game world using the seed number. In other embodiment in which the server generates the seed number, the server generates the at least some aspects of the virtual game world using the seed number, and the server transmits information of the at least some virtual aspects of the game world to the game device.
The game player may move, with the game device, to a second location 317. The second location may be, for example, due west of the first location, or at some other heading from the first location. At the second location, the GPS related circuitry of the game device may provide second GPS location information. The second GPS location information may be different than the first GPS location information, for example if the second location is sufficiently distant from the first location, a distance which may be for example a few meters to several meters, depending on device implementation details and other factors. In some embodiments the second GPS location information may be different than the first GPS information, even without sufficient distance between the two locations, simply because the device may report GPS location information at a precision much greater than the accuracy provided by the GPS related circuitry of the device. In various embodiments, however, the seed number may be generated without reference to digits of the GPS location information not expected to accurately reflect game device location.
In some embodiments the seed number, and the aspects of the game world based on the seed number, are regenerated upon change in the GPS location information. In some embodiments the seed number and corresponding game world aspects are regenerated only upon change in digits of the GPS location information used in generating the seed number. In some embodiments the seed number and game world aspects are only regenerated if the game device has also first left a predefined area about a game play location, or alternatively upon a request by the game player, for example as indicated by receipt of a user input indicating the request by the game device.
For context,
The first location 315 is located in the field. In some embodiments a game player may arrive at the first location and begin play of a video game on a game device of the game player. The game device may display views of a game world of the video game on a display of the game device, with a processor of the game device determining changes in video game states, and therefore the game world, in response to game device inputs operated by the game player. In some embodiments the game world may be in the form of a maze to be navigated by a game character or game icon controlled by the game player using the game device inputs. In some embodiments the game world may be a fantastical world in which a game character controlled by the game player interacts with objects and other game characters of the game world.
One or more aspects of the game world is generated using a seed number based on GPS location information determined by the game device at the first location. For example, in some embodiments layout of a maze may be generated using the seed number. Similarly, in some embodiments presence and locations of objects and/or non-player controlled game characters (and/or their abilities, equipment, and/or activities) in a fantastical game world may be determined using the seed number.
The second location 317 is also located in the field, with the second location being different than the first location. For purposes of description, the second location may be considered to be, for example, approximately 50 feet (approximately 15 meters) due west from the first location. The GPS location information provided by the game device for the second location would therefore be expected to be different than that for the first location. For example, for GPS location information in a digital degree format, the longitude values would exhibit a difference in at least the fourth digit past the decimal point. For embodiments in which the fourth digit past the decimal point of the longitude value is utilized in determining the seed number, the seed number would be different for the second location than the first location. The aspects of the game world generated using the seed number would therefore also be expected to differ between the first location and the second location.
In some embodiments game play is available at all locations. In some embodiments game play is only available at particular locations or within particular areas. For example, in some embodiments, in the area within the map of
In some embodiments the latitude and longitude values may be operated on in determining a seed number. For example, the operations may include one, some, or all of addition, subtraction, multiplication, division, taking of absolute values, concatenation, normalization, and/or removal of particular digit(s). Other operations on the values may also be performed. For example, in one embodiment the seed number for the first location may be 377673124652, in another embodiment the seed number for the first location may be 76734652, and in yet another embodiment the seed number for the first location may be 0.16494 (i.e. five digits past the decimal point of 7673/4652/10). Similarly, for example, in the one embodiment the seed number for the second location may be 377673124654, in the another embodiment the seed number for the second location may be 76734654, and in the yet another embodiment the seed number for the second location may be 0.16486. In some embodiments, however, the seed number for both the first and second locations may be the same, with the first and second locations not sufficiently distant from one another to result in differences in generated seed numbers. In some further embodiments, however, the generated seed numbers may not be identical even if the first and second locations were at the same location, for example if GPS location information digits used are those reflecting information beyond the accuracy limits of the GPS circuitry.
In addition, in various embodiments a plurality of seed numbers may be generated for any particular location identified by latitude and longitude values, with for example different aspects of a game world being generated using different ones of the seed numbers. For example, for a fantastical virtual game world locations of various objects may be generated using a first seed number based on the GPS location information, while equipment of a non-player controlled game character may be determined using a second seed number based on the GPS location information. For example, in some embodiments a predetermined digit past the decimal point (e.g. the fourth digit past the decimal point) for the latitude information may provide a seed number for use in determining a number of objects in a virtual game world, while a predetermined digit past the decimal point (e.g. the fourth digit past the decimal point, or some other digit) for the longitude information may provide a seed number for use in determining equipment of a non-player controlled character in that game world.
In some embodiments the process, or parts of the process, is performed by a processor, for example a processor executing program instructions. The program instructions may be stored in non-transitory computer readable media available to the processor. In some embodiments the process is performed by a system, for example the system of
In block 611 the process selects and/or performs operations on digits of GPS location information. In some embodiments the GPS location information is provided by the game device. In some embodiments the GPS location information is in terms of latitude and longitude. In some embodiments the GPS location information is in terms of decimal degrees latitude and longitude, but other formats may be used in various embodiments.
In some embodiments the process selects digits of the GPS location information to use, without performing further operations on the selected digits. In some embodiments the process performs operations on the GPS location information for use, without selecting only some of the digits for use. In some embodiments the process selects digits of the GPS location information to use, and performs operations on the selected digits. In some embodiments the process performs operation on the GPS location information, and selects digits of results of the operation. In some embodiments the operations include one, some, or all of addition, subtraction, multiplication, division, normalization, or some other operation.
In block 613 the process forms a seed number using the selected and/or operated on digits.
The process thereafter returns.
In some embodiments a seed number, and aspects of a game world generated using the seed number, may vary in a predictable manner with changes in location. For example, a seed number may be based on particular digits of the GPS location information, digits that repeat over distance.
In the example of
In some embodiments video game play in the same general game world is available for each of the locations, with particular aspects of the game world being generated using a seed number based on GPS location information. As each of the locations 811a-e are different, and have different GPS location information, in many embodiments the particular aspects of the game world generated using the seed number may be different.
In some embodiments, however, video game play occurs in different virtual game worlds for each of the locations 811a-e. For example, game play may take place in a game world of a virtual castle with the game device at the first location 811a, a puzzle game may be played with the game device at the second location 811b, a forested virtual game world may be provided for game play with the game device at the third location 811c, and so on.
In addition, each of the locations may encompass a discrete area, with GPS location information varying within each discrete area. For example, the first location 811a may be nominally located at 33.9864, −116.0156, in terms of decimal degrees latitude and longitude. In some embodiments, however, game play of the video game may be available with the game device within a predetermined range or distance of that location. For example, in some embodiments the game device may be considered to be located at the first location if the game device GPS location is anywhere between 33.9854 and 33.9874 latitude and −116.0146 and −116.0166 longitude. In such an area, a wide variation in seed numbers is possible, depending on how the seed number is generated using the GPS location information. Accordingly, in various embodiments a game device may be used in play of video games having dissimilar virtual game worlds at different separated areas, with selection of a one of the dissimilar virtual game worlds being based on GPS location information, with aspects of a game world for any one of the separated area dependent a seed number based on GPS location information for the game device within that area.
In block 911 the process receives GPS location information. In some embodiments the GPS location information is provided by GPS related circuitry of a game device. In some embodiments the GPS location information is received by a processor of a game device, or a portion of a processor of the game device. In some embodiments the GPS location information is received by a server. In some embodiments the GPS location information is in terms of latitude and longitude information. In some embodiments the latitude and longitude information is a latitude value and a longitude value. In some embodiments the latitude value and the longitude value are in a decimal degree format. In some embodiments the latitude value and the longitude value are in a degree decimal minute format. In some embodiments the latitude value and the longitude value are in some other format.
In block 913 the process determines if the GPS location information indicates game device presence at a game play site. In some embodiments the game play site is a predetermined area about a predetermined point in the physical world. In some embodiments the process determines that the GPS location information indicates game device presence at the game play site by comparing the GPS location information with corresponding location information for the game play site. In some embodiments the process determines that the GPS location information indicates game device presence at the game play site if the GPS location information is within a predetermined range of corresponding location information for the game play site. In some embodiments the process performs the comparison with respect to a plurality of game play sites, with the process determining if the GPS location information indicates game device presence at any of the game play sites, and, if so, which game play site.
If the process determines that the GPS location information does not indicate presence of the game device at a game site, the process returns to operations of block 911. If the process determines that the GPS location information indicates presence of the game device at a game site, the process continues to block 915.
In block 915 the process selects a game world for game play for the site of the game device, as indicated by the GPS location information. In some embodiments a type of game world for game play is predetermined, with the type of game world varying across at least some of the game play sites. In some embodiments the process selects a game world for game play for the site of the game device by referencing a table indicating different game worlds, or type of game worlds, for different game play sites.
In block 917 the process uses the GPS location information for determining a seed number for generating aspects of the game world. In some embodiments the process also uses the seed number in generating the aspects of the game world. In some embodiments the aspects of the game world include a layout of the game world. In some embodiments the aspects of the game world include non-player controlled characters in the game world, and/or their abilities and/or equipment and/or location. In some embodiments the aspects of the game world include presence and/or location of objects in the game world.
In block 919 the process provides for game play of the video game. In some embodiments providing game play comprises receiving inputs from input devices of the game device and controlling actions of a game icon or a game character associated with the game device's game player. In some embodiments the game character, responsive to commands provided by the input devices, is in and interacts with a virtual game world, including its objects and its other inhabitants, some of whom may be game characters controlled by other game players and some of whom may be non-player controlled game characters, for example controlled by the video game itself.
In some embodiments the process allows a game player to repopulate the aspects of the game world by moving the game device within an area defined as a game play site. Accordingly, in optional block 921 the process determines if the GPS location information indicates new GPS location information. If so, the process returns to operations of block 917, and regenerates the aspects of the game world.
Otherwise the process returns.
Although the invention has been discussed with respect to various embodiments, it should be recognized that the invention comprises the novel and non-obvious claims supported by this disclosure.
Number | Date | Country | |
---|---|---|---|
Parent | 16537257 | Aug 2019 | US |
Child | 17810808 | US |