So I was pondering exactly how to do this and I have come up with this.
First off, I wanted to use a binary file and eliminate any dependency on a text parser. And since this is going to be isometric I will need the number of tiles high any tile is.
The Name attribute is self explainatory, and I figured 16 chars is long enough to get a unique name for a given map, which I could have corrospond to a table for the full name if needed. Tileset will allow me to select the grouping of tiles I want to load for the map. This way I don't have to load all the tiles if I am only going to be using 10 of them. Width and Length are the dimensions of the map of course. The lighting and weather attributes are going to be useless for the time being, but I hope to have it so I can set the general time of day with Lighting and what types of weather are possible on the map.Code:Header: Name char[16] 0x00 16B Tileset uint8_t 0x10 1B Width uint8_t 0x11 1B Length uint8_t 0x12 1B Lighting uint8_t 0x13 1B Weather uint8_t 0x14 1B Tile: Field Type Offset Size ID uint8_t 0x00 1B Height uint8_t 0x01 1B
After the header will be the tiles, row by row. I will know the number to read into the vector by the width attribute in the header. And I will know how many columns to expect.
Since I will be doing this in 3d (soonish I hope!) I am going to draw the field as a rectangle and then set the viewing angles to be on the diagonals. So I get the simplicity of the X,Y coords but the look of isometric.
Any questions/comments/suggestions... PLEASE POST THEM! I am semi new to this game design thing and am trying to design as much as I can and do brief programming tests for certain things, so I know they are feasible.