Java-Gaming.org Hi !
 Featured games (90) games approved by the League of Dukes Games in Showcase (781) Games in Android Showcase (233) games submitted by our members Games in WIP (857) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Find closest valid cell in a tilemap  (Read 848 times) 0 Members and 1 Guest are viewing this topic.
longshorts

Senior Newbie

Medals: 2

 « Posted 2014-12-29 14:04:09 »

Hi folks, my proposed problem I need help solving boils down to this: On game start, set player position to center of tilemap. If this tile is water however, find the nearest tile which is not water, and set the players position to that tile.

Now my current proposed solution is thus:
i = 1
Check each tile with distance i away from tile on x and y coordinate.
Else i++
}

While I will think this will work in finding a valid  position for my player to spawn at, it isn't efficient (will find a close valid point, not nessesarily the closest) and feels like a real brute force method. I'm trying to find either a method of solving this using Pythagorean to measure distance (instead of iterating and returning first valid) while being less computationally efficient, or using the height map I also have to find the closest point of land. The latter might be possible, but I forget how to solve a possible valley problem in the search.

Anyway, any help would be appreciated
KudoDEV

JGO Ninja

Medals: 79
Exp: 6 years

Game Dev Hobbyist

 « Reply #1 - Posted 2014-12-29 15:40:51 »

Use a recursive function that starts at the players location and pans out instead of a loop.

BurntPizza

« JGO Bitwise Duke »

Medals: 486
Exp: 7 years

 « Reply #2 - Posted 2014-12-29 15:41:29 »

Breadth-first search, also known in the case of square grids as flood-fill. Use a queue.
http://en.wikipedia.org/wiki/Flood_fill
Pages: [1]
 ignore  |  Print

 hadezbladez (1176 views) 2018-11-16 13:46:03 hadezbladez (530 views) 2018-11-16 13:41:33 hadezbladez (1187 views) 2018-11-16 13:35:35 hadezbladez (273 views) 2018-11-16 13:32:03 EgonOlsen (2570 views) 2018-06-10 19:43:48 EgonOlsen (2789 views) 2018-06-10 19:43:44 EgonOlsen (1565 views) 2018-06-10 19:43:20 DesertCoockie (2269 views) 2018-05-13 18:23:11 nelsongames (2122 views) 2018-04-24 18:15:36 nelsongames (2816 views) 2018-04-24 18:14:32
 Deployment and Packagingby philfrei2019-02-17 20:25:53Deployment and Packagingby mudlee2018-08-22 18:09:50Java Gaming Resourcesby gouessej2018-08-22 08:19:41Deployment and Packagingby gouessej2018-08-22 08:04:08Deployment and Packagingby gouessej2018-08-22 08:03:45Deployment and Packagingby philfrei2018-08-20 02:33:38Deployment and Packagingby philfrei2018-08-20 02:29:55Deployment and Packagingby philfrei2018-08-19 23:56:20
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org