I've also been doing a lot of "research" in the form of beating Super Mario Brothers 3 about 6 times (all 8 worlds and all levels.) It's easier after the first time since you get the 28 p-wings. Btw, am I the only person that didn't realise you could press down+B (while wearing the racoon suit) to turn into a statue thingy? (I have no idea what it is, but they show it in the end when they're going through all of the worlds.)
So, I'll explain some of what I plan on doing to my game library between what I have now and what I'll be using for the sequel.
First off, the debug console is being chopped up. Not completely removed, but it's losing most of it's power. After I finished it I realised that, although pretty nifty and useful, it was somewhat a waste of time. I say somewhat because of what I said yesterday (I got parsing practice and it alerted me to a design flaw that I wouldn't have noticed until I was knee-deep in my scripting language.) Anyway, it was a waste because I'm going to include an in-game editor, so pretty much everything I put into it will be accessible via a (hopefully) nice GUI. So, the debug console will be more command based (i.e. ResetGame, LoadLevel "filename", GodMode On/Off, etc.)
The next game will most likely support the 360 controller. I was going to put support in my current game, but I'm already way behind (I planned on having the entire map system (including events and such) done last week[headshake].)
The next game will (hopefully) have audio. Although I admit that sound goes a long way to enhancing gameplay, it can also majorly screw it up. Plus the fact that the only streaming audio experience I have is pretty much copy-and-paste (thus the reason I've stopped using it.)
Hopefully the next engine will be reusable. I'll be able to reuse some of the code from this iteration, but I don't think I'll be making another game with it. I'd like to atleast make two games with the next iteration.
Now, I'm off to get animation working.