this post was submitted on 20 Apr 2025
23 points (96.0% liked)

Godot

6570 readers
15 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 2 years ago
MODERATORS
 

I'm new to Godot and game dev and I've decided to make my first project (having already finished some tutorials) to implement the Diplomacy board game in Godot.

Creating the logic of the game will be the easier part for me as I've been a professional systems programmer (C++/Python) for several years now.

What I'm struggling with right now is how to create the map and the tiles that represent that game board (online example: https://imgur.com/bfnEMup). Since I will want the game to react to a click anywhere in a particular region, I assume I need to have some Area2D that matches the region's shape. The problem is that it's irregularly shaped and I don't know what the best way to accomplish my goal would be.

The options I've thought of so far:

  1. Import the entire map. Then in Godot, create the areas to approximate the regions.
  2. Import the map into some graphics program. Split the map into a sprite for each region. Somehow save the offsets. And import the regions into Godot, each as its own asset. I assume generating a shape from an imported asset is pretty easy.

Any advice or recommendations?

you are viewing a single comment's thread
view the rest of the comments
[–] rebelsimile@sh.itjust.works 2 points 4 days ago

I haven’t done this myself yet but I think the AStar class lets you define a custom grid (for pathing) that exists between specific nodes you specify. If you’re making a regular grid then AStarGrid is a bit better because it assumes a normal grid relationship between elements. But if Britain is adjacent to Portugal and Spain in your map but not Germany (for whatever reason) then you need to build and map those relationships individually, I think AStar is the way.