ID:153759
 
You guys did so well with the multiple mob selection, I thought I would throw another one into the crowd, and see what comes up!

How about a library using pixel-based movement (which breaks out of the tradidtional 4-sided tile-based system) to create a hexagonal-map movement system (in use by many of the popular hex-map games like Ogre, WarpWar, Melee, PanzerBlitz and countless others) that also has adjustable 'hex size' - meaning that the distance between the centers of each 'virtual hex tile' (since you can't really have a hex 'tile' system in beyond) is customizable to fit different sized hex-maps that could be used as backgrounds in DreamSeeker. Game icons are limited to movement in 6 directions, of course!

Done right, this library might handle other geometric shaped grid systems too (3-sided, 8 sided, etc.)...
Done right, this library might handle other geometric shaped grid systems too (3-sided, 8 sided, etc.)...

Three-sided is possible (it's like a square grid divided in half along the diagonal), but eight-sided is no different than 4-sided, and doesn't make a perfect grid, either -- little diamonds occupy the spaces between successive octagons if they're stacked, and little squares occupy the spaces if they're staggered. 3-, 4-, and 6-sided perfect polygons are the only polygons that can make a perfect seamless grid. You can, of course, make complex polygons and make a grid out of them, but it's not a perfect grid (or even what could be considered a grid) -- Risk's world, for example.
In response to Spuzzum
Spuzzum wrote:
Risk's world, for example...

Good point! And that leads to an addendum: taking a game map (using Risk as an example) and being able to only let game pieces go to certain points on the map - for example the centers of each Risk country region...
In response to digitalmouse
digitalmouse wrote:
Spuzzum wrote:
Risk's world, for example...

Good point! And that leads to an addendum: taking a game map (using Risk as an example) and being able to only let game pieces go to certain points on the map - for example the centers of each Risk country region...

"Center" is difficult to determine for an irregular polygon (especially with concavities).

For Incursion I simply use a square grid system myself, cutting each tile into 4 squares, but I hide the effect by using custom border icons.

Lummox JR
What I'd like to see is pixel based movement where the client eye actually follows the objects exactly. I find all of the jumping arround to be a bit annoying and sometimes disorienting if you are moving with any amount of speed.

I made a hex based movement system but stopped after I couldn't find anyway to fix the eye movement.
In response to English
Having client.eye pixel offsets is a requested feature. Hopefully it'll be in the next version - who knows? =)
In response to Crispy
Crispy wrote:
Having client.eye pixel offsets is a requested feature. Hopefully it'll be in the next version - who knows? =)

Yep, franç... er, English already knows that. He's just beating a dead horse. =)
In response to Spuzzum
Spuzzum wrote:
Yep, franç... er, English...

Hey hey now, no need to be insulting :op

*sits back and eats a few freedom fries*

I guess Lummox and the list Insert request should tell me that Dantom will impliment these features when they're good and ready regardless of the amount of beating any horse takes. I'll probably learn that lesson eventually, but I haven't quite learned it yet. :)
In response to English
Yep, franç... er, English...

Hey hey now, no need to be insulting :op

Oh, I didn't tell you that I decided to call you français from now on? My bad. =)
In response to Spuzzum
Aahhhh!!

*runs arround and pulls out some hair*

//This should be the last post like this if Spuzzum behaves himself, this is the Design Philosophy forum after all :P
In response to English
English wrote:
Aahhhh!!

*runs arround and pulls out some hair*

//This should be the last post like this if Spuzzum behaves
himself, this is the Design Philosophy forum after all :P


Correct! And to re-vamp my challenge: I'm looking for a set of general procs, or a library, that does three things:

1) specify the distance between the centers of hexes (in all directions naturally). this can be customized for defining different sized maps - hence the need to use pixel-based movement for #2 below, and for allowing the use of custom sized maps in #3 below,

2) limit the movement and directions of mobs to that of a hex grid via pixel-based movement - when moving a mob, it slides from start-center to destination-center at predefined angles corresponding to a hex grid (again, done properly, this could apply to variable sized square and triangle grids too),

3) load differnet scale hex maps based on need #1 above - this probably could be done with LummoxJR's swapmaps library...

Any takers?

In response to digitalmouse
Would you prefer horizontally oriented or vertically oriented hexagons?
horizontal
__
/ \
\__/

vertical

/ \
| |
\ /


In response to English
I'm fairly sure that you need both in order to create a fully interlocking grid.
In response to Garthor
Garthor wrote:
I'm fairly sure that you need both in order to create a fully interlocking grid.

Nope. Only one orientation is needed for a hex grid.
In response to Shadowdarke
Oops, you're right. I was disoriented by English's poor ASCII art. =P Use the <DM> tags to preserve the spacing, or use &nbsp; instead of spaces.
In response to Garthor
I did use DM tags, the point was to show the orientation of the points, not to prevent you from confusing yourself.
In response to English
Well bah then, it's still confusing.
In response to English
English wrote:
Would you prefer horizontally oriented or vertically oriented hexagons?

Assuming that distances between hexes are made to be the same, the developer should be able to choose which orientation to use. Of course this changes all the 'pre-set' angles to either one layout or the other. But an array of some kind should take care of that problem...

If that is too difficult (sarcasm =p ), go for the horizontal layout for now - most of the strategy games I played had N/S exiting hexes...