We interview Michael Klucher, one of the Program Managers on the XNA Community Game Platform team. Michael offers many interesting insights, including his connection to an animated TV show!
Q: Let's start off easy: What is your current role on the XNA Game Studio team and what did you do before joining the team?
Sure! I am a Program Manager on the XNA Community Game Platform team. Specifically, I work on a few feature areas across the XNA Game Studio product such as the XNA Game Studio Device Center, XNA Game Studio Connect on the Xbox 360, and most recently worked on getting XNA Game Studio running for the Zune media player.
Before joining the XNA team at Microsoft, I worked as a Tools Engineer for Rainbow Studios. They make games such as MX Unleashed and Splashdown: Rides Gone Wild. Many people on the team also like to joke with me because I also have a credit for working on Britney's Dance Beat, but it was fun to work on! Before that I worked in the Animation division at Rainbow Studios as an Artist/Technical Director on animated television shows, such as Roughnecks: The Starship Troopers Chronicles.
Q: What kind of things does a "Program Manager" do on the XNA Game Studio team? Do you write any code yourself?
The Program Manager position at Microsoft is pretty interesting; one of the main goals of a Program Manager is to balance the business needs of the company and the customer needs of the product. Program Managers are ultimately responsible for making sure that their features, usually subsets of the product, make sense and aren't frustrating to use. The funny thing is that you've probably run into frustrating features in Microsoft products before, maybe even some in XNA Game Studio. This is where the first part of "business needs of the company" comes in to play. You have what you believe to be a great feature, but you must ship your product within a certain amount of time that doesn’t allow you to make your feature as awesome as it can be. So the Program Manager has to cut things back and make sure you have the proper plan to make it better in the next release and not so horrible this release that people don’t even want to try the next one :-) It's a great balancing act of delivering what people want.
We also do a lot of listening and talking to our users, collecting data, as well as tracking the overall health of where we are in the product cycle. It's a very cool job but doesn’t really focus on writing code. Sometimes we do but it's more in line with making sure that features we have designed work and feel like they should. It's really about focusing on problems we need to solve for the customer and making the experience great. If you ever feel that we're not, let us know!
Q: What kind of challenges did you face when looking at getting the XNA Framework on Zune?
We ended up taking a different approach developing XNA Game Studio for Zune than I think many people would have taken. Instead of looking at the XNA Framework and thinking "Okay, what subset do we want to make available on Zune." We actually designed each feature area from the ground up, by asking what type of functionality do we want for graphics, input, sound, media, and networking. Once we came up with the functionality we wanted to provide, we looked at how we could map that back to existing XNA Framework functionality and APIs.
When APIs weren't available for functionality we wanted to add, we designed them in such a way that we could make them available on Windows and Xbox but they really make Zune shine. A good example of this is the set of media APIs that allow a user to interact with the music on Zune, and leverage it in interesting ways in your game.
The biggest challenge was probably getting everything we wanted to done. It started off as a very small project of about three or four people; it grew to about eight, which may sound like a lot, but it was challenging to finish everything that we wanted to get done. We also had to balance this against other features that the same people needed to get done for XNA Game Studio 2.0. In the CTP that's released, most of the functionality we envisioned originally for Zune is available, though there are a few more things coming.
Q: Now that the Zune work is in full swing, what surprised you the most about creating games on Zune?
I think we were all quite happy in how many people inside Microsoft have enjoyed writing games for the device. As we've mentioned before in presentations, we understand that the Zune player isn't a gaming device like many of the gaming devices that exist on the market today. Even though we've seen some amazingly creative games that take advantage of the unique capabilities that Zune has to offer.
When we shared our first stable builds with other employees inside Microsoft, a lot of people mentioned that they felt comfortable with Zune because they weren't overwhelmed with its capability like they were with the Xbox 360. This was interesting because when I tend to develop with Zune, I feel the same way. I like that it's a 2D device and that I can focus on things like coming up with good gameplay or unique ideas and not worrying about the complexity of 3D. I tend to like 2D as well as games that you can play on the go, and it's good to know I'm not the only one.
It was really nice to see that people were coming up with original ideas and games for Zune. We were certainly worried that we were going to get a bunch of games ported from other mobile device, but as I mentioned above, the people who've really starting designing their game with media integration or other cool Zune-specific features in mind.
Q: Let's turn our attention to XNA Game Studio. What do you think is the "best kept secret" about XNA Game Studio and why?
Wow, that's a good question! There's probably a thousand different things I can think of, but I think that people don’t always get a clear picture of the amazing community and education infrastructure that's built around XNA Game Studio.
A lot of times people want to get started with XNA Game Studio, but there not sure where to go and what to do. Our documentation was really built with this in mind. There is so much great information in there, like special sections called "How To," which have code that answers questions like "How do I draw a sprite?" or "How can I animate my sprite?" These are set up to where you could actually put different snippets of code together to build your game. I think they tend to be underused. We also have a lot of samples on this site that once you've got the basics down you can learn more. We try to do these based on feedback, so if users have ideas for them they need to let us know!
I also really think that that many people don't realize the significant community that exists behind XNA Game Studio. We have our forums where users can share information about all topics of Game Development, not just programming. Additionally, there are many great user-created communities like ZiggyWare and GameProjects where a lot of people share games and information. Users can also hop on EFNet (IRC) to the #XNA channel and chat with other XNA Game Studio users! It's a really close knit community that people can leverage to learn more about game development and XNA Game Studio.
Q: Besides XNA Game Studio, are there any other tools you personally use when writing games?
I don't know if I can answer this question without sounding like an infomercial. My tool arsenal for games includes:
OneNote: I love OneNote. Not only does it easily allow me to jot down game ideas and notes, it has really nice screenshot capabilities. It really comes in handy!
Paint.NET: I use Paint.NET for a lot of the graphics that I end up creating; sometimes I find myself still loading up Photoshop when I want to be really advanced, but Paint.NET is great!
Audacity: One of the better sound editors, and very easy to get started with.
Those are pretty much what I use when doing anything XNA Game Studio related. If you’re wondering about 3D, I've pretty much used everything under the sun when it comes to 3D software. I tend to stick between 3D Studio MAX, Maya, and Softimage, just because I am familiar with them back from my previous work when I did animation.
Q: Are you seeing more and more professional programmers doing development using XNA Game Studio?
We hear this a lot. At the game developers conference, many people we talked to in the core game industry mentioned that they use XNA Game Studio for prototyping their game ideas and using XNA Game Studio to cut costs around game development. We're also seeing some games like Schizoid and Rocket Riot starting to emerge on Xbox LIVE Arcade that were developed by third parties using the XNA Framework. While we expect these type of releases to be somewhat limited, there are avenues for professionals.
What's really awesome is with the introduction of community distribution, professionals have an avenue to make their game available to the world. This gives everyone—professionals and hobbyists alike—to make their games available to the world.
Q: Almost all game developers are gamers too, so it's time to confess...which game do you spend the most time playing in your free time?
Grand Theft Auto 4 is going to take a lot of my time over the next several months. I really like "sandbox" style games that have started popping up, Crackdown and Saints Row included. At the other extreme, I've found myself becoming more and more a casual gamer playing games for a few minutes at a time off of Xbox LIVE Arcade.
At heart, I'm a bit of a retro gamer. I love playing games that I played as a kid on my NES, Super NES, and of course the computer. My best friend and I would spend countless hours playing the latest Sierra or LucasArts adventure game or just about any platformer game on a console.
It was this that led me down the path of getting into the games industry. One time after e-mailing the then Sierra Online support and getting a reply, you could tell how they set up their e-mail addresses. At the time, one of my favorite adventure games was Leisure Suit Larry 5. I think I might have been a tad young to be playing it, but it came with Rise of the Dragon and Red Baron. This and another adventure game at the time, Manic Mansion, sealed the deal as far as what I wanted to pursue in my career.
I had no clue where or what to start doing, so I took my e-mail engineering skills that I got from the support address and e-mailed Al Lowe, who created Leisure Suit Larry. I asked him all about getting into the games industry and how he succeeded, etc. I was pretty surprised when I got a reply back from him. He mentioned that he had come from the teaching industry, so there was no "magic path" to becoming a game developer. He mentioned to play through my favorite games and tease apart the stuff that made me want to come back and play the game again, then incorporate the "good stuff" into my own games.
He doesn’t know me or anything, but Al's advice kept me wanting to create games, and I'd pass that advice on to anyone in a similar situation starting out with XNA Game Studio. Think about what's fun to play and incorporate it into what you create. It’s a safe bet that other people will like it, too! If someone ends up putting together a cool adventure game with XNA Game Studio, make sure you let me know about it!
Since this is the last question, I'll say one of the hardest things to do is actually finish your game. I would encourage everyone not to give up and to drive through, because there's really no greater reward in game development than having someone play a game that you put together and enjoying it themselves.