Since finishing the ULCS Game Jam (24-hour game development competition, we didn't win anything), I've become adept enough at XNA to start work on my own game engine based on the framework. It shall be called Carthage, after a computer program which is one of the main plot points of a certain french tv series I used to watch.
Carthage will be mainly a 2D game engine and it's already got content and config-loading capabilities (with a Dictionary [a type of collection] to hold each as a central repository). I've also started on image and text drawing utilities to make drawing objects easier as well as implemented the 'screen' system I used in our Game Jam game to allow for easy switching between scenes (screens can even be drawn under other screens, like in a pause menu).
Once Carthage is finished, I will use it to develop a top-down version of my zombie survival game idea (working title CONTINGENCY:Z 2D). It will draw from my original ideas for the game (which will be first-person 3D and made when I have enough experience) as well as using elements of other games, for example Minecraft's shaped, grid-based crafting system (though with multi-tier workbenches and tools).
The C:Z 2D's emphasis will be on realism and survival, so ammo and resources will be scarce and the player will have to be cautious, quick-thinking and highly resourceful in order to survive for long.
I will most likely release both Carthage and C:Z 2D for free here, probably with source code and documentation and accept donations should anyone feel I deserve some of their money.
Carthage is now fully integrated with the 'screen' system. Only the content required by the current screen is loaded and on transition, content not needed by the next screen is discarded. Switching between screens is now handled by a manager, making it much safer as well as having a blank screen to fall back on and prevent crashes.