Just quick update .. finally got around to finishing the update to the map editor this weekend and man I am happy about it!
Not only did I not have to change much code at all in the editor to work with the new data I used in the updated Library, but the file size of the outputted maps are SIGNIFICANTLY smaller. With the new data structure in place the file size dropped on my test maps from 227KB to 143 bytes, which is approximately 1625.5 times smaller! Pretty happy with the results although they COULD be improved as this is without compression.
These huge improvements are not much of a surprise though, as the new structures use significantly less data for the same amount of utility if not more utility as I will be able to add custom data features to the editor now without increasing the file size. One of the drawbacks to the new system are that maps can have less Tilesets, and a size limit to 256 x 256 tiles per tileset. However it is still more then enough for normal use, and can be increased if need be(doing so would increase the file size though). The method I used .NET’s serialization attribute to make classes serializable and used more objects, so it is not much surprise that there is a huge performance increase. The old method was also a lot more clumsy to take care off, and work with while the new version is fairly clean and uses as much data as needed opposed to having extra data that was not needed.
Now that I got the editor fully functioning with the new data structures I am going to create a small little “proof of concept” using XNA, as well add a few more features to the editor(collision tool and then maybe custom data tool). Pretty happy with the tool, and it should make creating games for contests such as Ludumdare MUCH MUCH easier//faster. The only thing I am not 100% happy about is how some of the objects in the editor itself interact with each other, I need to look into a design pattern to fix this because to be honest the code I wrote to make a couple things work in the editor is just REALLY sloppy//quick fix and not elegant at all :/. Will fix tho!
Anyway, I am happy 🙂 peace!