#この記事は、
ヘックス・ターン制SLG好きが、最近スマホでその手の面白いゲームが無いので自分で作ると、頑張る記録です。
この記事のまとめ
- 実装してみた結果、Hexの座標系は交互にずらす形が良い
- ヘックスの並びは横一直線が良い
- ヘックスを縦に潰してみた
この記事は、実装してみてわかったHexマップ構造のポイントを書いています。
実装内容はこちら。
前回までの考え
前回の記事で、飛び飛びの座標系が良さそう、と書きましたが、実装してみると扱いづらいことに気づきました。
飛び飛びの座標系はこんな感じ
飛び飛びの座標系のメリットは、2点間の距離の距離計算が楽なことです。(詳しくは[前回の記事](https://qiita.com/papipu-games/items/7978a7b51a47df8ace38))ですが、プロフラム的な観点から考えれば、描画位置の計算やタップ位置の検出など、直感的でないことが結構コーディング効率に悪影響があることに気づきました。距離の計算の際に前回の考え方で計算すればよいだけですね。
交互にずらす座標系
実際にCocosで実装して表示した画面です。 交互にずらす座標系に変えただけでなく、以下のような変更点があります。左下を原点とした座標系にした
Cocosの描画座標系が、右上に向かって増加する形なので、直感的にプログラムが書けるようにそうしました。
左上原点の右下加算座標系は、将棋とかの考え方が元になって、ボードゲームとかでは常識だったかもしれませんが、どうせお客様には見せないので、開発効率重視です。
ヘックスの並びを横一直線にした
大戦略のヘックスを見ると横一直線になっていました。
大戦略リスペクトの意味もありますが、スマホ横持ちを想定しているので、マップが横長になると思います。その場合、ユニットが横方向に移動することが多くなると思います。横一直線のほうが、横方向に直線的に動くので、ガクガク移動しなくて気持ち良いでしょう。
ヘックスを縦に潰してみた
疑似見下ろし視点のマップチップやユニットを置く予定なので、ヘックスを縦に潰してみました。画像は70%に潰した形ですが、調整できるようにコーディングしてあります。
また、戦略ゲームとしては注視点を中心に、周囲の情報量が増えて良い、という効果もありますね。縦持ちにすると、縦方向に不必要に情報量が多くなり、横方向が狭いので、横持ちとの相性が良いです。
次は、タッチした座標を取得するインターフェイスを実装しようと思います。