Joe Wreschnig is a programmer for Champions Online.
"Meet the Team" InterviewEdit
Q: What do you do on Champions Online?
A: I work on the software side of the user interface. That means a lot of things – aside from writing the code for many of the interfaces like the HUD (head-up display) or the character creator, I also created the library and tools that let our programmers and artists make changes to the interfaces quickly. Most of our UI is based in data files that are similar to HTML or Flash, and we keep adding features to that system to help everyone on the team make better UIs faster.
Q: How long have you worked in gaming, and what did you do before Champions Online?
A: I've been at Cryptic for almost two years now. Before that I was a student at the University of Minnesota, Twin Cities. Nominally I studied artificial intelligence, but mostly I took whatever random classes looked interesting. I was also involved in the Debian project for a few years, and I still use and prefer Unix-based operating systems.
Q: What is your typical workday like?
A: I get in sometime in the late morning, around 10 a.m. I usually spend the first hour of the day rebuilding things and catching up on what other people were doing the day before, as well as organizing my bug list. Lots of bugs in backend systems first appear as UI bugs, so one minute I'll be poking around the inventory database transactions and the next I'll be looking at powers data synchronization.
Aside from bugs, I usually have one or two "big" features I'm working on, like the new screen for buying power advantages and disadvantages, optimization, or adding a new feature to the UI scripting language that helps all of Cryptic's projects. Sometimes there are meetings, but I try to avoid those.
Q: What aspect of Champions Online are you most excited about working on?
A: I love the Nemesis system. Being able to create the perfect opponents for your heroes really helps flesh them out on the roleplaying side, and the showdown combat looks incredible.
Q: What superpower would you want and why?
A: Automatic bug triage. Barring that, I know it is cliché, but being able to fly would be awesome.
Q: What do you like to do in your free time?
A: I like to do nerd things. Video games dominate my free time – I recently finished Metal Gear Solid 4 and started Final Fantasy Fables: Chocobo's Dungeon, and I'm picking away at Trauma Center: Under the Knife 2 on the side. Both of those games need to be finished before Rhythm Tengoku Gold arrives at my door.
I just got back from CONvergence in Minneapolis, where I bought a lot of new board games that I plan to slowly inflict on friends at work. We also have a roleplaying group that's currently playing D&D 4th Edition on Mondays, and another group that meets to watch anime on Wednesdays.
Q: What is the most awesome thing you have seen or done in the past two months?
A: I re-enacted the hot dog cooking minigame from Cooking Mama 2: Dinner with Friends with my sister and a friend from Cryptic. Words cannot capture the grandeur of this event, so we also took videos.
Q: If you had to live on one food for the rest of your life, what would it be?
A: The souls of the innocent.
Q: What advice do you have for someone who wants to be a programmer?
A: Read lots of code. Universities turn out many people who have written a lot of code, but never had to dive into a big project and figure it out for themselves. It's like someone who has never read a book trying to become a writer. There's a lot of software out there with source available; download it and try to understand how it works.
Play around with a variety of tools. Most game development is going to be done in C++ or Java, but there are a lot of useful lessons to learn by picking up languages like Haskell, Prolog or Python, or more abstract tools like set theory and logic.
And learn to like some form of caffeinated drink.
Q: Do you have anything you would like to add?