Chatting with Mark Coffman
Today, I’ll bring you something different. I was fortunate enough to catch Mark Coffman, the founder of xbox360homebrew.com on MSN, and got him to sign up for an email interview. This is the result:
Let’s start off simple. Who are you?
I’ve been part of the “Internet” community since around 1994, back when people were connecting with SLIP more often than PPP.
While in college at the University of Central Florida, I joined a friend to build Epilogue.net. Epilogue is a community of thousands of digital media and traditional media artists. Because entry to the community is based on artistic talent and judged by other prominent artists, the quality of the galleries in the community is much higher than others like it. Epilogue was my first true venture into creating a web community, and I sharpened my programming skills while working on it.
That’s cool. I actually used Epilogue.net for an old, unfinished, project of mine. It was a great resource, and I’m happy to meet its “father”.
Since Epilogue, I have gone on to create another digital media community, windowsphotostory.com. This site provides help and tutorials for digital photographers to turn their still photos into movies and slide shows. It is amazing software and a joy to work with. The community response to the tutorials was very positive but many wanted more out of PhotoStory. I took their feedback and created my own add-on utility called TweakPS, which provides functionality that is not available in the core product.
In 2005, I was awarded with the Microsoft MVP award in the Digital Media category for my contributions to the digital media community. From Microsoft’s MVP site:
Microsoft’s Most Valuable Professionals (MVPs) are recognized, credible and accessible individuals with expertise in one or more Microsoft® products who actively participate in online and offline communities to share their knowledge and expertise with other Microsoft customers.
Shortly after Microsoft announced that XNA Game Studio Express would ship, I started xbox360homebrew.com to see if I could contribute to the software developer community as I had done with the Digital Media community. It seemed to have traffic instantly, but that reflects more about how exciting the XNA technology is than it does about my site. It has been extremely enjoyable running, and I look forward to see it grow in the future.
As great as 2005 had been, nothing could have been more exciting than marrying Lisa in September. She lets me be the geek that I am and she still loves me! I couldn’t have asked for a better woman.
I have been working as a System Analyst / Programmer at Kissimmee Utility Authority since June 2005 and worked as a programmer for their GIS division prior to that. KUA is unique as it places a high value on training and community involvement in its programming staff.
I noticed that, why do think there are two MPVs there?
It really doesn’t surprise me that there are two MVPs here, and I think it speaks highly of both the MVP program and of KUA. If only more companies encouraged their employees to continue their involvement with the community as part of their “recreational” time at home!
Do you hang out at any other places online?
Outside of the previously mentioned sites, I do have a few more, but none are ready to be promoted. If you’re going to create a web site, you’ve got to be willing to put in the time and effort to make it valuable to your visitors, to give it a purpose. It’s better to keep things under wraps until they are ready to be shown to the world.
I will say that once your game videos, photo stories, or other videos are ready for DVD, you need to check out Windows Vista’s DVD Maker.
I think I understand what you’ve got up your sleeve. If I’m right I’m really looking forward to it.
You seem to have a flare for the artistic side of XNA, considering your other websites and your MVP award, but also with your XNA audio tutorials. Is the art-side where your real passion lies, or has XNA changed that?
XNA is certainly an exciting technology. But my passion lies in both digital media and XNA. If you think about it, they go hand-in-hand. I mean, not everyone who loves digital media wants to get into the guts of a game and do some coding, but I think they can appreciate a beautiful-looking or -sounding game. And to make a great game, XNA needs great digital media to pass through the content pipeline.
So, while XNA hasn’t changed my passions, it has focused them. I want to use my artistic talents and combine them with my software development talents to create something that even my non-geek friends can appreciate.
If you’re anything like me, you can’t sit in front of the screen all day. Personally, I love being out in the woods, preferably fishing or hiking. Back in Sweden, big-game paintball events rule, and I’ve been to the odd LARP event as well, but mostly because I like the woods. What are your “real life” hobbies?
In the winter in Florida, paintball, like you. It gets cool enough so that your mask doesn’t fog up, and you don’t die of heat exhaustion. It’s a fun game and really gets your adrenaline going. In the summer, wakeboarding. My sister bought a boat a few years ago, so I went out and bought a wakeboard. I love it. It’s a great way to cool off.
More than anything I love spending time with people. Most important to life is not the things you acquire, but the friends you acquire.
Which computer, all those years ago, got you hooked? Which game was it?
Radio Shack’s TRS-80, Color Computer 2 and Color Computer 3. I started with an upgraded TRS-80 with the Chicklet keys (seen on the Wikipedia page). It was gray and ugly and I think I was lucky enough to have 64k in mine. It was given to me by my mom’s uncle, and I spent a whole summer when I was 11 copying BASIC code from a book to the computer, “debugging” and playing it. I’d save it out to a cassette tape when I was done.
The game? Clowns and Balloons. It was like Arkanoid but with gravity. And instead of a ball, you had a clown. Instead of a paddle, you had a trampoline. What’s not to like?
Did you move on to anything more advanced? I mean, did you do any game development before XNA?
My first games were in BASIC on the Color Computer. I started coding some door games for BBSs before everyone had the Internet. I wrote a COLUMNS clone and a Pac-Man clone (with a map editor). The graphics were 8 color ANSI. Good stuff. I also made an adventure game using the RIPscrip graphics protocol.
So you didn’t exactly start with C#. What is your “native” computer language? Why did you jump to C#?
Native, I guess you would say C. But you could also say BASIC because of the Color Computer days. Or Perl, which I used to code Epilogue.net. I moved to C# because it feels the best. It does what I would expect, in a clean way, and it can be as powerful as you are willing to let it.
I asked for (and got) Tricks of the Windows Game Programming Gurus for Christmas while I was in college. It was the first of many game programming books that I’d go through. I read a lot of them when I should have been studying other subjects at college, but coding games was just more interesting.
Managed DirectX was interesting, but surprisingly I didn’t find enough about it to excite me any more than what I read in LaMothe’s book (which used unmanaged C++). I did start on a port of the board game Acquire to MDX. That project was never completed.
Yes, the beginnings of MDX were a bit slow. I guess XNA is Microsoft’s attempt to pull MDX up to the level it deserves.
I think the fact that I could use C# and XNA and get the same code for Windows working on my console was enough to excite me again. It’s a sum-of-the-parts thing. Without the success of XBLA and the Xbox Live community, I don’t know if we would see the same buzz surrounding homebrew XNA that we’re seeing now. But we do have XBLA. We have a close-to-perfect console. Most importantly, we have a community.
What does your software suite look like?
I mostly use Adobe Photoshop CS, Microsoft Expression Designer, and Paint.NET.
I’d say I use similar tools almost more than XNA itself.
XNA takes all of the boring work out of the development cycle. When you spend more time thinking about the title of your game than the graphics device, that’s a good thing. We won’t know just how big of an impact XNA is going to have on the game development process with respect to the industry until we see XNA titles appear in the Xbox Live Arcade. I have a feeling a few “homebrew” developers are going to be in the right place at the right time for their career.
Will you produce any homebrew yourself? I mean, do you have a secret XNA project you haven’t announced?
Yes. Unfortunately Burger King beat me to it.
Why did you choose to make an XNA community site, as opposed to just working on your homebrew bumper car game by yourself?
I made the website because I love gaming and I love developing. I love helping others. I don’t pretend to be the best out there, but in order to teach, you have to learn. It’s a win-win for me.
I could say xbox360homebrew.com is for the community and for the beginning developer with an interest in games, because it is. But I wouldn’t have done it if it wasn’t something I liked. So I guess its for me, as well.
One purpose of xbox360homebrew.com is to show you that you can create games for a real console. It doesn’t have to be hard. It doesn’t have to be the product of a huge development team. It can be done from start to finish by one person, and that person can have fun doing it.
But XNA would survive without this site. There is no need for this site. Hopefully, there is a desire for it, but there are plenty of other resources out there that do just as good a job if not better. I hope to meet the people who run those fine sites some day.
Why was the competition so well received?
It gave people that extra incentive to complete a project. Some of us know our limitations and need some deadlines, rewards, recognition, and feedback to tell us that our efforts were not a waste of time, but valuable and interesting. Especially when there is no paycheck at the end of the week. I think this competition provided that.
Yes, open source and community websites make many projects transparent. Sometimes published code follows all the standards. Other times, like my code, it’s pure rubbish. (c: I think this transparency could limit what people “dare” to publish.
Yes, I think there would be many more tutorials out there if people weren’t afraid that they would be showing people their mistakes, cheats, or “guesses.” I would recommend people go for it. The worst that can happen is someone points out a mistake that you made so that you can correct it.
None of us were born knowing how to code for XNA GSE. Anyone who tells you that is either lying or less than 2 years old. And who is going to let a 2-year-old keep you from writing that tutorial?
On a tangent note, blogs can either replace commercial news channels, or augment them. Will there be parallels to this in the gaming industry?
You will always have your “authority” outlets for media that you’ve learned to trust. Some trust CNN, others trust FoxNews. Some trust the Drudge Report, others the Huffington Report. Reputation is earned based on past performance. I think in the news world, bloggers have held journalists to a higher standard.
Similarly, I think the XNA community will hold publishers to a higher standard, while producing a wide range of games in terms of quality.
Blogging software has changed the way people receive news. Will something similar happen to the way people receive their gaming entertainment?
Subscribing to actual gaming channels where you receive all new XNA sports games or new XNA driving games released to the community would certainly be interesting. I think a lot of people already subscribe to gaming blogs for their games-related information.
Hobbyists are increasingly catching the eyes of venture capitalists. Could this affect the kind of output we see from the XNA community? Will people focus their projects to become purchasing demos, instead of something they do for the love of it, as in corporations hijacking the spirit of the “movement”?
While that can happen, I think XNA has a secret weapon that can help defend against it. Unfortunately, the movie industry and the commercial gaming industry has been stuck in the past decade placing their bets on the “sure thing” all too often. That’s not to say that a “sure thing” is always a bad thing, just a lot less exciting. How many times has a television series been turned into a movie? A television series been spun off to more flavors of the same thing?
But the secret weapon that I was talking about is the low-cost-of-entry that XNA provides. A single developer can put his/her idea out there for next to nothing. They can get it onto the console for as little as $49. Because of this low cost-of-entry, we are going to see all kinds of crazy ideas for games, many of them very fun, but most of all, fresh.
Why do you think Microsoft is releasing XNA for free, and the subscription being so cheap? I mean, are we beta testers of the professional version, or are they just nice guys?
First off, they are nice guys. I’ve met a lot of product managers and development teams at Microsoft. These guys are very cool to hang out with. But I don’t think that the fact that they’re nice guys has anything to do with it.
You’ve heard it said that Microsoft wants XNA to help bring to the XBLA what YouTube brought to the Internet. Community-created content. YouTube has made stars out of Joe VideoGuy and XNA is going to make some homebrew developers equally popular within the community. Fun doesn’t have to be backed by multi-million dollar budgets. Just a good idea, and a little effort.
Do we still have a say in shaping XNA’s path, despite it being free?
One thing I have learned from being an MVP is that Microsoft truly cares about the feedback they get on their products, and XNA is no different. Be outspoken and polite when you have concerns. They’re listening.
What would you personally like to see in XNA Game Studio Express 2007?
Support for the Live Vision cam. Support on the console for the mouse in-game.
What’s next at xbox360homebrew.com, after the competition?
If I told you, that would mean I knew for sure myself, so I won’t tell you.
Finally, what question would you like to ask the community?
Cheers!
Joran
Fourth Pack of Tutorials
I’ve made a beta of a download page, where you can access all of my video tutorials. Let me know if you have an idea for a better layout.
I’ve put up both WMV videos, and SWF videos.
The WMVs are for Windows Media Player, and are the ones you should use - the file sizes are smaller, the quality is better.
The SWFs are in Macromedia Flash format, and are mostly an alternative if for some reason the WMVs don’t work for you - I’ve had requests from Macintosh people for this format.
For once I did not download them myself, to do a checksum. Since it has been okay every time so far, I’m guessing I’ve just been paranoid.
As for the side bar to the right, with links to tutorials and other sites, it will be gone next week. I’m currently tweaking a new theme, with a menu bar at the top instead. The layout will be much cleaner.
After that, time to finish up the forum. Sigh… Not looking forward to PHP.
As always, LearnXNA.com is kind enough to mirror my tutorials. Thank you, Greg.
Cheers!
Joran
Weekly Update
New Projects
BrownBot is sketching(?) ;-) out his next XNA project, Eraser, and it looks to be a very fun indie game.
XNAdev.ru, the guys behind the XNA Physics API, have decided they have the time to work on a 3D engine as well. It will be a scene-oriented engine, named Day Break Motor Engine, or DBM. (screenshot)
I’ve talked about Visual3D.Net before, which will be a 3D engine fully integrated into XNA. They just announced the closed beta has started, and the public beta will start in December, probably a bit after the official release of XNA. It will be free for non-commercial use.
QP is just starting out, yet he has already published a the project file of of a simple Black Jack game. He wants feedback.
Interesting Code
Shawn Hargreaves has a truly excellent post about XNA’s Model class hierarchy. He then follows it up with some bone optimizations.
Interesting Reads
XNA Rockstar has a great post with a path to becoming a professional game developer. Do read the comments as well.
Attorneys Gabriel M. Ramsey and Michael W. Trinh take a look at the potential intellectual property conflicts which can/will arise in the XNA community, just in all other homebrew/hobbyist communities.
Interesting Talks
Interview with Boyd Multerer, revealing a bit of background on XNA, like the name.
Benjamin Nitschke has put up a much better video of his XNA Racer. His computer is down at the moment (maybe he’s playing ArenaWars), but you should be able to grab it later on.
Video of a Torque Game Builder game running on Xbox 360. I guess this means the TorqueX beta is pretty far along. (Live with the advertisement.)
Scott Hanselman talks bout next generation games in general, and uses XNA as a great example.
Beta 2 Upgrades
George Clingerman has updated the entire XNAdevelopment.com site to Beta 2. He has also added a Tetris clone, with source and everything. I’m sure he’s going to bed now.
Evan Ogas has also converted Arkanoid to beta 2, making it playable by non-developers in the process. (download)
Bill Reiss is finished with his series of XNA tutorials for beginners for beta 2. He’s now moving on to “chapter two”, where he will actually create a playable game.
Lawrence is also improving on his Air Legends. It’s actually kind of playable right now, so do check it out.
Gary has also updated to beta 2, which is especially nice since his BitmapFont class is recommended. Now you can also expand the padding between glyphs with a simple pad option.
Jean-François Buisson has converted Time Pilot ‘82 to beta 2.
Daniel Crenna is Back
We thought he’d moved on to stuff that actually pays the bills, but he just quit his daytime job to start his own development company. His company will does not do XNA, but XAML/WPF (which will be HUGE), but it does mean he will have time to bring us more nice tutorials.
Considering his output in the past, make sure to subscribe to his XNA blog regularly. His “private” blog is usually a great read as well, although not XNA related.
Three New Tutorials in the New Series
As you may have noticed, I’m starting over. There were some changes between the betas, and I’ve more on the clear with what structure XNA wants to have. Hopefully, these three will get you off to a good start.
The first set of tutorials deals with installation. If you have already installed,. you can skip it. 27 minutes and 43 seconds in my player.
The second batch of tutorials gives an introduction to the C# language, and an introduction to the first class in the Solution - Program.cs. 45 minutes on my machine.
The third zip of tutorials tries to sum up object oriented programming, and goes over the structure of the XNA Game class, by inheriting from it. 42 minutes and 47 seconds in Classic Media Player.
I put links to the right. The old ones are still there (not for long), but you have to dig out the links to them from my old blog posts.
Logo
I’ve also designed two logos, but I made them myself, so I can’t decide which one I like more. My wife is leaning towards the checkered one, because it is not as “heavy”. I talked to Mark Coffman, and he suggested the black one.
Update: Tim was nice to send two variations. A green one and a red one. I’ve primed the votes for them, to give them equal footing.
What do you think?
I was considering doing the top part of the page green, so the logo would have a light-green background.
If you don’t like them, send me a new one! (c:
Loading …
Weekly Update
Ahh, I fixed Feedreader. Now I can get my fix of news. (c:
Three Good Sources
Andy Dunn is really back with regular posts. I guess making SpaceWar took a lot of time. Feels good to get regular XNA news from him again.
Gregory Wurm also has one of those XNA newsfeeds which doesn’t just report what others say, but dig a bit deeper.
Mark Coffman also has an excellent XNA feed, seeing further.
If you subscribe to these three guys, they paint a beautiful triptych of the XNA world. You almost don’t need to spam your feedreader with all the others, including me. (c:
News
Andy Dunn, for example, took the time to scan Amazon for upcoming books, and found Microsoft XNA Game Studio Express Creator’s Guide, which will be released in May next year. David Weller has a book in his drawer as well, but no release date or name yet. Benjamin Nitschke also has a book coming, see below.
Andy has also collected all the XNA videos at YouTube. I couldn’t log on yet, but I sent an email to Andy to find out what’s up. I’ll let you know. The group is now public.
Dave posted that he is converting his Entombed project to XNA. It is a Dungeon Master clone - one of my all-time favorites. What he has done so far is simply beautiful!
XNAList.com is a new community site, listing XNA resources such as tutorials, game demos, code snippets, and XNA programmers. They don’t host anything, just links, which makes the site lean and fast.
Shawn Hargreaves had been busy posting. He notes common mistakes when adding things through the Content Pipeline, and why the native format is necessary. He also has a great post on maximizing performance when mixing 2D and 3D.
Stefan Virag has posted another math tutorial. Comment, please. He has also reopened his XNA forum.
Simon’s XNA forum needs visitors too.
Larry Hryb posted a video about the Xbox Live Marketplace. There’s a section about Gears of War too, which is a really cool game.
Benjamin Nitschke
Our future guru? He made XNA Racer in four weeks, and he got flown to Seattle to touch it up as a starter kit. Earlier he made Rocket Commander for Managed DirectX.
His blog is readworthy too (gotta try polynapping some day), and he has a book in the pipeline as well. It is called Professional XNA Game Programming, and will come out in April next year.
New Code
Jaeger has a new tutorial on how to extract the color from under the mouse cursor.
Greg has a post about extending the string library of C# by using the one for PHP. Lot’s of method goodies.
Luke Trainor presents a way to apply a custom effect on a model.
Beta 2 Conversions
Michael Schuld has also converted his tutorials to beta 2. Do these topics sound good? “Framework, Scene Graphs and Object Framework, Shaders and Cameras, Camera Movement and Simple Input logic, The building of a simple Skybox.”
Not an Artist?
Reiner has beautiful 2.5 isometric sprites for you. They are freeware, even for commercial games, if you put Reiner “Tiles” Prokein in the credits.
Molotov.nu has collected a lot of graphics as well, under various free or semi-free licenses.
Mark Overmars has also a nice collection of graphics.
A great amount of art links can also be found at GM Resource.
Not News
Windows Vista was Released to Manufacturing, and the .Net Framework 3.0 was released.
The Resource Refactoring Tool extracts hard coded strings from the code to resource files.
Back to shooting the new tutorials. Have to work tonight, but a batch is coming real soon now, a few days away.
Got the statistics, just as I move from beta 1 to beta 2. The old tutorials have been downloaded over 40 000 times! Yay! Thank you all. I promise that the new series will be longer and even more popular.
Cheers!
Joran