One thing I'm conscious of is that I've been coding in the games field for literally years now and have very little to show for it. Sure, I've worked on some stuff I found cool but it never seems to go anywhere or lead to a completed project.
For example, in C++ I've written engines galore and always hit a specific point in which either the creativity died or the engine itself wasn't really suitable for the game I was working on. A high factor is the sheer amount of work involved in writing an Engine - it's hard, it's tedious and often (unless you're 100% dedicated to finishing the engine and goal-oriented) will lead to nowhere. Take a look at EDI's comments in his recent journal. Implementing even a simple GUI system takes a LOT of time and is likely to be crap. Add to this your physics, scripting, graphics and all the tedious crap you take for granted (state machines, memory management, task launching and so on) and you actually get a feel for how big a job working on an engine is. Even XNA, which gives you a quicker way into it all still requires a fair old chunk of this additional work before you can test out your ideas.
I'm interested in experimenting with game ideas, learning how to apply AI and so on, but without an engine in place you've got an uphill struggle before you can really be productive. For example, my recent game in XNA hit a point that needed me to work at a lower level than I wanted before I could start actually playing around with the game ideas I had. As soon as you immerse yourself in the detail, the gameplay ideas seem meaningless whilst you;re figuring out how to render stuff correctly or get the right collision model. Again, lots of work and nothing to show. So as a result I started to look around at more standalone topics and work on them, such as porting a scripting engine to C# for example. But when you realise that again, you have no immediate application for it the interest begins to wane rapidly.
I'm starting to think that buying an engine with RAD capabilities would suit me. Something like Unity, Torque X or so on may be ideal for my needs. They're low-cost and provide a whole heap of tools out of the box that help you become productive and test out game ideas. Less arsing about on the detail of how to load a 3D model and more on crafting the gameplay. The only problem I have here is that my experience with such tools hasn't been great in the past - many of them didn't inspire me to work past the 30 day trial period because there was something lacking in them (DarkBASIC had a shit IDE, Torque Game Builder was annoying).
I'm going to download the Unity 2.5 trial and try that for 30 days. Let's see how it goes.