I definitely see your very well made point here and I can easily see the benefit of working with a standard ortho grid setup then just using the isometric functions to only display the map. I spent all day yesterday just figuring out how to paint the selected tile and it really threw me for a loop. I was making the iso tiles in gimp, basically just drawing in the rendered iso tile area which was 32x16, save it as a png and draw it on the map. I did draw on a normal 32x32, rotated it and scaled its height by .5, but it didnt look much different then just drawing on the tile that was already rotated.
Just to make sure I am understanding you, you are saying to perform all the calculations, movements, placements, checks and game logic on a standard 10x10 grid, then convert the output to an isometric map and render it, right?
I like this idea, this would really speed up things. I cant believe all the searching and checking suggestions from google, no one mentioned this. When I google “convert 2d mouse coordinates “Isometric”” all the return sites for the first 6 pages show visited links, lol. Thats a lot of reading.
I will spend some time here to try to implement your suggestions and supplied code. I know I’m already upside down though because even constantly going back to your post yesterday, I couldn’t really understand how your achieving this.
So I will go ahead and throw the questions out there right off the bat (Again, I really, really appreciate the help!)
//This is the coordinate of the top-left usable space. It's like transforming the origin on a graph.
//I only have this because there is a lot of wasted space with an isometric transformation.
point.add(isometricOffset);
I dont know what this is for and what isometricOffset would be. I can see your adding this to a instantiated vector2 object. If the Vector2 just got instantiated, then the original x and y would be 0, 0.
“This is the coordinate of the top-left usable space”, which means that all your really doing is adding, in the case of a regular 2d grid, the origin which would be 0,0, the top left coordinate? Why are you calling it isometricOffset?
so basically point.add(isoetricOffset) is setting the initial values of x, y of a newly instantiated Vector2 object, right?
Please say correct! Then I can move on, hehehehe. :0