LoginSignup
9
6

More than 3 years have passed since last update.

ゲームをつくる:実装してわかったHexマップ座標系構造

Last updated at Posted at 2019-10-29

この記事は、

ヘックス・ターン制SLG好きが、最近スマホでその手の面白いゲームが無いので自分で作ると、頑張る記録です。

この記事のまとめ

  • 実装してみた結果、Hexの座標系は交互にずらす形が良い
  • ヘックスの並びは横一直線が良い
  • ヘックスを縦に潰してみた

この記事は、実装してみてわかったHexマップ構造のポイントを書いています。
実装内容はこちら

前回までの考え

前回の記事で、飛び飛びの座標系が良さそう、と書きましたが、実装してみると扱いづらいことに気づきました。

飛び飛びの座標系はこんな感じ

hexss.png
飛び飛びの座標系のメリットは、2点間の距離の距離計算が楽なことです。(詳しくは前回の記事)

ですが、プロフラム的な観点から考えれば、描画位置の計算やタップ位置の検出など、直感的でないことが結構コーディング効率に悪影響があることに気づきました。距離の計算の際に前回の考え方で計算すればよいだけですね。

交互にずらす座標系

スクリーンショット 2019-10-29 20.47.16.png
実際にCocosで実装して表示した画面です。
交互にずらす座標系に変えただけでなく、以下のような変更点があります。

左下を原点とした座標系にした

Cocosの描画座標系が、右上に向かって増加する形なので、直感的にプログラムが書けるようにそうしました。
左上原点の右下加算座標系は、将棋とかの考え方が元になって、ボードゲームとかでは常識だったかもしれませんが、どうせお客様には見せないので、開発効率重視です。

ヘックスの並びを横一直線にした

大戦略のヘックスを見ると横一直線になっていました。
大戦略リスペクトの意味もありますが、スマホ横持ちを想定しているので、マップが横長になると思います。その場合、ユニットが横方向に移動することが多くなると思います。横一直線のほうが、横方向に直線的に動くので、ガクガク移動しなくて気持ち良いでしょう。

ヘックスを縦に潰してみた

疑似見下ろし視点のマップチップやユニットを置く予定なので、ヘックスを縦に潰してみました。画像は70%に潰した形ですが、調整できるようにコーディングしてあります。
また、戦略ゲームとしては注視点を中心に、周囲の情報量が増えて良い、という効果もありますね。縦持ちにすると、縦方向に不必要に情報量が多くなり、横方向が狭いので、横持ちとの相性が良いです。

次は、タッチした座標を取得するインターフェイスを実装しようと思います。

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6