I'm working on a 2D tile engine and looking for some general design and/or programming advice from more experienced programmers. What I want is an engine capable of handling both essentially limitless transition-free tilemaps (i.e., broken into chunks, loading the chunk the player is in and pre-loading adjacent chunks to make sure the player never sees an empty abyss at the edge of the screen) and Castlevania/Super Metroid style "rooms" of set size (for instance, an open overworld and segmented interior spaces). So, a few specific questions:
1. I've been using the Tile Engine and Level Editor from Kurt Jaegers' XNA 4.0 Game Development by Example as a starting point, but I'm finding they're fundamentally different from what I want to create (static tilemap class predefines a set const map size, tile size, number of layers, etc.)--rather than simply extending them as planned, I'm having to completely gut them to the point that I'm beginning to wonder if it would be more manageable to simply start fresh. I've managed to add support for maps with different properties (in such a way that the level editor still works, surprisingy), but it's messy. Thoughts?
2. Room-based tile engines are pretty easy to find info on, but I haven't been able to find any specific tutorials on how to code chunk-based tile maps. Anyone know of any? Specifically, I'm having trouble comprehending how to handle loading more than one tilemap, and how to get the camera to treat it as if it's all one giant map, only ceasing to scroll when it hits a place where there are no further chunks to load (the edge of the world). I assume I'll need to store the names (x,y coordinates) of all the chunks in an array to tell the engine which map files to load depending upon the coordinates of the chunk the player is in, but beyond that, I'm lost.