XNA Essentials

Game Programming for Xbox 360, PC + Windows Phone


Windows Phone 7 Hands On Lab–Tombstoning

At my local .NET User Group, Triad Developers Guild, I was able to give a talk on WP7.  Usually the sessions are lecture style, but I tried to do a hands on lab.  Unfortunately, not many folks brought their laptops so for some it was still basically a lecture style session with me doing the lab in front of everyone.  The labs are very good, I’d encourage you to download them and go through them.  The lab we did on Tuesday, February 15th was the Tombstoning, Launcher and Chooser, and then some with XNA Framework.

You can download lab here:


The files are as follows:

WP7TrainingKitOffline_RTM1.Setup.exe is the full download (both Silverlight and XNA)

WP7SLTrainingKitOffline_RTM.Setup.exe is only the Silverlight labs

WP7XNATrainingKitOffline_RTM.Setup.exe is only the XNA labs


Also, Microsoft is running a contest and if you use the following code when you submit your app or game to the Marketplace you could win a Windows Phone 7!

Use code: 5DXDN

Check out http://www.WindowsPhone7Event.com/contest/ for more information!

Happy Programming!


CodeStock 2010 Presentations

This was the first year I had attended CodeStock. It was an excellent conference.

I had two sessions – XNA Crash Course and Artificial Intelligence. Hit the links to download the slides. As with most of my talks there isn’t a lot to the slides as most of the time is spent in either demos or me talking about the points. Still, I’ve included them here just in case they help anyone.

I had detailed my experience at CodeStock but determined this was not the right blog for that sort of post.  I’ve been wanting to create another blog that covers general development and other ramblings I may have.  I will launch that soon and post the link here in case anyone cares about my non XNA adventures.

I will sum up my experience by saying that the .NET Developer community is awesome.  If you aren’t involved – get involved. You will not regret getting to know other folks that get excited by the same technology that you do.

Happy Networking!


CodeStock 2010 for Developers, IT Pros and Entrepreneurs

I’ll be speaking at CodeStock in Knoxville, TN on June 25th and 26th.  I have two sessions I’ll be presenting:

I was pleased and very surprised to see that my Artificial Intelligence talk was voted as number 3 of sessions the folks wanted to attend.

 Join me at CodeStock

If you haven’t registered yet, you should.  Rachel Appel, now a Microsoft employee, will be giving the keynote.  I’ve always enjoyed hearing Rachel’s talks.  If you are interested you can even view my current schedule for the two day event.


Direct from CodeStock’s Marketing Department:

The theme for CodeStock 2010 is about connections.  Connecting with peers and building a professional network.  Connecting with IT roles outside of your own.  Connecting with the people who can help make your ideas reality.

  • Keynote by Microsoft Developer Evangelist Rachel Appel
  • Sessions for Developers, IT Professionals, and Entrepreneurs
  • 100+ break out sessions + Open Spaces (self-organizing sessions)
  • Panel discussions and live podcasts
  • CodeStock Social Event to meet and make connections

Space is limited so register today at CodeStock.org

So if you are within driving range, you really should register.  I’ve never been to CodeStock but I know the organizer personally and I understand the food is great on both days.  I also know a lot of work has gone into this event and it has grown exponentially every year.  So buy a ticket and come join the fun!

Happy Learning!


Making Money by Making Games with XNA

I’ve done this presentation a couple of times so far. The PowerPoint presentation without the actual talk doesn’t mean too much by itself, but I have included it as is for folks to refer back to that attended the talks.

Everyone can feel free to download it.

The core of the talk is about best practices when developing games for the Xbox 360 to be sold on Xbox LIVE Marketplace as an Xbox LIVE Indie Game (XBLIG). The slides also mention some ways to use the same code written for the XNA Framework to then be repurposed for a Silverlight game thanks to SilverSprite and even for the iPhone thanks to XNATouch and MonoTouch and Mono.

The best practices section was taken from the chapter in my book “Best Practices for Creating an Xbox LIVE Community Game”.

The last section (bonus!) talks about developing games for the Zune HD. For more information, check out my original blog post where the code can be downloaded.

Happy Programming!


Carolina Code Camp – 10/10/09

If you are within driving distance of Charlotte, North Carolina you should really take the time to come to the code camp this Saturday, October 10th, 2009. There are going to be many excellent sessions.

I’ll be speaking during two time slots, but it is unclear at this time if it will be the same Hands on Lab in both, or one Hands on Lab and one lecture type session. Regardless, having an entire track for XNA is pretty cool.

The theme for the code camp is Developing for Dollars. – Learn. Develop. Sell.

That’s a pretty catchy theme in times like these.

The event (as with all Code Camps) is free and there are plenty of things to learn so get to Charlotte this Saturday.

When: Saturday, October 10, 2009 8AM – 5PM (Registration opens at 7AM)

Where: CPCC Levine Campus, 2800 Campus Ridge Rd, Matthews, NC 28105

Cost: Free!


So head over to the CPCC campus on Saturday to learn and network!

Happy Networking and Learning!


Raleigh Code Camp 2009 – 9/19/09

If you are within driving distance of Raleigh, North Carolina you should really take the time to come to the code camp this Saturday, September 19th, 2009. There will be some excellent sessions like:

  • Building Composite Applications with Silverlight 3 and Prism
  • Unit Testing with NUnit and Watin
  • Lucene: Search We Can Believe In!
  • ASP.NET 4.0
  • jQuery from the Ground Up
  • Measuring and Improving the Performance of your .NET Applications
  • Get Rich with UX in Silverlight
  • Implementing ADO.NET Data Services
  • Making Money by Making Games with XNA [by yours truly]
  • Ignite Your ASP.NET MVC Project with Spark View Engine
  • Dynamic Language Performance
  • Parameterized Unit Testing with Pex : Automated White Box Testing for .NET
  • Blend for Developers
  • Bootstrapping for Fun and (Hopefully) Profit
  • Beginning Windows Mobile Development
  • PHP on Windows
  • SQL Server 2008 Reporting Services for .NET Developers
  • NIS Re-engineering of the Data Framework via Object Relational Mapping tools with Domain Driven Design Methods [Say that 3 times fast!]
  • Building Business Applications in Silverlight 3
  • Bigger, Stronger, Faster – Making Quality .NET Applications Fast and Bug Free
  • Database Design for Developers
  • Building a Blog with ASP.NET MVC
  • Ruby for C# / .NET Developers
  • Introduction to the AutoCAD API
  • Building Composite WPF Applications
  • SQL Injection
  • The Ins and Outs of CloudDB
  • Visualizing Change using TFS 2020
  • Team Documentation with OneNote
  • Templating and Data Binding in Expression Blend
  • Practical Test Driven Development with Visual Studio Team System
  • MVC and the Repository Pattern
  • Developing WPF Applications with Prism
  • Delegates, Lambdas, and Expressions (Oh My!)


Besides all of those sessions (plus at least one more that hasn’t been announced), there are also giveaways.  Who doesn’t love free stuff?

So there are plenty of opportunities to learn new things and to see if there is something you would like to spend more time doing.

Also, I may devote some of the time of my talk on the new Zune HD assuming someone has one at the code camp. Mine won’t arrive until next week it seems.

The event is free and there are plenty of things to learn, so don’t let this opportunity pass you by – get to Raleigh this Saturday.

When: Saturday September 19, 2009 8:00 AM – 5:00 PM
Where: ECPI - 4101 Doie Cope Rd Raleigh, NC 27613 [Bing it!]
How much? $0 – as in free, nada, zip, zilch, zero.



And as a heads up … on October 10th, Charlotte, NC will be having a Mega Code Camp. I’ll put up a post about it as the date draws closer, but mark your calendars now for that event. I hear there will be a lot of labs to really get hands on with  the sessions.

Happy Learning!


Microsoft MVP Awarded July 1st

I’m pretty late to be announcing this. I can’t believe it has already been two months since I’ve received the award, but on July 1st, 2009 I received the Microsoft MVP Award in the area of XNA/DirectX.

MVP_Horizontal_FullColorI’m honored to have been awarded this. The main reason why someone is given the MVP award (less than 5,000 world wide currently have this award) is because of the work they do in their community.

Speaking in User Groups and Code Camps are the types of things that help someone get the award. Helping out with the local user group is a big plus. Even doing things like making sure the venue facilities are returned back to the way the group found them can be helpful. Finding a good place to meet monthly is challenging. The last thing the group wants to do is lose their facility. My local .NET User Group currently meets at Advanced Home Care, which is a great location. We meet the first Tuesday of every month. We will be meeting tonight, September 1st at 6:00PM. If you are near Greensboro definitely drop by. The great thing about User Groups and Code Camps is that they are absolutely FREE to attend. Yes, the folks that give their time to run the user groups and organize the code camps find sponsors who pay for the food, swag and everything else that goes into putting on these events.

Besides being active in my local user group and speaking there, I’ve spoken at a few other places including Burton Center for Arts & Technology near my hometown of Roanoke, VA. I gave three lectures one day to some middle schoolers and some high schoolers. It was an enjoyable day and the students seemed to enjoy the fact that games could be written for the Xbox 360 console.

Several years ago, I spent a lot of time in SecondLife. I created a few games in there and used to sell them. There is a .NET User Group in SecondLife where I’ve gave an XNA talk earlier this year.

While the PDC event was taking place last year, Chris Love, Rachel Appel  (who are both MVPs themselves) and a few others started up NotAtPDC. I was able to give an XNA talk using LiveMeeting. Giving talks online is definitely challenging because you can’t see the audience. You have no idea if you are connecting with them or not. Either way, I’ve enjoyed both and will probably do these types of events again.

Since you are on this site, you most likely know I’ve written a book on XNA game programming using XNA Game Studio. This also played a big part in me getting the MVP award I’m sure. There are some that think getting the award because you wrote a book is cheating because you already got compensated for the book. Typically (and my book is no exception) technical books do not bring the authors much money. But it can be argued that any money is still compensation and community work has no monetary rewards. Some don’t see any difference in putting time into a book that helps others, versus time into a website with Ads. Sometimes ads have made more money for folks than royalties from a technical book. Others tend to think that if work was done and you can be awarded for it multiple times then more power to you. That said, having the book alone wouldn’t have been enough. In fact, this was my second book. So having two books alone wouldn’t have been enough to be awarded with the MVP Award. It was the activity with the local user group and code camps and the speaking engagements.

On a side note, I found out last week that a college professor of mine (who taught several of my Computer Science courses including Graphics Programming) is using my Microsoft XNA Game Studio 3.0 Unleashed book this year for that class. There are other colleges and universities that use my book in different courses, but to have your old college professor use your book to teach a class he taught you is pretty surreal.

So here is the call to action for you my dear readers �� yes both of you – you need to get plugged into some community activity. A great way to become a better developer is to surround yourself with better developers. A good way to do that is to attend user groups and code camps. Of course the other events like PDC, Mix, GDC and GameFest are good too – but there is usually travel costs plus the actual event cost which can make it prohibitive for some. With user groups and code camps which are free for the attendees there is no reason not to get out there and meet other developers and learn new things.

Happy Networking and Learning!


Raleigh Code Camp – September 19th, 2009

If you are near the Raleigh, NC area on September 19th, 2009 you should really drop by the free Code Camp. If you have never been to a code camp, it is an event put on by a local user group. The events are free to the folks that attend. The folks that give their time to run the user groups and organize the code camps find sponsors who pay for the food, swag and everything else that goes into putting on these events.

If you aren’t in this area, you should definitely check around to see if there is a .NET User Group in your area. I attend one locally here in Greensboro, NC where we meet the first Tuesday of every month. We will be meeting tomorrow night, September 1st at the usual place.  The talk tomorrow night is on “Mashing up MVC, Bing, Maps and Flickr”. It should be good.

Again, it is really beneficial to get plugged into your local developer community. What better way than through events like User Groups and Code Camps?

The session list for the Raleigh Code Camp promises to have some excellent content. If you are interested in XNA you can hear me talk, but there are tons of other subjects that are interesting as well. There are talks on jQuery by Rachel Appel and Kevin Griffin, Database Design by Andy Leonard, Blend for Developers by Diane Wilson, LOB Apps with Silverlight 3 with Jim Duffy, general guidance on making high quality .NET applications with Chris Love, TDD with Steve Andrews, Dynamic Language Performance with Kevin Hazzard, UX in Silverlight with Rob Zelt and many others. The quality of speakers for this event is really great. I’m privileged to be speaking at the same event as these folks.

Again, to better ourselves as Software Engineers it is crucial for us to continue to learn. A great way to do that is to get with like minded people and User Groups and Code Camps provide an extremely cheap (FREE) way for us to connect with others.

Happy Networking and Learning!