Heh, I find that any time I try to use a tile based system, I always make it extremely complicated very fast, which ends up forcing me to implement file loading earlier. Most of the time, I use Tiled as my map editor of choice, and depending on what I am deploying, will either use XML or CSV exporting. Very handy!