I started C# programming in order to develop games with XNA later (I always wanted to create some awesome 3D-based RPG or at least a functional one). I read a good book for C# which is gamedev-oriented (even better). Since I already knew other languages I could quickly learn C# features and syntax code. Then I stepped over XNA...
Since the book I was reading was a bit old, I put it aside and started to find game dev tutorials about XNA over the internet. I could accomplish and understand most of them using 2D graphics. I created animated sprites, made my characters move in any direction, scrolled my background together with my character's movement and so on. Everything was done with "raw" XNA.
I found some of those things hard to understand, also I found that some thing could already be built-in the framework, then I found out game engines which I could clearly understand at least the simple line codes such as FlatRedBall, Axiom and Quick Start Engine.
I already knew of the famous ones like OGRE, Unreal and Unity. At the same time I was tempted to throw it all away and start learning some famous game engine programming, I wanted to stay with XNA which took me time to learn and I wouldn't like to waste it.
This time, I leave it for the experienced ones. Can I go through some game engine and use what it has to offer even if I'm starting with game development? Some people could think that is good to get used with the boring routines of a naked framework. And if so, what would be the recommended one to start off? I heard that it varies from market to market. We can consider that I want a RPG specific engine, maybe.
Am I messing everything up and should forget all that I said? Sorry about the ignorance, I'm just a beginner