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.

  • 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 '16 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 '16 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 '16 at 16:28

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.

| improve this answer | |
  • 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 '16 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 '16 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 '16 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 '16 at 2:08
  • 1
    \$\begingroup\$ (2016) Apple now uses “flat” and “pointy” in iOS SpriteKit. \$\endgroup\$ – amitp Nov 23 '16 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.