Mapping traversable space in a scene using a three-dimensional mesh
A parallel-reality game uses a virtual game board having tiles placed over an identified traversable space corresponding to flat regions of a scene. A game board generation module receives one or more images of the scene captured by a camera of a mobile device. The game board generation module obtains a topographical mesh of the scene based on the received one or more images. The game board generation module then identifies a traversable space within the scene based on the obtained topographical mesh. The game board generation module determines a location for each of a set of polygon tiles in the identified traversable space. The game board generation module also allows for queries to identify parts of the game board that meet one or more provided criterion.
1 . A computer-implemented method comprising:
determining to expand a game board of a parallel reality game, a request identifying a region outside of the game board;
receiving topology information for the region outside of the game board from a plurality of sources;
determining a level of confidence of the received topology information from each source of the plurality of sources; and
expanding the game board based on a combination of the received topology information, wherein the topology information is combined based on the determined confidence level for each source of the plurality of sources.
2 . The computer-implemented method of claim 1 , wherein the received topology information includes height information of points within the region.
3 . The computer-implemented method of claim 1 , wherein the received topology information includes a mesh or three-dimensional (3D) map information about the region.
4 . The computer-implemented method of claim 1 , further comprising:
analyzing topology of locations where players of the parallel reality game have used the parallel reality game; and
storing respective topology information corresponding to the locations where the players of the parallel reality game have used the parallel reality game.
5 . The computer-implemented method of claim 1 , wherein the request is a first request, and wherein the region is a first region, the computer-implemented method further comprising:
in response to receiving a second request identifying a second region that has not yet been previously analyzed to determine corresponding topology information, transmitting one or more of 3D map information or satellite image information about the second region.
6 . The computer-implemented method of claim 1 , further comprising:
identifying a first traversable area within the game board;
identifying a second traversable area within the region for expanding the game board; and
appending the second traversable area to the first traversable area within the game board.
7 . The computer-implemented method of claim 6 , further comprising:
determining properties of the second traversable area based on (i) the received topology information and (ii) a distance between the region outside of the game board and a present location of a client device of a player of the parallel reality game.
8 . The computer-implemented method of claim 6 , wherein a third traversable area within the region for expanding the game board is identified based on the combination of the received topology information, wherein expanding the game board based on the combination of the received topology information comprises:
appending the third traversable area to the first traversable area within the game board.
9 . The computer-implemented method of claim 7 , further comprising:
periodically receiving updated topology information for the region outside of the game board; and
updating the properties of the second traversable area based on the updated topology information.
10 . The computer-implemented method of claim 1 , wherein the region is a first region, further comprising:
detecting that a player of the parallel reality game is located at a second region of the game board associated with topology information having a level of confidence below a threshold accuracy;
obtaining updated topology information for the second region from a camera assembly or sensors of a client device associated with the player; and
modifying one or more properties of the game board at the second region based on the updated topology information.
11 . A computer-implemented method comprising:
determining properties associated with locations on a game board of a parallel reality game;
receiving a query for a location on the game board, the query specifying a desired criterion;
in response to the query, identifying a candidate location on the game board by performing a search of the locations on the game board for locations that satisfy the desired criterion specified by the query;
calculating a suitability score for each of the candidate locations; and
selecting one of the candidate locations with a suitability score above a threshold.
12 . The computer-implemented method of claim 11 , wherein performing the search of the locations on the game board for locations that satisfy the desired criterion specified by the query comprises:
performing an initial search of a region within a predefined distance of a client device of a player of the parallel reality game.
13 . The computer-implemented method of claim 12 , further comprising:
generating a semantic topological mesh for the region within the predefined distance using one or more sensors of the client device.
14 . The computer-implemented method of claim 12 , wherein the region is a first region, the computer-implemented method further comprising:
in response to determining that a location satisfying the desired criterion is not in the first region, performing a search of a second region that is greater than the predefined distance away from the client device, the second region visible to a camera of the client device.
15 . The computer-implemented method of claim 11 , wherein the query is a first query, the location is a first location, and the desired criterion is a first desired criterion, the computer-implemented method further comprising:
receiving a second query specifying a second desired criterion; and
determining, based on image data from a camera of a client device of a player of the parallel reality game, that locations visible to the camera do not satisfy the second desired criterion; and
searching two dimensional (2D) map data to determine a candidate location that satisfies the second desired criterion.
16 . The computer-implemented method of claim 11 , wherein the desired criterion comprises one or more of a presence of a particular object, a presence of a particular material, or a minimum size of a desired object.
17 . The computer-implemented method of claim 16 , wherein the particular material is one of water, grass, concrete, or sand.
18 . A non-transitory computer-readable medium comprising stored instructions that, when executed, cause a computing system to perform operations including:
determining to expand a game board of a parallel reality game, a request identifying a region outside of the game board;
receiving topology information for the region outside of the game board from a plurality of sources;
determining a level of confidence of the received topology information from each source of the plurality of sources; and
expanding the game board based on a combination of the received topology information, wherein the topology information is combined based on the determined confidence level for each source of the plurality of sources.
19 . A non-transitory computer-readable medium comprising stored instructions that, when executed, cause a computing system to perform operations including:
determining properties associated with locations on a game board of a parallel reality game;
receiving a query for a location on the game board, the query specifying a desired criterion;
in response to the query, identifying a candidate location on the game board by performing a search of the locations on the game board for locations that satisfy the desired criterion specified by the query;
calculating a suitability score for each of the candidate locations; and
selecting one of the candidate locations with a suitability score above a threshold.