Offset square grid.

BrianWBrianW Newcomer

I am designing a playtest map for an Age of Sail campaign game. The system uses an 8 point compass rose, so there are 8 possible directions for movement. Each movement box on the map is the equivalent of one movement factor for a ship.

Since I'm using a period map as the base, the boxes are rectangular even though they represent the same number of nautical miles on the x and y axes. Because the boxes are rectangular, I would like to use an offset box grid like the picture below:

I've figured out how to do it by using the copy and group commands, but that's pretty labor intensive. Is there a way to generate something like this using the "square/hex grid" command in CC3+?

Thanks,

BWW

Comments

  • MonsenMonsen Administrator 🖼️ 46 images Cartographer

    No. The only way to get something like that is to do it yourself. Might be worth writing a macro to do something like that, especially if you need the labeling in the cells.

  • BrianWBrianW Newcomer

    I was afraid that might be the case, but wanted to hear some other opinions before I bashed my forehead into the keyboard. ?

    Thanks for the macro idea, but I am less than useless when it comes to that particular Dark Art. I have a workable solution, so will try that right now. Will definitely try the macro idea for the next map, though.

  • jslaytonjslayton Moderator, ProFantasy Mapmaker

    That kind of grid is mathematically indistinguishable from a hex grid. It's just the corners that are different. Not a helpful observation, but I once wrote a program that generated those quite by accident.

    As Monsen states, writing a macro is likely your best bet to get a grid like that with labels. It's an interesting question whether to do it a set of lines going one way with little lines going the other or to do it as a set of boxes. Doing it as boxes makes it easier to get the coloring different on the individual elements as shown on that map, but you get substantial overdraw and there may be numeric precision issues in some areas that would lead to apparent thicker lines.

    When drawing the grid, you can probably use the rectangular array command to create a whole line of elements, copy and offset those, and the use rectangular array again at right angles to create the rest of the elements. You can get the numeric parts of the label copying along with the rest of them after you create the first set, but you'll need to do the alphabetic parts separately at right angles to that for each column. My lazy inner child says that sort of thing is a lot of work; the grumpy perfectionist taskmaster on the outside says that a lot of work is just what it takes to get good results!

  • BrianWBrianW Newcomer

    It may be mathematically indistinguishable from a hexgrid, but there is a difference where my weather data is concerned. For the Med, I'm using weather data from the 1800's Admiralty handbooks for the area. Those weather stations record wind direction using the 8 point compass rose I mentioned in the OP. By using hexes, I automatically lose two compass directions no matter which way they are oriented. If vertical, I lose West and East; if horizontal, then I lose North and South.

    My idea behind using the offset grid is that it resolves the problem of diagonal movement without any further modifiers. The ship movement factor is based on the sail set (Battle, Easy, Full). That number is modified by the wind strength in an area, and then by the ship's attitude to the wind; i.e. moving with or into the wind. Given all that, I want to avoid another modifier for players to remember.

    I don't necessarily want the boxes to extend across the land. That picture was just the best example I had at the time. I tried drawing the boxes, and putting the land masses over them, but it did not work. I presume that is because my "land mass" is actually an outline tracing of the original map, but that problem can wait for another post. ?

  • jslaytonjslayton Moderator, ProFantasy Mapmaker

    Trying to get relatively uniform distances on a 2d grid is a hard problem, especially when instrumentation is giving you data in a different coordinate system. Moving directly north or south on the shown grid is a tough one, because it down the boundary of the cells on the adjacent rows.

    I suspect that it will be quickest to do rectangular arrays of boxes for what it sound like you want to do.

  • With enough patience and some trial and error (or maybe some math involved, which my wife keeps telling me nobody likes), is it feasible to manually build your grid using solid lines for the horizontal and your defined dashed lines for the vertical?
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    edited January 2021

    Yes. A manual construction would be to draw the solid horizontal line and a small vertical line. Use the REPEAT (rectangular array) command to copy that vertical line across the area of interest (n columns and one row). Then use COPY to copy the base line and vertical lines up one and over one-half a grid cell. Finally, use REPEAT again to copy those two lines of entities to 1 column and m divided by two rows. You'll end up with something that looks like the attachment. You can TRIM the edges or use a mask to hide the uneven edges.

    You can do something similar with the labels, but you'll need to enter one each of the letters and numbers before using REPEAT to spread them out.

    The construction with boxes is the same (make a box, REPEAT it across the line, copy that row up one and over a half, then REPEAT those two rows as required), except that you can then color each box individually with respect to the lines and the fills. I didn't observe any precision errors on the quick tests that I did using boxes, so you'll probably not run into any problems an a reasonable map.

    Loopysue
  • DaltonSpenceDaltonSpence Mapmaker
    edited January 2021
    If you are going to make a lot of staggered grid maps I could create an ordinary map template for them but it would need fixed dimensions with a set number of rows and columns. It could scaled but not stretched and you would probably want to determine the sheets and effects yourself.
  • BrianWBrianW Newcomer

    Thanks guys. I appreciate all the comments and suggestions. I'm sure I will have some other questions later on.

  • edited January 2021

    Could you use something like @jslayton 's image above, convert it to a seamless texture and use it as a fill maybe?

    I made a quick seamless tile in Photoshop and tried it and it seems to work ok.

    It's not perfect because I didn't spend much time getting the lines that are half on one side and half on the other side perfect so those look lighter when it's tiled but I think that it proves the concept (except for not having the labels). Here are two versions of the 1000x1000px seamless tile I made, one with black line on a white background and one with a transparent background if you want to try it out yourself.


  • edited January 2021

    I can't edit my comment above because I haven't posted enough to the forum so sorry for the two posts, but I played with this some more and I really think that using a custom fill might be a good solution for what you want to do (minus the issue of labeling the boxes).

    Here is a better example using a slightly revised version of the fill I made above (I didn't make the map itself, this is one of the example maps from a recent annual). In this example I used a polygon to draw the fill so that it only covers certain areas, which fulfills your desire to not have the grid overlap the land... you can just draw it on the water.

    Revised tile I used for this grid:


    Loopysue
Sign In or Register to comment.