### Archive

Posts Tagged ‘map’

## Putting it all Together

I could have sworn I’d already posted this graphic.

Still, this is the “accessible area map” implemented in SpaceFight!. If you visit the prototype page you should be able to give it a try. It needs some improvement. It’s a resource hog, especially where there are a lot of wall tiles side by side. And the polygons haven’t joined together as I’d hoped, as you can see by the multitude of ‘pie slices’.

After I’ve reduced the inefficiencies of the algorithm and made the accessible area mapping look good, I get to work on the path-finding. Something to map points of the shortest distance between the player’s location and where the player wants to go within the accessible area. And to display that path. I’m sure it will be all kinds of fun. Seriously. It was all kinds of fun getting the accessible area map to the point it’s at now.

Categories: Game Dev Tags:

## Polygons and a Proper Map

I wrote in my previous post that my idea would make sense once I got it working.

The purpose of this “Accessible Area” map is for the game, SpaceFight!. The orange area represents the places that the player character can reach given a certain amount of time. The algorithm works something like the following:

1. Build a list of visible wall nodes (corners) within a range around the player
2. Sort the list from closest to furthest
3. Cast out spokes at given intervals with a minimum length of whenever it collides with a wall and a maximum length of the given radius
4. Create and add to the ‘area list’ a polygon based on the previous spoke coordinate and the current spoke coordinate
5. Iterate list of visible wall nodes
6. Calculate new radius by subtracting the distance between the starting location and the node location from the given radius
7. Start over at the top of this list substituting ‘player’ for ‘node location’ and keep going until the new radius is too small

I really wanted to add (union) the polygons together to create one polygon consisting of the outer-most points. Unfortunately, that messes up and I’m left with what looks like a crumpled bridge at the best of times. For the time being I’ll have to use the list of hundreds (due to the recursion) of polygons as seen in the image above. It’s not so bad as in the game it’ll be displayed in between turns when the frames per second doesn’t matter. Perhaps there’s a Java package out there that could do the job for me, giving me a simplified list of the union of all the polygons.

Categories: Game Dev Tags: