5
\$\begingroup\$

I have been working on a tile map editor and plan to support two orientations for hexagons. I have seen various terms used, but these all seem ambiguous to me.

  • Horizontal, Vertical (ambiguous: does this mean they line up horizontally, or stack horizontally?)
  • Flat, Pointed (ambiguous: Are they flat on the sides or top and bottom?)

I would like to find unambiguous terms for the following two orientations for hexagons -- ideally, these would be definitive and succinct (I could refer to these as "Flat on Top" and "Pointed on Top" but would prefer something more technical and authoritative).

Flat-Top Pointed-Top

Edit: I was holding out for something more technical, but it's hard to argue with Amit. For me, "pointed" sounds more formal than "pointy," so I am going to use the following (a decision reinforced by DMGregory's answer): Flat-top and Pointed-Top.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ This may boil down to opinion as to which terms are most appropriate, as I don't know of any official convention. The most authoritative source I know of on hex grids in games, Red Blob Games's amazing reference sheet, uses "flat topped" and "pointy topped" similar to what you suggest. \$\endgroup\$
    – DMGregory
    Apr 18, 2016 at 20:51
  • \$\begingroup\$ @DMGregory Make it an answer. I'd definitely consider Amit an authority on the matter, and those terms sound clear to me. \$\endgroup\$
    – Anko
    Apr 19, 2016 at 2:23
  • 2
    \$\begingroup\$ I don't know where I picked up those terms; it was probably usenet a long time ago, but I can't find a source. I wanted something unambiguous for the orientation of the hexagon separate from the arrangement of hexagons on a map. Looking at a single hexagon, terms like “staggered columns” don't work, but terms like “flat top” do. \$\endgroup\$
    – amitp
    Apr 21, 2016 at 16:28

1 Answer 1

9
\$\begingroup\$

While I don't know of any truly official convention for classifying these, in the mathematical sense, I'll take Anko's advice and write up what I do know...

Amit Patel (Red Blob Games) wrote what I'd consider the definitive guide to using hexagonal grids in games. This guide uses the nomenclature:

  • flat topped
  • pointy topped

So while it's not super technical-sounding, I think it's as close to authoritative as we're likely to find. The terms are also understandable and unambiguous even without specialized technical knowledge, which is a huge win.

If you want something less informal, you could try names along the lines of "staggered columns" vs "staggered rows" but I think this is substantially less clear.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ As a programmer I would prefer the "staggered columns/rows" terminology, because it hints at how to implement it (although those terms would have been a bad choice for the guide you linked, because it also explains implementations where thinking in these terms is counter-prodictive). \$\endgroup\$
    – Philipp
    Apr 19, 2016 at 7:48
  • 1
    \$\begingroup\$ @Philipp I think that comment should also be developed into a new answer. It is actually quite a good suggestion \$\endgroup\$
    – MAnd
    Apr 20, 2016 at 1:38
  • 2
    \$\begingroup\$ Myself I'd avoid the terms for that same reason: they hint at a way to implement it which often adds more special cases than alternative methods, and so may actually represent an antipattern to avoid reinforcing through terminology. ;) In my experience, my hex code got a lot cleaner when I stopped thinking in terms of even/odd rows & columns. \$\endgroup\$
    – DMGregory
    Apr 20, 2016 at 1:42
  • 1
    \$\begingroup\$ My examples are both of the staggered variety, but the same hexagons can be arranged as a matrix (which looks more like a diamond) or even a hexagon of the opposite orientation. So I think those terms are good for the maps rather the hexagons themselves. \$\endgroup\$
    – Don Jewett
    Apr 20, 2016 at 2:08
  • 1
    \$\begingroup\$ (2016) Apple now uses “flat” and “pointy” in iOS SpriteKit. \$\endgroup\$
    – amitp
    Nov 23, 2016 at 22:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .