NinaLabo

個人ゲーム開発者の技術メモ

六角形(HEX)マップの座標系まとめ

戦略/戦術シミュレーションによくある、六角形(HEX)マップの座標の持ち方ですが、かなり悩みました。結論としては、下記の3つの方法がありそうです。
 

《1》交互にずらす

まず一番初めに思いついた方法がこれです。見た目はわかりやすいですが、2点のHEX間の距離を求めるのが若干面倒そうです。

f:id:ninagreen:20151114192512p:plain

 

《2》階段状にずらす

2点間の距離の計算はしやすそうですが、右上の座標をマイナスにするか、左上を(0, 0)以外から始めることになるのが、ちょっととっつきにくいです。あと個人的には、x方向に移動するとy座標も再計算しないといけないのがミスりやすそうです。

f:id:ninagreen:20151114192558p:plain

《3》飛び飛びにする

規則性が高く、2点間の距離も移動先の座標も計算しやすそうなので、現時点ではこの方法が良さそうな気がしてます。

f:id:ninagreen:20151114192647p:plain 

 

参考リンク

猫とゲーム HEXマップ(マスが六角形のマップ)

各方法を画像付きで丁寧に説明していて、一番わかりやすかったです。

とある地味なブログ: ヘックスなシミュレーションゲーム

この方は、パターン1の座標系で実装したようですね。