Well, whilst you can indeed learn a lot from examples i am willing to bet youll learn more from trying to do stuff yourself...start with the basics and then...well if youre like me youll end up with a whole load of half made stuff that you only quit on cause when you got that far you realised a better way or needed to go build a new tool and that led down another path!!!!
So game design eh...well as i did that for my degree ill say a few words....
First have and idea. Then SET your goals...and make them realistic, want fancy 3d graphics with god rays and ray tracing but you dont know how to load textures...well i'd prepare myself for a lot of head scratching and trying to decode C++ demos into QB64...basically just dont reach to far or it will all become to much and youll not enjoy it!
Write pseudo code first...this helps break down the build into sections and is easier to keep track this way.
Keep it simple...Yes mario has a lot of different animations but do you really need to implement them all before even checking your tile engine works?
Do one thing, finish it and then have coffee!
So, get your idea, plan your design, 2d, 3d, iso, etc...write pseudo code and then if your still stuck ill happily help out and im sure the others will too...
I've attached pics, if anything is along the lines of the games you listed then let me know and ill dig up the code.
Unseen