Monday, January 18, 2010

Mindblown - Depth of XNA and .NET

It's one thing to have some fundamental knowledge about something, like what is XNA and .NET. But it's an whole other thing to see what they truly are. Not necessarily to fully understand .NET and become a .NET master, but to see and understand where certain things come from.

I recently went through the "Under the Hood" and "XNA from Scratch" lessons from the 3DBuzz's XNA Xtreme 101 volume 2. My eyes are still glazed-over from last week. Not from confusing, but from sheer amazement. You can't fully understand the complexity and power of .NET until you see it with your own eyes.

When you create a new XNA project (Windows Game, for example), there's a load of code already into place, ready for you to add in your own code to. When you run that empty project, you get a wonderful CornflowerBlue window. Where does that window (Form) come from? Where does the code that's added in come from and what does it do? If we override Draw() and Update(), where is the original and what do they do?...


The almighty default XNA Windows Game window

We first started to look at a normal Windows Application to see where the Form (window) gets created and tried to understand that. Then we looked at an empty XNA Windows Game, and we traced everything using Reflector. It was stunning to see the sheer complexity of .NET and XNA, but then it was mind-blowing to see it all connected and working together.

At this point, I'm both excited and scared/intimidated of working with XNA.