Apart from a marble rolling game, I am now doing a lot with deferred rendering and learning other interesting rendering techniques. Basically its main advantage is to render a lot of lights directly and efficiently (by comparison my previous 3D projects have just been using basic shaders). Here's some screencaps of what it currently looks like:


(edit: didn't expect them to take up the whole page)
I try not to do a whole lot at once- what I have so far is just a rendering system that I admittedly adapted from a tutorial, but I broke it into discrete parts, and added a few more features on to it, like a custom OBJ loader that supports exported materials, and post-effects like depth of field (This is the Crysis Sponza model you're looking at but loaded in my program). So it's all graphics stuff at this point, no things like scene management or physics or character loading, and I don't plan to add everything plus the kitchen sink in it. But the finished product will do more than just deferred rendering. It will be more of a configurable renderer, so if you want to draw shadows first or add post-effects, it'll be easy to just "plug them in" with a few lines of code.
You may think, well it's kind of easy with XNA isn't it? And it does make some things easier, but 3D fundamentals still apply. Working with XNA let me focus more on understanding and applying those concepts instead of taking up lots of time dealing with stack corruptions and fiddling with pointers. On one hand it has made me a bit rusty on C++ but on the other I feel like I can now apply the techniques I learned with less hassle on other platforms and languages that I know.
My blog will be updated regularly with my work, but I will also be posting on this thread for any updates, questions or suggestions.