Wow, that first one is a doozy. I love so many different games for so many reasons, it's hard to pin down just one that rolls all of that up conveniently. I'll cop out and say "Zelda."
I know it's not one game, but that series is indicative of what I love about games: exploration, adventure, puzzles, unique characters, and a story that gives you enough without overwhelming you. From the time I was young till now, I've always loved that series and I think that each one provides those core components in such a tactful and enjoyable way that nothing beats them (at least for the first time through).
I am a developer and I'd be glad to give you some pointers. My expertise lies in Java web applications, but I'm sure the concepts are pretty similar across other languages that do similar functions. If you have some specific questions that need answering, feel free to ping me via PM and I'll do my best to help you.