That could work too, but for my simple mind this chessboard pattern seamed easier for me to grasp than to translate straight coordinates to isometric ones. I'm not really a programmer or coder, so I'm just messing around with it, to see what's possible. But i guess what you're saying using offset you can translate any array position to a map shape like this <> ... Just like a tilted array.
For example so the translation would be something like this?
Line 1, cell 1 would have an offset of X,50 Y,0 (of 100) It would have the top position middle of the screen.
Line 1, cell 2, would have a position of X,60, Y,10, would be one the second row, slightly offset to the right from the center.
Line 2, cell 1 would have a position of X,40, Y,10 would be one the second row, slightly offset to the left from the center.
"Y" would increase for every line, and X would decrease by 10 for every position on the Y axis, and increase by 10 for each position on the X axis.
Then the array would translate to something like a shape like this -----> <>'
Anyway i still prefer the chessboard pattern because it's easier to grasp and to visually comprehend and woudn't restrict your map to a shape like <> ... You map could still be isometric, but have any shape within the [ ] boundries of the array.
In the chessboard layout you could replace any number with a 2, to block movement. Just translating the the array to isometric positions you can't control where you want to block certain movements. Or you have to add it in code.. restrtricting movements in certain directions based on the number and position of stuff relative to your position, and it just becomes an headache... at least for me.
Here's an example of the control you have in the chessboard pattern, that would be much harder to control using your suggested translation. Top example is using a small object like a fence on the same position. The lower example a big thing like a building.