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
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Find closest valid cell in a tilemap  (Read 848 times)
0 Members and 1 Guest are viewing this topic.
Offline 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
while(valid tile not found){
Check each tile with distance i away from tile on x and y coordinate.
If valid, valid tile not found = false
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 Smiley
Offline 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.

Offline 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.
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 Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20 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‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!