[an error occurred while processing this directive]
INTERVIEWS

Interview with Charles Doty



ZeroAge) Could you please introduce yourself (name, age, what do you do, etc..)

Charles Doty, 29. I'm a 'professional' game programmer.

ZeroAge) What are your hobbys (besides programming) ?

Besides programming? Hmmmm.. Games (Arcade, console, very little PC). I spend a lot of time programming.

Zoop) How did you enter the Console programming scene ?

Back in 1993 (I think) I stumbled on the ftp site busop.cit.wayne.edu, which had information on programming the SNES, and information about the Romulator copier. I was hooked. Luckily I had just received my tax return, so I ordered the copier.

ZeroAge) Why did you decide to port Defender of the Crown for the GBC ?

Defender of the Crown is one of the games that stick out from the C-64 era. It's a relative simple game, so porting it to the Gamboy Color wouldn't be much problem. I can't tell you how many times I've heard people rave on about Defender of the Crown, so I figured people would also be interested in it.

ZeroAge) How difficult is it to write games for consoles (and is it really different of writing games for PC) ?

A normal console like the Genesis or NES can be difficult do to the lack of decent debuggers and tools, but the Gameboy Color is blessed with a plethora (hmm big words :) of good tools. The NO$ emulator is probably only rivaled by the debugger in MAME. Gameboy Tile Designer and Map Editor (by Harry Mulder) are incredible. And add-on tools like Palred and GameMan0 were also very important to the port.

PC games have gotten so far away for the hardware, that they're no longer as fun to program. And I've been hooked on consoles, since the SNES. (I guess it's the secrecy that they're normally shroud in.)

Zoop) What were the skill required to port DoC from C64 to Gameboy Color ? (We are waiting for a HowTo :-)

Love of the game (and a decent emulator, CCS and C64s were used).
Assembly language (C seems like overkill on a system like the Gameboy, I wouldn't even consider programming the Genesis in C)
Some knowledge of the Gameboy Color. I'm no expert on the Gameboy Color. Ability to read someone's else's code. (If I ever got stuck on something I would refer to one of Jeff Frohwein's releases)
Neogiation skills :) I worked with the author of the Music Box Music System (http://www.blackbox.n3.net) to provide a custom version for the demo. I traded a mention on the credits screen in exchange for the use of the system. Since he liked the port, he agreed. The music makes a world of difference in the demo.

Zoop) Do you plan any other ports of it, or other games ? We know you are working on a bunch of other consoles.

I would like to port it to the Game Gear, but right now my time is pretty limited. And, IMO there isn't a really good debugger for the Game Gear. It looks like there's a number of them on the horizon though.

Actually as a challenge to Emulator programmers (Calypso and MesaDX) I'll port Defender of the Crown to the Game Gear when your system can emulate the Game Gear fairly well.

I also think the Amiga version would make nice PSX and N-64 versions, but I'm not sure I'll ever get time for them.

I would also like to port the C-64 version of Rocket Ranger and Three Stooges to the Gameboy Color. (Kind of a Cinemaware megapack)

ZeroAge) Wich tools have you already developed ?

I've developed GIF2SPR for the SNES, WGT tools for the Genesis, WGT and PCX tools for the GameGear.

I ported and added some features to an assembler and disassembler so they would work for the Genesis.
I made changes to David Michel's Magic Kit assembler to support the NES (the changes were later added back into the assembler). I made some changes to asz80 to work on the GameGear. I made a small change to Paul Lee's SGCC assembler to allow using the assembler to write assembly code. (The assembler was designed to only assemble the output of the C compiler) I've also released some tools to convert MapMaker and PCX files to Sega's System 16. (Which also used the SGCC assembler).

That's all I can remember.

ZeroAge) What's your connection with David Michael ?

A strange love for his Ma.... Magic Engine. :) (Especially for Super Dodgeball) Actually, the only connection we have is the NES assembler in his Magic Kit. I've spoken with him a number of times via The Orphaned console support mailing list. A real nice bloke. (sorry, been dying to say that) :)

ZeroAge) Are you planning on writing a tutorial ??? I know lots of people would like this .

I did for the Genesis, but I found out I'm really not good at writing tutorials. (Can be found on http://www.classicgaming.com/epr in the Consoles/Sega Genesis section, as gamesite.zip). It would be just one more thing that I would add to the list of things I would like to do, and maybe get to some time.

I've also started some work on writing a demo for the Capcom CPS-1 systems, but haven't had the time to finish it off. I do plan (when time allows) to write up some decent information on Sega's System 16, and Capcom's CPS-1 (when I finish the demo).

ZeroAge) What is your favorite game?

Probably Civilization. I go through spurts, but that is a game I would be as interested in playing today, as i was when I first got it. I also like the Midway NBA JAM, Open Ice, NFL Blitz... line up. Another all time favorite is Super Dodgeball.

Zeroage) Do you have a favorite console ?

Not really. Programming wise, probably the Sega systems (Genesis, GameGear, and Saturn).

ZeroAge) Have you ever considered writing an emulator ? If so , for wich system ?

Not really. There's a difference between figuring out how to write a demo for a system, and emulating it. I cna disassemble a few roms, and figure out how to program it, but it would take a lot longer to develop an emulator. And emulating a system isn't the same as programming the hardware (which is my favorite thing).

If I ever did, it would probably be the PCFX, just because of the games available for it.

ZeroAge) What do you think of the emulation scene ?

I kinda try to avoid it. Everyone wants every rom they can get their hands on. Usually for me, it's a certain rom (like the recently released Simpsons). I hate any 'scene' where people consider themselves 'elite'.

The most disturbing thing that I've seen is people e-mailing emulator authors and complaining 'cause there emulator sucked. Considering mose of these people probably don't even know what a compiler is. Another bad aspect of emulation (NeoGeo at least), is people dumping and spreading the latest roms.

A positive part of the emulation scene is the translation groups, though.

I have a large amount of respect for emulator authors. Most of them that I've been in contact with are really nice and helpful (Li Jih Hwa, Paul Leaman, Martin Korth, and Ricardo Bittencourt). If it wasn't for emulator programmers, I wouldn't have been able to program half the systems that I have.

ZeroAge) Tell us your toughts on where emulation is heading ?

I see more recent system being emulated quicker. As David Tucker said, this is bound to attract negative attention from the hardware companies.

I'm all for emulating newer system, because of the opportunity to program them. I like Bleem's approach of only running non copied games. It would be nice if Bleem (or newer emulators) provided a location that could be set to allow running homebrew games, without allowing copied programs to run.

ZeroAge) Which console do you think is going to be the best (and why) ? PSX2, DreamCast, NGN or X-Box

Well from the sounds of it the PSX2 and X-Box are going to be fairly expensive. So, they might be in for a fate similar to the 3D0, unless they can make their system a must have.

I haven't heard too much of the NGN, so I don't know.

The DreamCast is really nice now, but it's one of the first Next Gen Systems (similar to the Saturn), so it could possibly get overlooked.

My picks would probably be DreamCast or X-Box, unless the PSX2 and NGN have good 2d as well as 3d performance.

ZeroAge) Thanks alot for your time :)

Download Defender of the Crown demo [17 kb]


Back to Interviews Index
Back to Emulation Camp