Archive

Archive for the ‘Game Dev’ Category

A more efficient Accessible Area Map

May 28th, 2011 No comments

This screenshot is going to look familiar.

It will look very similar to this image.

So what’s the difference? Well, the previous image shows off a very inefficient 55878 polygons with 579 nodes. The image above proudly displays a much more efficient 3417 polygons with only 16 nodes.

You may notice the right hand side, there’s an inconsistency with one of the sub-maps (a recursed AccessibleAreaMap) that appears to have stopped rotating when there was still room to continue mapping. Likewise in the top-right area. So there is still room for further improvements.

At the very least, I’m happy that the AccessibleAreaMap generation happens almost instantaneously where previously it took at least a few seconds. Rendering the AccessibleAreaMap also no longer strains the loop.

Shadows and Light in SpaceFight!

May 19th, 2011 No comments

I had fun with this one, too. Shadows!

I had the theory churning in my head and this tigsource thread helped me solidify it in my brainspace.

It’s not something I absolutely needed in SpaceFight! but it’s kind of a staple for 2-dimensional games. Mostly, I was trying to wrap my head around an alternate method of accessible area mapping. When working with “lighting” it’s important to forget about the light. What’s important are the shadows. Now I can try working these ‘light sources’ into the accessible area map, placing one at each available node, and I could have that efficient accessible area mapping algorithm I’ve been looking for.

Categories: Game Dev Tags: , , , , ,

Putting it all Together

May 19th, 2011 No comments

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: , , ,

SpaceFight! Prototyping

April 27th, 2011 No comments

The prototype has always been available here but this is a reminder in case you were unaware. However, that link won’t be the permanent location of SpaceFight!. It will eventually have its own proper home. Probably on another domain I recently purchased and set up. Mystery! Kind of.

Polygons and a Proper Map

April 23rd, 2011 No comments

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: , , , ,

Switch to our mobile site