Reflections and Moving Forward: 2009 Edition

January 4th, 2010 Michael Klucher No comments

As I write this post it’s still the first week of the new year and while we’re still a thousand years off from living in a world of Laser Tag, I’m quite reminiscent of the previous year and even more excited for the year to come.

The last month of 2009 was a bit weird for me. I was out of the office for most of it due to some surgery I was having (more on that some other time) but December 2009 also marks the first month since we started shipping XNA Game Studio, known as XNA Game Studio Express at the time, that we haven’t shipped a new major version. So what is usually a very busy month getting everything ready to ship to customers, turned out to be a low-key month.

We haven’t been asleep at the wheel though, as I mentioned in my previous post we’ve been hard at work throughout all of 2009. Looking back we had a fair share of releases with XNA Game Studio 3.1 which had some great additional features and the XNA Game Studio 3.1 Zune Extensions for the Zune HD. The year also brought us several new team members, including Zach who is already a better game developer than I could ever be :-)

Moving forward I think 2010 is going to be even better for XNA Game Studio users! 2010 is also starting off to be a really busy year for the team, take a look at some of the events we have lined up for you right around the corner!

  • January through May we’ll be hosting our Developer Talk Series of Webcasts through http://creators.xna.com on various XNA Game Studio topics with several members of the XNA Development Platform team.
  • February 10th and 11th(My B-Day!) we’ll be hosting Microsoft Gamefest 2010 with some great sessions on XNA Game Studio and other Microsoft game development technologies, including Project Natal!
  • February 16th through February 19th is the Microsoft 2010 MVP Global Summit for both or existing and new XNA/DirectX MVP’s! Congratulations to everyone who was recently nominated or renewed!
  • March 9th through March 13th marks GDC 2010. We don’t have our formal agenda set in stone yet but we’ll have plenty of sessions and other great stuff for you to enjoy!

That’s quite a few events to have planned out so early in the year. Of course these aren’t the only things we have planned for XNA Game Studio in 2010, we may have a few additional surprises up our sleeve! If nothing else you’ll learn at some point what my developer session topic will be as opposed to the ominous "TBD". While it’s busy, it’s also a productive way to kickoff the new year and I hope to see you at at least some of the events above!

On that note, here’s to a great 2009 and wishing all of you a happy and exciting 2010!

  • Share/Bookmark
Categories: Blog Tags:

Mission Possible: Blog Updated!

January 1st, 2010 Michael Klucher 1 comment

It took a bit of time, but with some work over the holidays I’ve finally gotten my blog updated and rocking a pretty nice theme! While I really wanted to stick with a .NET engine, I ended up using Wordpress because it has a lot of themes and some great plug-ins. I also caught them during the PDC keynote so it made me feel even better!

I also took the opportunity to move to IIS7 and the upgrade seems to have gone without a hitch. You’ll also find that all the posts were migrated over thanks to the great post over at JefTek. If you see any problems with them, please drop me a comment and let me know!

So what does this mean? I hope that 2010 will bring some more frequent postings from me  now that I can blog without trying to keep the site constantly running correctly or working around theme issues! The upgrade caused one minor shortfall in that if you use RSS to read my blog you’ll now want to point to http://klucher.com/feed as opposed to the old URL. I realize the irony in that those who only use RSS to read my blog may not see this for a while. If you do catch this please help spread the word, it would be greatly appreciated!

Thanks and I’ll be posting more very soon!

  • Share/Bookmark
Categories: Blog Tags:

No Seriously, I’m Still Here…

October 19th, 2009 Michael Klucher Comments off

Time is a funny thing, a week goes by and everyone keeps plowing through work. One week becomes two, then a month, then you look at your neglected blog and realize that it’s been two months since you posted something on it. Sure it could be argued that all the cool kids use Twitter anyway, but once and a while you still need to say something longer than 140 characters.

All of us on the XNA Development Platform team are keeping busy as always. We’re working, thinking, dreaming, and the occasional viewing of pictures of Rhys in all types of interesting ways through the XNA Framework. It keeps me busy, so sometimes getting everything I want to write down falls to the backburner. If you have interesting topics that you’d like to hear about, drop me a line. Most of the time my silence on the blog is just because I’m not sure I have anything interesting to say!

One of the other things on my “blog to do” list is to try and get a decent theme running on my site, sadly this means that I also need to look at a new blogging platform as the support for GraffitiCMS has veered off a bit in the last year and there simply isn’t that much community support for it right now. I’m of course I’m trying to stick to the .NET platform so I’ve been keeping a close eye on Oxite and Atomsite. Oxite seems still pretty early in development, but looks really promising! Atomsite also looks a bit early in development but seems deployable and has a lot of neat features. The biggest blocker for me is that I’m not a CSS expert and there really aren’t any blogging themes available for either platform yet. Maybe I’ll spend some time putting something together, but without really good CSS knowledge I’ve been struggling at the simplest of tasks. If you have any ideas around this stuff, or maybe a great .NET blogging platform with a lot of themes available let me know!

Finally while these could easily be tweets there were a couple of random pieces of XNA Game Studio related news that was passed our way that I wanted to make sure everyone knew about:

  • NxtGenUG (A UK based XNA user group) is holding a “NxtGenUG XNA Day” event for £10 that includes a day of sessions built around game development in XNA Game Studio. Find out all the details here: http://www.nxtgenug.net/ViewEvent.aspx?EventID=246
  • Don’t forget that Gamefest 2010 is going to be here faster than you think! Head to http://www.xnagamefest.com/ where you can sign up to be notified when we start the registration process!

Again, Shoot me your ideas, questions, etc and give me something to write about. It’s a great way to pass the time and be productive!

  • Share/Bookmark
Categories: Blog Tags:

RPG Programming Using XNA Game Studio 3.0 in Stores!

August 2nd, 2009 Michael Klucher 2 comments

41313575

Last weekend I took a trip by my local bookstore and found that Jim Perry’s latest book: “RPG Programming Using XNA Game Studio 3.0” is shipping and most likely on the shelf of your local bookseller as it was at mine.

The book’s release is pretty special for me in that Jim was kind enough to ask me to write the forward. If you take a look at the cover it’s called out at the bottom, which is something pretty incredible. No don’t worry, I don’t have any delusions of grandeur about my role in the process and it’s only a page or two worth of text but the fact that I got to be involved at any level with a published book is amazing and something I’ll keep with me for a long time.

Back to the real stars of this post though: Jim and the book. If you’ve been interested in programming RPG games (Who isn’t!?) and/or also learning about XNA Game Studio, give the book a read, or you can view the Table of Contents if you want more info. One of the things I really liked about the concept when I first heard about it is using something genre specific to teach users XNA Game Studio. That way if you’re really into RPG’s you can use this as a great way to learn XNA Game Studio and work on something that will keep you interested all at the same time! I really think it’s a successful methodology.

I hope you enjoy the book and of course the forward too! :-)

  • Share/Bookmark
Categories: Blog Tags:

Updating XNA Game Studio Connect (3.1 Edition!)

June 10th, 2009 Michael Klucher 3 comments

Upon the release of XNA Game Studio 3.1 you’ll be required to upgrade XNA Game Studio Connect on your Xbox 360 in the same way as moving between XNA Game Studio 2.0 and XNA Game Studio 3.0. This new version of XNA Game Studio Connect works with all releases of XNA Game Studio except XNA Game Studio Express (aka 1.0).

Once XNA Game Studio 3.1 has been released (if you’re anxiously waiting, make sure to keep an eye here, here, and of course here) the next time you run the 3.0 version of XNA Game Studio Connect you’ll receive a Title Update which will disable that version. It will also instruct you on how to upgrade by deleting and re-downloading the program from Xbox LIVE. When you run the old release from then on you’ll see screenshot below:

SplashScreenSmall 
You don’t need to run the old version and download the Title Update once 3.1 is available, you can just delete the old version of XNA Game Studio Connect and download the new one. Need some help doing that? Simply follow the instructions I’ve included below!


Step 1: Delete the Old XNA Game Studio Connect

First, you’ll want to remove the old XNA Game Studio Connect from your Xbox 360 console. If you don’t, it may try to start when running a game, which would then tell you that you need to upgrade—even if you already have the new version on your console.

  1. On your Xbox 360 console, navigate to the Games Library and then select Community Games.
  2. Select XNA Game Studio Connect from the list of games. From there, select Delete Game. You do not need to delete any of your games.

Step 2: Re-download the New XNA Game Studio Connect

Now it’s time to get the new XNA Game Studio Connect. To do this, follow the process you used to download it the first time, described below.

  1. On your Xbox 360 console, navigate to Game Marketplace, then select All Games.
  2. Select XNA Creators Club, and then select XNA Game Studio Connect. You should see the option to Download Again. Select it, and wait for the download to complete.

That’s all there was to it! You’re now ready to use XNA Game Studio 3.1 with your Xbox 360! If you have any trouble please stop by our XNA Creators Club forums and let us know!

  • Share/Bookmark
Categories: Blog Tags:

Ziggyware is Growing and You Can Help!

June 6th, 2009 Michael Klucher Comments off

If you’ve visited Ziggyware in the past, you probably already know this but I think it’s an excellent site for XNA Game Studio news, tutorials, and general information in the XNA Game Studio Community. The site also has a series of running contests that involves prizes for some of the top tutorials submitted.

The site is currently looking to grow by adding new features as well as keep the contests going at a steady pace with some great, attractive prizes. With those goals in mind, Ziggyware is currently holding a donation drive to help cover some of the costs of running the site and contests. If you’ve found the site to be useful stop by today and learn more about how you can help from this link. While visiting make sure to check out the latest round of contest winning tutorials and brush up your game programming knowledge a bit!

  • Share/Bookmark
Categories: Blog Tags:

Game Development Program of the Week – PSD Plugin for Paint.NET

May 16th, 2009 Michael Klucher 2 comments

It’s been way too long since I’ve posted anything. I got thrown out of my rhythm when I was away speaking at the Foundations of Digital Games 2009 Cruise for most of the week. While I’ll have more on that in another post, I did manage to catch a program, or more appropriately, plugin to pass on for this week.

Game Development Program of the Week Disclaimer:
This posting is provided "AS IS" with no warranties, and confers no rights. By providing links and recommendations to any third party programs, I am in no way vouching for the programs security, safety, stability, or any other functionality intended or not intended. You are downloading and using the program completely at your own risk! Please take appropriate precautions when downloading any un-trusted software!

As you may know I’m a huge fan of Paint.NET, I’ve posted about it a long time ago but if you’re not familiar with it Paint.NET is a free (again donations are encouraged if you use the program) imaging/graphics tool for windows that is very feature rich and easy to use. It can easily be used to create artwork for use in your game and supports many of the type of features you would only expect in high end commercial packages.

If your getting art files from others at some point you’ll come across .PSD files. These files are the native file format used by Adobe Photoshop, and tends to be one of the standard array of programs people use with game development. I often find myself with a lot of a PSD files, but only have one copy of Adobe Photoshop, where all of my other machines are running Paint.NET as it’s such a great tool. Thanks to a post that I came across at Lifehacker, they pointed me to a PSD plugin for Paint.NET that allows you to open/save PSD files into Paint.NET. While from it’s page it looks like active development has stopped it still supports quite a few features:

  • Support for layered PSD files
  • Support for an array of color modes
  • Save back out a PSD file

Both the binary and source for the plugin are available, so depending on the license the plugin was released under you might have the opportunity to fix it up and provide it to others if you encounter issues. It’s a great way to quickly and easily open up PSD files and use Paint.NET to tweak them and then export them to file format that is compatible with XNA Game Studio. The download links below will get you set up with Paint.NET and the PSD plugin. I’ve also included a link to the plugin announcement forum for Paint.NET if your looking to further extend the functionality of the program.

Downloads:

Paint.NET is available from: http://www.getpaint.net/

The PSD plugin is available from: http://frankblumenberg.de/doku/doku.php?id=paintnet:psdplugin

Also visit the Paint.NET plugin forum (find even more ways to extend Paint.NET!): http://paintdotnet.forumer.com/viewforum.php?f=16

Enjoy and keep checking back for more programs that make game development a little easier!

  • Share/Bookmark
Categories: Blog Tags:

Game Development Program of the Week – XRECODE

April 24th, 2009 Michael Klucher 2 comments

XNA Game Studio provides several great features to enable easy game creation, but we may not do everything you need to produce a game. I’m always keeping an eye on sites and trying out programs that help make game production easier, more productive, or even more creative when it comes to developing games and using XNA Game Studio. Since I’m always on the lookout for these programs, I thought it would be cool to put together a weekly blog post that points to a program that may help you be more productive in your game development process.

Keep in mind that while I am letting you know about these programs, I am in no way vouching for the programs stability, safety, security or any other functionality intended or not intended. You are downloading and using the program completely at your own risk! Please follow safe computing practices when downloading any un-trusted software!

imageThis week’s program was spotted on Download Squad and is called XRECODE. XRECODE quickly and easily converts audio formats individually or in batches. This is especially useful if you need to convert to a supported format so that the data can be imported into XNA Game Studio or used with the XACT tools. XRECODE supports a lot of features, but here were some of my favorites:

    • Supports a large number of file formats: MP3, WMA, OGG, APE, FLAC, WavPACK, AAC, ALAC, and WAV.
    • Will extract audio from several movie file formats.
    • Command line support. You could write an XNA Framework Content Pipeline importer that invokes XRECODE and make the conversion part of your game build!
    • Freeware! You should think about hitting up the donate page though if you integrate it into your workflow.

It’s simple to use and can get you out of a jam when you have audio that you need to get in a different format. You can check out more about XRECODE and download it from this link.

Hope you find this program (and the coming series of posts) useful, if you have an idea for another program that should be featured, please let me know about it and maybe it will be the star of next weeks post!

  • Share/Bookmark
Categories: Blog Tags:

Video Support in XNA Game Studio 3.1

April 17th, 2009 Michael Klucher 13 comments

VideoIconWith XNA Game Studio 3.1 ever approaching I wanted to talk about one of my favorite features in the new release, video support! While we haven’t gone into too much detail on exactly how things will work here’s what you need to know.

What will I be able to do with video in XNA Game Studio 3.1?

  • Take video processed through XNA Game Studio and play it back full screen, this can be used for things like cut scenes, animated logos and intros.
  • Take video processed through XNA Game Studio and apply it as an animated texture, even on 3D geometry.

What won’t I be able to do with video in XNA Game Studio 3.1?
Even with those great features, we may not support all the scenarios you can think of yet. In XNA Game Studio 3.1 you will not be able to:

  • Initiate playback of Video files already on the Xbox 360 (All contest must be in your game’s container, as you cannot enumerate the video on a user’s console).
  • Stream video from a computer, or Media Center.
  • There is no option to seek through video for playing back small sections in a larger video. You can pause and resume however.
  • Video playback support only works on the Xbox 360 and Windows platforms.

Importing Video
To import video, your video must first meet a couple of requirements, which I’ve listed below.

  • The format must be Windows Media Video, Series 9 using the “Main” profile. This profile defines several sub formats. You can grab the encoder for Windows Media Video at this link.
  • The maximum video resolution supported is 1280×720
  • The video and audio streams must be encoded at a constant bit rate aka (CBR)
  • Only unprotected, non-DRM content is supported.

If you’ve got video that meets that criteria your ready to go, if not use the encoder link and re-encode the video so it’s in a compatible format. Once you have your video file you add it just like you would any other XNA Game Studio Content.
image

Rendering Video
Now that video has been imported into your project, we’re ready to play it back! First thing we need to do is create the types to hold the video data and the class used for playing back the video:

We have two objects, Video (used to hold the video data) and the VideoPlayer used to control the playback of the video in our game. You can see that we’ve created the VideoPlayer inside the constructor for the game.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
// Create the variables needed to hold and play back my video.
Video myVideoFile;
VideoPlayer videoPlayer;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
// Create the VideoPlayer
videoPlayer = new VideoPlayer();
}


Next we need to load the video for playback, this is simple enough in that it’s loaded just like any other XNA Game Studio content from the XNA Framework Content Pipeline:

protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
// TODO: use this.Content to load your game content here
// Load in my video file (just like any other content!)
myVideoFile = Content.Load<Video>(@"Bear");
}

Now that we have the video loaded we’ll want to start playing back the video, in this particular case I’ve wired up playing the video to pressing the “A” button on the Xbox 360 controller pressing “B” stops the video. You’ll see that the playback is controlled through the VideoPlayer object in the code below. Note that I don’t need to worry about calling Play/Stop if the video is already in that state as it won’t harm anything.

protected override void Update(GameTime gameTime)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
// TODO: Add your update logic here
// Start the video playback when the user presses A
if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)
{
videoPlayer.Play(myVideoFile);
}
// Start the video playback if the user presses B
if (GamePad.GetState(PlayerIndex.One).Buttons.B == ButtonState.Pressed)
{
videoPlayer.Stop();
}
base.Update(gameTime);
}

Finally let’s draw our video to the screen. In this case I’m simply using SpriteBatch to draw the image. As you can see we’re just getting the texture data using VideoPlayer.GetTexture() and displaying it to the screen. In the example below I’m just playing back the video in its native resolution, I could stretch the video and/or play it back full screen by using the GraphicsDeviceManager.GraphicsDevice.Viewport.Width and GraphicsDeviceManager.GraphicsDevice.Viewport.Height properties.

protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
// Render the video in it's orginal resolution to the screen using SpriteBatch
spriteBatch.Begin();
if (videoPlayer.State == MediaState.Playing)
{
spriteBatch.Draw(videoPlayer.GetTexture(), new Rectangle(0, 0, myVideoFile.Width, myVideoFile.Height), Color.White);
}
spriteBatch.End();
base.Draw(gameTime);
}

The audio playback from the video is handled automatically, and can be muted by setting the IsMuted property on the VideoPlayer object. You can also turn on things like looping (through VideoPlayer.IsLooping property) so the video plays back continuously, but keep in mind that there is a slight hitch when the video restarts.

That’s it! If you’ve added the code to a new XNA Game Studio for Windows or Xbox 360 project you should see something like this when you start the video:

image 

Bonus Round: tips & tricks to keep in mind

As you implement video in your game here are a couple of things to keep in mind, think of this like a “best practices” for video support.

  • Calling VideoPlayer.GetTexture() will return the latest decoded frame in time. This means that every time it’s called you have the potential of getting a new image. If you have a game where you want to display more than one copy of the video on the screen, make sure that your only calling VideoPlayer.GetTexture() once, then holding onto that data when using it multiple times. This will ensure that your video stays perfectly synchronized while drawing your frame.
  • Because the video data is treated like Texture2D data, you have the ability to use effects on it when you render it on screen!
  • If you’re mixing music playback and video playback, you’ll want to have a look at the VideoSoundtrackType class. This will allow you to easily play back music while muting the music from your video if needed.
  • Higher resolution or bit rate video means you’re incurring a higher CPU cost to decode it. Don’t use ultra high resolution video for something that’s not playing back full screen. Make the appropriate decision of how it will be seen by the player.

Wrapping Up!

I hope this gives you a good idea how to use the upcoming video functionality in XNA Game Studio 3.1, again this is one of my favorite new features and am looking forward to seeing some great video functionality in your games soon!

  • Share/Bookmark
Categories: Blog Tags:

Autodesk Softimage Mod Tool 7.5 Available Now!

April 17th, 2009 Michael Klucher 3 comments

Catching up on my news from Ziggyware this morning, I noticed that the Autodesk Softimage Mod Tool 7.5 is now available for download from the Autodesk Softimage Mod Tool website!
modtool75_fx_shadersSome of the new features in 7.5 include:

  • Support exporting to Microsoft XNA Game Studio 3.0
  • Free Training by Noesis Interactive – Character Creation for Microsoft XNA
  • New real-time shading API for WYSIWYG shader development
  • Interactive Creative Environment (ICE) – visual programming
  • Supports Windows Vista operating system

Even if you’ve tried the Mod Tool before, there are some really great enhancements to this version that make this worth checking out. So head over to the site and give it a download!

  • Share/Bookmark
Categories: Blog Tags: