You may never have heard of Joshua Buhler, but chances are that you've come across his Flash creations online. His portfolio includes a Flash recreation of Nintendo's classic Duck Hunt, an emblem creator for Mario Kart DS, and a Dashboard widget that uses Lakitu to indicate the current status of the Nintendo Wi-Fi Connection. He even put together the Flash for the PTB E3 2006 Video Album. Not too long ago I had the chance to talk with Josh about his projects and his future.
MattG: Let's start by introducing yourself. Who are you, what do you do, and how'd you get to do it?
Joshua: Well, I'm your average gamer/computer geek. I've been into games and computers for as long as I can remember. I was that kid in elementary school that wore the Mario shirts, ate the Mario cereal, and had the library of Nintendo Power magazines. I played the crap out of the family NES, and as soon as the SNES was announced, began saving my allowance to buy my own. Now that I'm older, the problem has only gotten worse, as I can now afford to buy all the toys and games that I want or wanted back then. I'm still that geek who wears the gamer gear, but luckily for me it's a little more "cool" than it used to be.
I work as a Flash developer for a company based in Orem, UT. It's about 30 miles south of Salt Lake, where I live with my lovely wife. A few years back, I originally started school with the intent of being a 3D artist, and doing CGI for movies, so I took a few classes on doing that stuff. I also took a Flash class just as a filler to get some elective credits taken care of, and I fell in love with it. It was mostly because I realized that it put me one step closer to my dream of being a game designer. Not only could I design and develop the game, but then I got to play it, all in the name of testing. I've been working in Flash ever since - about four years now.
MattG: What inspired you to work on your projects, such as the Lakitu widget and Duck Hunt recreated in Flash?
Joshua: What really inspired me to work on these projects is the fact that I could. In my line of work, I believe it's almost a game of survival of the fittest - if you don't stay on top of things and the technology, you'll fall behind. So, I'm constantly reading tech articles, tutorials, etc. (It drives my wife nuts.) And of course to learn, you've got to build stuff to see if you actually retained anything you read. These projects have been more of a way to challenge myself, but in a fun way. Sure, I could've just built a few "Hello World" widgets, but why not make something useful out of them?
Lakitu was born out of my desire to learn how to make a Dashboard widget, and out of necessity. You may recall that in the early days of the Nintendo Wi-Fi Connection, that the servers weren't as reliable as they could have been. Of course, it was Nintendo's first try at the online thing, so we can cut them a little slack. So I came up with the idea to build a widget that pings their servers to see if they're even online before trying to connect to them. I got to learn how to build a widget, and at the same time, have some fun with it. And who better to tell you about the Mario Kart servers than Lakitu? Later I added the display of how many players have connected recently so that if the servers are online, you'll be able to get an idea of how many people are online playing.
Soon after Lakitu, I released my version of Duck Hunt. That project was a challenge for me. I was browsing a site one day, and I came across another version of the game re-created in Flash. It was fun, but it wasn't as fun as it could have been. It had some problems, and it just didn't look or sound quite right. So I decided that I was going to try and create the most accurate version of Duck Hunt you can play online. What I thought was going to be a weekend project turned into a nine month endeavor. Mostly because I only worked on it for a few hours at a time, but also because there was a lot of "research" involved. I had to hit a few thrift stores before I found a Zapper that still worked good, and wasn't covered in some mystery crud, and once I did, my wife and I played some marathon Duck Hunt sessions to conduct our research. I never thought I'd be taking notes on something like Duck Hunt while playing it, but I did. In part of my goal to make the game as accurate as possible, I left out the feature most people seem to want - shooting the dog - and intentionally left some "bugs" in the game. Yes, I know that no matter what color duck you shoot the dog still holds up a green one. That's how the NES version works, so that's how mine works (you can stop emailing me about it).
MattG: What are some memorable moments that happened while working on your projects? Any fun stories to share?
Joshua: I think the funniest thing to me is that there is a Wikipedia entry on Duck Hunt that links to my version of the game. I get about 20-30 visitors to the game from Wikipedia each day. Who would of thought that 20-30 people a day would be searching for Duck Hunt on Wikipedia? I can see maybe that many each month, but each day?
The Mario Kart DS Emblem Maker was another one of those "lets see if I can do it" projects. With the newest release of Flash, Macromedia added some awesome new features for editing and manipulating bitmaps at runtime. So, I got to play with those features, but make something fairly useful out of it as well. Also, I love the "Mario style" so that was just a fun project to draw and build the interface for. I don't claim to be a great designer at all, but that was a fun style to try and copy. That's been another fun project to release and see it take off. Since it's launch a few months ago, almost 2000 emblems have been created. It's been fun (and frightening) to see what people want to use as an image to represent themselves to strangers. Another fun part of this one has been trying to explain what exactly it is to people who don't know what Mario Kart is, or that don't get the concept of the emblems in the game.
MattG: What's next for you?
Joshua: I've got a few other things in the works, and quite a few of the are game related. Unfortunately, I've just got more ideas than I have time. I'm working on a new widget for the Wi-Fi Connection, but those things are kind of tricky to make. It's more of a 'hub' for the games that you want info on - it's not just limited to Mario Kart like Lakitu is. I've been monkeying around with the Yahoo!/Konfabulator stuff, so this next batch of widgets should be cross platform for those folks stuck with Windows. If Nintendo would just open up a little more to us web developers, you'd see a lot more sites and widgets connecting to the Wi-Fi connection to help spread the info around. Currently, to get these different stat sites and widgets working, you've got to do some snooping around the Wi-Fi pages and HTML source to try and get that info. It's frustrating at times, but fun. I'm trying to figure out a way to display your current stats and online status for the different games in some sort of "badge" that you could but on your blog or as a signature in a forum.
I've also got some games I built in my early days of Flash that I recently found on a CD-R that I'm considering cleaning up before release, and some original games I've started designing. Those should be online in the next couple of months. I'm also working on getting a new version of the Mario Kart emblem maker in the works, but that one will have to wait a few months, until Flash Player 9 is out of it's beta. This thing is going to rock, but it needs Player 9 to do it. I still need to find some time to finish up Metroid Prime 2 and Resident Evil 4 as well, so... we'll see when those games actually make it online. ;-)
Joshua: Now, given the time and resources, what would I really like to do? Build games. I'd love to build something along the lines of the upcoming Nintendo Virtual Console for the Wii, (Wii? Honestly... who thought that was a good name?) but online. There are a lot of classic games that could be recreated for play online, or already have been, and I'd love to see Nintendo do something like that. A lot of the recreations of these games are really good, or nearly identical to the original, but imagine if you could go to Nintendo.com and play Mario Bros., Contra, or Dr. Mario online with someone from the other side of the country?
I also got a kick out of the mini-site used to promote WarioWare, Inc., that had a bunch of the mini-games created in Flash for the site as demos of the game. I love WarioWare Touched!, and almost that entire game could be built in Flash. I'd love to be the one building that. (So, if you work in the web department of Nintendo and are hiring, let me know!)
One last thing I'd love to see/do is build stuff for the Virtual Console. I've been wanting to get into the homebrew GBA/DS scene for a while, but just haven't had the time, or the guts to flash my DS for fear of bricking it. But I'd love to see Nintendo open up the Virtual Console to indie developers and the homebrew community. Allow these homebrew guys to develop games for the VC and distribute them that way. There's some really talented folks out there, they just need a bigger audience. Nintendo could also give the Wii the ability to run Flash applications, and you've got literally thousands of games already available, in addition to the classic games being offered. It would give a lot of developers opportunities to share their work, with little or no risk to a publishing studio. Plus, it'd open up more gamers to a bunch of pretty awesome games.