Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (761)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (846)
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 782 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: 485
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  

EgonOlsen (351 views)
2018-06-10 19:43:48

EgonOlsen (344 views)
2018-06-10 19:43:44

EgonOlsen (292 views)
2018-06-10 19:43:20

DesertCoockie (516 views)
2018-05-13 18:23:11

nelsongames (843 views)
2018-04-24 18:15:36

nelsongames (829 views)
2018-04-24 18:14:32

ivj94 (1251 views)
2018-03-24 14:47:39

ivj94 (395 views)
2018-03-24 14:46:31

ivj94 (1058 views)
2018-03-24 14:43:53

Solater (413 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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!