XNA Essentials

Game Programming for Xbox 360, PC + Windows Phone


SIEGECon Talk on Xbox 360 Programming with XNA

I’ll be blogging about the SIEGE Conference on my personal blog soon, but I did want to at least put up my PowerPoint presentation of the talk I gave this past Saturday. I received a lot of good feedback. It was a challenge getting to demo the 360 since it has to be connected to the internet. Overcoming Hotel WiFi restrictions is always fun.

In general, this conference was really good. I had a great time networking and talking to folks. I met a professor and some of his students who are using my book in their class this year. That was really cool. Also meeting the co-founder of Atari, Nolan Bushnell and chatting with him was pretty awesome. If you are interested in any of that, make sure you check out my personal blog where I put non XNA related content.

Feel free to download the presentation slides.

XNA Game Studio 4.0

On September 16th, the XNA Framework team will be releasing XNA Game Studio 4.0.  While games created for the Xbox 360 will still be based on XNA Game Studio 3.1 for the near future, the team is also releasing a beta version of the new Connect tool (that allows you to connect your development machine to your Xbox 360 to transfer your XNA games) on the same day.

September 16th is when the Windows Phone 7 tools will be launched as well.  The timing isn’t coincidental since the Windows Phone 7 will allow developers to create games and apps using either Silverlight or XNA Game Studio.  The tools have been in beta for a while now.  The actual Windows Phone 7 Series devices will be released sometime this holiday season.

XNA Game Studio 4.0 has breaking code changes. The XNA Framework team went with the mantra of “If you break it, break it good.” They went with a  new approach of Reach vs. HiDef.  Reach is being able to write the same code for all supported platforms – Windows, Xbox 360, Windows Phone 7. HiDef is targeting a particular platform and the specific features it has available.  This was a great move and while it causes discomfort in updating any existing code it makes a stronger base for bringing in even more platforms in the future.

Make sure you grab the tools as soon as they are available in a couple of days!

I certainly hope that all of my readers read Shawn Hargreaves blog regularly. I’ve only linked to a couple of his posts here about XNA Game Studio 4.0, but he has a wealth of information that you will find beneficial. So make sure to catch up on his blog posts if you haven’t already.

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!


Getting Started with XNA Game Studio 3 Hands On Lab

This is a lab I originally created for the Carolina Code Camp. The lab covers two main items:

Platformer Starter Kit

  • Creating the Platformer Starter Kit
  • Compiling and Running Platformer
  • Modifying Level 1

Indeterminate Progress Bar

  • XNA Framework 2D Basics
  • Creating an Indeterminate Progress Bar Demo
  • Drawing 2D Text


The lab is adapted from my Microsoft XNA Game Studio 3.0 Unleashed book.

Download the lab and give it try. It takes about an hour to complete.

Happy Programming!


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!


The Kewlniss Func

Michael Neel (aka @ViNull) interviewed me at the Raleigh Code Camp back in September for his Feel The Func podcast. He edited a little bit, but it is still almost 2 hours in length.

If you are interested in listening to us chat about the game he is making, my book, the XNA Community in general some games we play as well as some XNA topics such as Rich Presence feel free to listen.  I’m sure he’d love you to subscribe.

Also, a much better interview is the one he did with Jame Silva of The Dishwasher: Dead Samurai fame. So make sure to check his interview out too.

Happy Listening!


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!


Zune HD Scribble Test – Source Code

I did a talk yesterday at the Raleigh Code Camp. It went well I think. If anyone was at the talk and would like to give me feedback, feel free. The only way I’ll get better is if I know how effective / non effective the talk was.

It is always interesting trying to give a talk to an audience with people who have no clue what XNA is as well as those who have been fooling with it for a year or more. Ultimately, there are parts where both parties are bored – but hopefully not at the same time!

Anyway, while the talk was more about best practices for XBLIG and what you need to do to submit games to ultimately make money using XNA, we did spend the last 10-15 minutes of the session looking at a scribble app I made for the Zune HD on Friday night before the session.

Rob Zelt mentioned on twitter that I may have very well been the first person to do an XNA talk with a demo for the Zune HD at a Code Camp. Seeing how the Zune HD was just released this past week and typically Code Camps are held on Saturdays and I had the second session of the day at 9:40 EST I think he may be right. For some reason that makes me smile. A geeky gold star for me.

OK, now to the actual project. You can download the project and look at the comments to see what it is doing. I also did a brief video on it Friday night after I got it working.

At a high level, the code is simply looking at the touch panel collection to see all of the points / vector2 that were moved. It grabs the starting and ending point for this move and adds it to a list. We then draw a line from the starting point to the ending point and do that for each line segment in our line list. To erase it, we just shake the device. Really, we are just checking the difference of the acceleration on the X or Y axis to see if it has moved a certain amount in a frame. This way if someone just moves it slowly or turns it the screen won’t erase, but if it is a fast enough motion (easily produced by shaking) then we clear the line list so there is nothing to draw. The demo code also collects the rotation of the device from the accelerometer as well as the acceleration, but doesn’t actually use the rotation values.

Hopefully this will give you an idea of what is needed, but you should definitely check out the documentation from XNA Game Studio. In order to run this, you will need a Zune HD as well as the latest XNA Framework which comes in XNA Game Studio 3.1 Zune Extensions.

Download Zune HD Scribble Test

Happy Coding!


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!