Visual Studio Live! - New York 2012

I will be speaking at Visual Studio Live! in New York this May 14-17.  The conference is a full 4 day event and there’s still time to register!  The three sessions I’m presenting are:

W01 – Get Connected with Kinect 
Date: Wednesday, May 16, 2012
Time: 9:15 AM – 10:30 AM 
Level: Introductory

By now we’ve all probably tried Kinect, Microsoft’s revolutionary motion control device for the Xbox 360. But what about developing software to use the device? With the release of the official Kinect for Windows SDK from Microsoft, developers can now use this device like any other hardware peripheral from code. This session will introduce developers to the Kinect device itself, how it works, and will offer an overview of the API provided by Microsoft to retrieve image, depth, skeletal, audio, and audio position information from the device. The session will also cover some interesting uses for this information, and how it can be used in …

Read More

Visual Studio Live! - Las Vegas 2012

I will be speaking at Visual Studio Live! in Las Vegas this March 26-30.  The conference is a full 5 day event and there’s still time to register!  If you use code VLSPK21, you can save a nice chunk of cash off the all-access Best Value Conference Package. The three sessions I’m presenting are:

T05 - Windows 8 Metro-style Application Contracts and Extensibility
Date: Tuesday, March 27, 2012
Time: 10:45 AM – 12:00 PM 
Level: Intermediate

Contracts are a new feature of Windows 8 Metro-style applications that allow applications to interact with the operating system and other Metro-style applications in a standard way. With contracts, applications can implement interfaces to allow searching, sharing, settings, app-to-app file picking, and more. In this session, we will explore these contracts and how they can be used in any Windows 8 Metro-style application to provide a seamless, integrated experience for users.

W04 - XNA Games for Windows Phone
Date: …

Read More

Visual Studio Live! - Orlando 2011

imageI will be speaking at Visual Studio Live! in Orlando this December 5-9.  The conference is a full 5 day event and there’s still time to register!  The two sessions I’m presenting are:

TH2 - XNA Games for Windows Phone 7
Date: Thursday, December 8, 2011
Time: 8:00 AM – 9:15 AM 
Level: Introductory to Intermediate

You have Silverlight on Windows Phone 7 under control, but what about XNA? If you're looking to create a more advanced game with better performance than Silverlight, XNA is the platform for you. In this session, developers will learn how to build an XNA game targeted for Windows Phone 7. The basics of the platform will be demonstrated while building a simple Space Invaders-type game that would be Marketplace acceptable. Specifically, this session will cover how to deal with user input, play sound effects and music, display animated 2D graphics, and how to create a game that's ready to be sold on the Marketplace.

TH12 - Multi-touch Madness! …

Read More

Kinect for Windows SDK + XNA

imageI have seen a few people talk about using the Kinect for Windows SDK with XNA lately, and many of those projects aren't using the SDK how it's intended to be used from a framework such as this.

When I had a hand in working on the managed SDK, I made a point that the API should allow for both an "eventing" model, and a polling model.  In the land of WPF and WinForms, an eventing model makes perfect sense.  In these frameworks, the SDK is intended to be used thusly:

private Nui.Runtime _kinect = Nui.Runtime.Kinects[0];

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    _kinect.DepthFrameReady += DepthFrameReady;
    _kinect.SkeletonFrameReady += SkeletonFrameReady;
}

void DepthFrameReady(object sender, ImageFrameReadyEventArgs e)
{
    // do something with the depth frame
}

void SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
    // do something with the skeleton frame
}

But, in the land of XNA, where all of your code is …

Read More

MJPEG Decoder v1.1

A quick update to my Motion JPEG Decoder is now available at CodePlex.  Version 1.1 adds the ability to specify username/password credentials for cameras that require a login.  For example:

MjpegDecoder _mjpeg;

_mjpeg = new MjpegDecoder();
_mjpeg.FrameReady += mjpeg_FrameReady;

_mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg"), "user", "password");

As always, questions/comments welcome.  Enjoy!

Read More

MJPEG Decoder

209653324My latest article and library is now live on the brand new Coding4Fun site, now on Channel 9, and over at CodePlex.  This project allows you to very easily decode a MJPEG (Motion JPEG) stream from a network camera (or any other source) into a consumable type for WinForms, WPF, Silverlight, XNA and Windows Phone 7 (both Silverlight and XNA).

The MJPEG Decoder library started life as a project for the t-shirt cannon built for the MIX10 keynote.  The original plan was to have an IP camera attached to the robot for a real-time video stream from the bot's perspective, but the feature wound up being cut for time, and due to some issues rendering the video on the very early Windows Phone 7 tools.  The library has been sitting around a while, has gone through several rewrites and now supports almost every platform I can think of.  With the new Coding4Fun up and running, it was time to polish it off and get it posted.

Take a look at the article, download the binaries and …

Read More

Visual Studio Live! - Las Vegas 2011

VSLLV11_Speak_VLSPK24I will be speaking at Visual Studio Live! in Las Vegas this April 18-22.  The conference this year is being held at the Rio All Suites Hotel and Casino (to quote Penn Jillette directly) and is a full 5 day event.  The two sessions I’m presenting are:

TH1 - Multi-touch Madness!
Date: Thursday, April 21, 2011
Time: 8:00 AM - 9:15 AM
Level: Introductory to Intermediate

Multi-touch technology is popping up everywhere, most recently in Windows 7 and various .NET technologies. Windows 7 has been designed from the ground-up with multi-touch in mind, and the newest versions of WPF and Silverlight are multi-touch capable as well. In this session I will take you through the 4 biggest areas of Microsoft multi-touch technology: Windows 7, WPF 4, Silverlight, and Surface, including the forthcoming Surface Toolkit for Windows Touch. You will learn how to make your applications multi-touch aware and capable using each of these platforms, how to handle gestures and …

Read More

MindBlaster Article Posted

mindblaster My latest Coding4Fun article on the creation of my game MindBlaster is now available!  This is a game I wrote using XNA Game Studio 3.1 that combines a Nintendo Wiimote and a Neurosky MindSet headset to create a game you play entirely with your head.  If you were at PDC09 and stopped by the Coding4Fun area you may have seen it, or, if you’ll be at MIX10, please stop by the Coding4Fun area and see this and 3 or 4 more even better projects by Coding4Fun authors.

Links

Read More

Coding4Fun at PDC Video Recap

c9logo It looks like all of the Coding4Fun videos pertaining to PDC09 have been posted along with most (all?) of the Channel 9 Live videos.  For those interested in the Coding4Fun recap vids, have a look…

Get Microsoft Silverlight
Channel 9 Live at PDC09: Coding4Fun
Clint Rutkas, Brian Peek and Tim Higgins with Scott Hanselman
Recorded Live, November 19th 2009 at 11:00AM (PST)

Get Microsoft Silverlight
Coding4Fun at PDC 2009
With our lab coats in hand, we brought Drinktendr, Mind Blaster, Laser graffiti, Wi-Fi Warthogs and finally Goblin XNA (augmented reality)!

Read More

PDC09, Coding4Fun, and Mind Blaster

Another PDC is over and I’m happily relaxing before work starts again on Monday.  Lots of announcements, free laptops for attendees (not me, sadly), and plenty of time spent in our Coding4Fun area with my project.  We even had the opportunity to take part in a live broadcast on Channel 9!  The recording for that show should be available shortly.

We had 5 fantastic projects in the Coding4Fun area this year:

image
Drinktendr by Clint Rutkas
image
Laser Graffiti by Jeremiah Morrill
image
Goblin XNA by Ohan Oda
image
Wi-Fi Warthogs by Tim Higgins

And what was my big project this year?  A fun little game titled Mind Blaster, a space shoot ‘em up game played entirely with your head!

Mind Blaster

How does one do that? Well…

This past July I found a brain-wave sensing headset from Neurosky called the MindSet.  They are now shipping headsets at $200 each and provide a free …

Read More

PDC 2009

Before and AfterPDC 2009, starting November 17th, is almost upon us and I’ll be heading out to the conference once again with my Coding4Fun/Channel 9 playmates.  Anyone else heading out to the big show?

We won’t be doing a Coding4Fun session like we did last year, but I will have another fun project for people to check out in the Coding4Fun area.  I can’t give out details until after the show begins, but you can probably guess there is a Wiimote in the mix somewhere.  And some spiffy new hardware.  And maybe some XNA.  Look for the details here after the show, and an article with full source code shortly thereafter.

We also have 4 or 5 other developers with their latest and greatest projects, all of which are nothing short of incredible and put mine to shame.  I will likely be doing a compendium Coding4Fun Show with all of this year’s project authors so those not in attendance can see their incredible work.

I will also be hosting a table during lunch on Monday, …

Read More

Facebook .NET Programmers Group XNA Session Posted

NET PROGRAMMERS2bcropSmall2 The recordings for the session I gave on XNA Game Studio 3.0 and the XNA Framework to the Facebook .NET Programmers Group have now been posted.  In this session, I give an overview of XNA Game Studio 3.0 and the XNA Framework while building a simple Space Invaders clone named Alien Attack.  This game is gone into even greater detail with more features in chapter 1 of our Coding4Fun book.

You can find a quick, low-res, streaming version below, or you can download and play the recording at a higher resolution in Microsoft Office Live Meeting.  I had a great time presenting the topic and hope to speak to the group again in the future!


Meeting #13 - Coding4Fun: Designing a Video Game using XNA Game Studio 3.0 from Muneeb on Vimeo.

Read More

Facebook .NET Programmers Group Session on XNA 3.0

image I will be giving a session on Tuesday, June 2nd at 6pm EST to the Facebook .NET Programmers group on XNA 3.0.  This is an online session and everyone is welcome to attend.

Topic: Building a Video Game with XNA Game Studio 3.0
Abstract: This session will demonstrate how to build a very simple 2D game (a Space Invaders clone) using XNA Game Studio 3.0. Attendees will learn how to effectively use the content pipeline, import 2D sprites into XNA, manage input from the keyboard, mouse, Xbox 360 controller and Zune, manage game state, and debug the resulting game. The sample code will be built on a PC and run on the PC, Xbox 360, and Zune platforms when complete.
Date: June 2nd, 2009
Time: 6PM Eastern | 10PM GMT/UTC - Get local event time in your city: http://tinyurl.com/l9hq65
Add to Outlook: http://tinyurl.com/mpp5of
RSVP and Event Details: http://www.facebook.com/event.php?eid=49178981206
Live Meeting Link to join meeting: http://tinyurl.com/ago484

I’ll …

Read More

Head Banger Is Now Available on Xbox LIVE Community Games

xboxboxart Several friends and I work together to write “indie” video games under the brand Ganksoft EntertainmentYou may recall that for Maker Faire 2007, we created a very simple rhythm-based music game (think Rock Band or Dance Dance Revolution) using XNA called Head Banger.

With Microsoft’s official release of Xbox LIVE Community Games with the New Xbox Experience, we decided to blow the dust off of Head Banger, add a couple songs, integrate it bit more with Community Games and XNA 3.0 and release it.  It is now available for purchase for 200 Microsoft Points (or, as with all Arcade and Community games, there’s a free trial) straight from the Community Games section of the Games Marketplace on your Xbox 360.  It will be listed under New Releases for a little while, otherwise you can go to All Games and then the letter H to find it.  Additionally, you can view the official Marketplace page on the new web-based Xbox LIVE Marketplace site.

Please give the trial a go and …

Read More

VSLive NY Sessions Posted

Thanks to everyone that attended my VSLive NY session.  I hope it was informative.  I have posted the slide-decks and source code for both of my sessions so you can tinker with the projects on your own.

Questions and comments welcome, as always.  Thanks!

Read More

Coding4Fun Book News

Now that we have finished writing the book, we finally have an official title and chapter listing.  Someday we may even have a cover.

The title has morphed into Coding4Fun: 10 .NET Programming Projects for Wiimote, YouTube, World of Warcraft, and More and the final chapter listing (not necessarily in this order) is:

  • Alien Attack: Create a 2D clone of Space Invaders with XNA for the PC, Xbox 360, and Zune
  • LEGO Soldier: Create an action game using Popfly with a custom-built virtual LEGO character
  • World of Warcraft RSS Feed Reader: Use WoW's customizable interface to have feeds pop up while you're gaming
  • InnerTube: Download YouTube videos automatically and convert them to a file format for off-line viewing
  • PeerCast: Stream video files from any PC
  • TwitterVote: Create custom online polls on Twitter
  • WHSMail: Build a website with ASP.NET for Windows Home Server that lets you view the messages stored on a computer with Outlook
  • "Wiimote" …
Read More

VSLive! New York

I have been selected to present two sessions at VSLive! New York this September.  Here are the abstracts:

Title: Creating a Simple 2D Game Using XNA Game Studio to Run on a PC, Xbox 360 or Microsoft Zune

Date/Time: Wednesday, September 10th at 3:15pm

Description: This session will demonstrate how to build a very simple 2D game engine and game using the latest version of XNA Game Studio. Attendees will learn how to effectively use the content pipeline, import 2D sprites into XNA, manage input from the keyboard, mouse, Xbox 360 controller and Zune, manage game state, and debug the resulting game. The sample code will be built on a PC and run on the PC, Xbox 360, and Zune platforms when complete.

Title: Interfacing External Hardware Using Managed Code

Date/Time: Wednesday, September 10th at 4:45pm

Description: While developers write code to build software every day, not often are they exposed to code that drives and interfaces hardware. This session will attempt to …

Read More

Head Banger

XNAiconBack in May, I posted about my involvement in Maker Faire 2007.  For one of my projects, myself and several friends, collectively known as Ganksoft Entertainment, created a game from scratch using the Microsoft XNA Framework and Game Studio Express called Head Banger.  It's a rhythm-based music game in the vein of Dance Dance Revolution (DDR) and Guitar Hero.  If you are a fan of either game, or the genre in general, you'll likely enjoy what we've created.  I have posted the game up to our website in both Windows and Xbox 360 flavors.  Sometime soon I will be writing an article that will appear on Coding4Fun on how the game was created along with the full source code of the game.

But, in the mean time, try out the game and enjoy!

Read More

XNA Timing Bug

Update - 12/24/07: This issue has been fixed in XNA Game Studio 2.0.  Woo hoo!

While working on my game for Maker Faire (which you'll be able to download in about a month), I came across a timing bug on the Xbox 360 using XNA.  For an application that requires very accurate timing (millisecond precision), one can use the StopWatch object in .NET 2.0.  This was working quite well in my PC build, but on the Xbox 360 build, I would notice that time would drift with no explanation.  After digging around for a couple days and writing a simple sample to prove the point, I determined that the time value returned by the StopWatch object would drift by about 150ms/minute, which is considerable when precision within a few milliseconds is required (and considerable when it should be accurate to begin with).

I eventually found a workaround:  DateTime.UtcNow.Ticks is perfectly accurate on both platforms.  So a quick rewrite to use this property in all locations …

Read More

Maker Faire 2007

I will be attending this year's Maker Faire with the Coding4Fun gang.  We will have a variety of spiffy projects to play around with, including two I have done:  several "Wiimote-controlled" cars using my Managed Wiimote Library and Microsoft Robotics Studio, and a game written with my Ganksoft Entertainment cronies using Microsoft's XNA Game Studio Express.  So if you're in the San Mateo area, stop by May 19th and 20th and have a gander.  At only $15 for admission, there's plenty to see and do...

More details at (also linked above):

Read More

XNA and 3D Model Exporting

Here's an important safety tip that I wish I knew before the 4 hours I wasted on figuring it out.

When building a model in 3D Studio Max (or likely every other modeling package in the universe), and then exporting it to a DirectX .X file via the Pandasoft X file exporter or kilowatt X file exporter plugins, ensure that the model has no meshes named with a space or period (or likely other characters).  This will cause the XNA importer and DirectX Viewer (or likely every other .X file importer in the universe) to fail with a very informative error like "Parser error" with no further information.

We had a model that was working great.  My artist decided to tweak some things and add some new meshes, at which point the new version of the model stopped working.  At first we blamed it on the new parts that were added, then textures, then the exporter, then....who knows.

Finally, after exporting the original model as a .X and the new model as a .X and …

Read More