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?

  • bruce965@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    5 days ago

    I am a novice, so if someone else is going to give different advice, consider disregarding mine.

    If you want precise collisions you could manually add 2D Areas and align them with your map. Otherwise if you are happy enough with an approximation you could add a tilemap (collision only, no sprites) and use a different tile for each region.

    I would go for the first option, considering that you don’t have too many regions. You don’t need any external program, as far as I remember, you can create polygonal shapes directly in Godot.