Wraggster: Can you tell us where were you born, where you live, your family
details, etc.? Dan Potter:: I was born in Dallas, TX and lived there for 16 years until
I moved out for college in Denton (also TX) and then Austin (again, TX).
My dad's a geek of sorts himself, working as a machinist for engineers at
design shops, and occasionally doing a bit of design work himself. His hobby
now is making wind chimes and selling them at various weekend markets =).
He's probably responsible in large part for me getting into computers and
technology at all, I've got two older sisters who harrass me incessantly
about how much of a geek I am. In a good natured way of course =). My step-mom's
always asking when I'll strike it rich in my game development work so they
can retire to Colorado but I suppose for the near future I'll have to keep
saying "soon", hehe =)
I have lived in Austin, TX since 1996, where I've been going to college.
I recently lived in Tucson, AZ for 9 months and will move back there once
I finish my degree. Can't beat the scenery, hiking/biking, amazingly dark
sky for astronomy geeks, etc... just a great place. I guess Jessica (the
girlfriend) moving back there helps to make that decision as well =)
Wraggster What qualifications do you have? What made you get into computers?
Dan Potter: I'm kind of combining these two because they're quite related.
Hmm... where do I start? (I did warn you about that head inflation thing
^_^;). When I was 4 years old, my father brought home a Speak and Spell
from TI (where he was working at the time). Employee store, good discounts,
etc. I think from that moment on it was too late for me to get interested
in anything else for quite a while =). I got a TI-99/4A home computer when
was 5 or so, and it grew from the simple console with Basic and Logo to
a home computer workstation (lol). Basic console had extra RAM and a speech
synth hacked into it, new cooler power supply, expansion box with a persistent
RAM disk, two floppy drives, all those goodies! =D On that thing I learned
9900 assembly, and we bought a PC not too long after that.
I guess it went from there: I spent most of my waking hours at school or
on the computer. I wrote a tracker called "Farandole Composer"
which some of you may remember with curses =). I participated somewhat as
a side in the PC demo scene of the time, but we never really made much in
the way of demos, and did a lot of talking. =\ Ah well, I got a few friends
from that time. I had a BBS called Programmer's Oasis (it was 214-328-6142,
if anyone remembers better by that =).
I participated in a competition programming team in high school. It was
a geeky high school (Science/Engineering Magnet) so we were like the football
stars of the school. That was pretty damned cool, for a change =). I left
there after two years to go to the Texas Academy of Math and Science, in
Denton, where they shut you in a dorm with 399 other smart (and mischeivious)
people for two years... man was that a riot! =) I got my high school diploma
and two years of college there and moved to Austin, to finish a CS degree
at UT. I'm still trying, but I've almost got it =).
I'll stop there before I bore everyone, but suffice to say I've been sitting
in front of a keyboard for a large part of my life since 5, and I'm 23 now.
I've got a strong interest (probably thanks to school) in understanding
computational science and how things _should_ work rather than just getting
them working, but just kicking back and coding is quite enjoyable as well
=)
Wraggster What projects/coding have you done previous to any Dreamcast
programming? Dan Potter: I listed a few above, but of interest to the DC community are
of course the demos; I also worked on several (abortive) game project attempts
with a friend of mine from Science/Engineering (hi Matt! =). These started
with a simple overhead tile map and progressed over the years to a full
Quake-style engine with source lighting and a custom scripting engine.
Also of trivia value is that KallistiOS/DC was not the first incarnation
of KOS. Most people probably don't know this =). KOS was originally a project
for the PC. I had a book called "Advanced 386 Programming" (I
think that was it) that introduced me to protected mode, multitasking, etc.
I had to sit down and write one =). I did all of that from that book and
manuals I found on the net, so it proves you don't need a bunch of official
devkit materials nor a degree to do this sort of thing. Just a keen interest
and a lot of determination.
Wraggster What made you get into Dreamcast Development?. Dan Potter: It was almost an accident, quite literally. My roomate Phil invited
us over to play Soul Calibur a long time ago, and I was so floored by the
amazingness of that game (and obviously the system underneath it) that I
added it to near the top of my "acquire when money arrives" list
=). Soon after I bought the DC, they sent me an image for the CDX. Now,
this was fantastic because I could play imports and all of that, but it
got the gears turning in my head: if I can burn a normal CDR and run it
on the DC with THEIR code, why not replace the code and burn my own anyway?
I started hacking on the CDX and eventually found Marcus Comstedt's site.
I didn't have a "coder's cable" at the time so Tursi helped me
out by running my test program and sending a screen shot.
I got on the mailing list and started being more active with it, and a
few weeks later I couldn't stand the suspense any longer: me and Jordan
ordered the parts and built two cables, and I bought a SCSI CD-R to burn
DC CDs with (since the one at work didn't do the job).
Tursi and I worked on what was to become libdream for a little while, and
eventually that did morph into libdream. I later got to discussing the idea
with Jordan of writing a real embedded OS for the DC, and that was when
KOS/DC was born. It shares the name and some of the concepts of the original
KOS/i386 but none of the code. Things just kind of went from there.
Wraggster Was Ghetto Pong a good learning step onto bigger things and how
complex was it to code and get running nicely? Dan Potter: Oh yeah. Ghetto Pong was Jordan's baby actually. He wanted to
write a Pong clone for the DC just to play around with the coding aspects
of it, so the original Ghetto Pong was actually just a red square moving
across the screen with green block paddles. That's why it's "Ghetto"!
=D I took that work of his and added menus, background music (thanks El
Mobo! =), and sound effects, and his brother Kyle added some graphics. The
result is the Ghetto Pong you see today.
Wraggster How did you start and what programs did you use to start coding?
Dan Potter: I think I managed to answer this above during my lengthy discussion
of my start with computing =). I'll add to it, though, that I used:
- TI Basic, then
- TI Logo, then
- TI Extended Basic, then
- TI 9900 assembler, then
- GW Basic, then
- Power Basic, then
- Turbo Pascal for DOS, then
- Turbo C for DOS, then
- Watcom C for DOS, then
- GCC for Linux
That pretty much brings it up to modern =). I've had stints with Haskell,
Python, Scheme, and a number of others that I don't use for "mainstream"
work now.
Wraggster Tell us about your KOS and libdream projects and did you have
any idea that your work is looked on as the most significant piece of hobbyist
software on the Dreamcast? Dan Potter: I guess I'll give an anecdote about KOS that is kind of amusing,
which I've talked about previously only in a translated Spanish interview.
When we started KOS, we were trying to decide on a name. The original suggestion
was actually "HuevOS", believe it or not. Our mascot was an egg,
wearing a sombrero, and riding a surf board! (just consider all the puns
for a minute =). Eventually, though, KallistiOS was chosen as the name because
of the high interest among the authors in Discordianism =)
I didn't know that it would eventually be looked upon as one of the most
significant pieces of hobbyist software, when I started (or rather, when
we started =). I guess it started the same way as any free software / open
source project: there was a need to be filled, I wanted it filled, and I
worked towards doing so. I guess the DC is complex enough that once there
was a base and someone was working hard on it, no one else wanted to take
the effort. The exceptions I know of are great work too, but they seem not
to have caught on very much.
I guess to me it became "truly significant" when I realized that
people high up inside Sega were looking at it for more than a glance. =)
Not for usage in anything official, just that they had added it to their
map. Everyone on the dcdev list is probably familiar with this story though.
Wraggster What plans for the future do you have for KOS and KosWin? Dan Potter: I'll answer the second first since it's easiest =). I don't have
any plans for KosWin because it was just something I did on a whim to try
to help out some people who were having troubles. It seems on retrospect
that the idea was well placed, but I'm kind of a fish out of water in the
Windows world. ^_^; So I'm hoping other people will pick up the idea and
go with it, and it seems that is happening. I'll be happy to host a good
one on SourceForge's behalf (HEH).
For KOS itself, I am basically hoping that it will grow to fill every need
for hobbyists that was filled by Katana for official developers. This sounds
a bit presumptuous, but I feel like we're already there to a large degree.
I can't name any names, but a developer at Sega told me once that my tools
were easier to use than theirs for some things! With the addition of KGL,
an unencumbered MP3 player (working on it =), and the re-integration of
things like lwIP and OS mode, it could go just about anywhere. I guess we'll
just see what happens.
Wraggster What programs have helped you on the Dreamcast and how significant
is a hardware OpenGL driver and to what programs/emus would be made accessible
with it? Dan Potter: I guess as far as what _programs_ have helped, the major one
has been dc-load and dc-load-ip. Marcus Comstedt's tools have always come
out as a sort of first pass to get people going, and then Andrew's tools
come out and perfect the process. That has really helped things along.
On the hardware OpenGL driver, be careful on terminology here. I'll be
quick to point out (and so would SGI's lawyers! =) that what we have isn't
an OpenGL implementation, but an OpenGL-like library. This is an important
distinction, because I want to make GL programmers feel at home (and have
something easier than raw TA for myself!). But it's not really OpenGL.
I think the GL driver, though, is VERY significant. I didn't realize until
I started using it myself just how convienent it is. With a few more mapping
modes (e.g., ortho) and some glu functions, it could easily cut development
time for DC things in half or more. I've definitely become a believer of
GL at this point =)
What could be made with it? Your imagination's the limit!(tm) Once lwIP
gets re-integrated (and I've potentially got some SMB code coming from someone
else) you could spend an afternoon writing an MP3 jukebox with fantastic
visualizations. Games, demos, and even emulators. Who knows. The same things
are possible that were before, they are just much easier.
On emulators, I don't really know. I guess it's up to the emulator authors
to be ingenious enough to use the 3D at all. This is not a simple problem
since most earlier systems assume very low level control over the output
(like SNES's HDMA).
Wraggster What programs/apps/emus would you most like to see come out on
the Dreamcast? Dan Potter: I'm looking forward to JamDu coming out, if for no other reason
than to see what came of that late-night inspiration almost a year ago =).
Something else I always thought would be pretty nifty is a Dreamcast tracker.
Why not?? You've got 64 channels of wave table sound, hardware accelerated
3D for any sort of inteface you want, a keyboard, a mouse, and space to
save files (BBA, mainly). Even though Farandole was my last, I have still
maintained an interest in trackers. Emulators.. I'd like to see a SNES emulator
finished with full frame rate and sound quality. I'd love to pull out some
old classic games and play them on a console again, since the original machines
tend to decay and break over time.
Beyond that, I'm always interested to see demos and games. Delicious was
a very cool surprise that I've shown all my friends to say "here, this
sort of thing is why I've been slaving over this box!" =)
Wraggster What's your opinion of the new super consoles like X-box, Gamecube,
Game Boy Advance, and the Playstation 2? Dan Potter: Oh man. You could fill a whole interview with this. =) But I'll
refrain since I've got to run to class in about 15 minutes.
X-Box: Microsoft owns it, they're gonna do it wrong. I've seen some things
on this machine that look VERY cool, like Jet Set Radio Future, and Dead
or Alive 3. I've heard that the Microsoft titles are really looking up too,
but the ones I saw at E3 were pretty disappointing. Guess time will tell.
One thing I will say, it's HUGE. Way too big. For that reason alone it will
probably fail in Japan.
Game cube: Looks nifty, well put together, solid company behind it as usual.
This will be a "safe" console to get for some fun games. The Star
Wars game looked outstanding (again, at E3) but most of the others were
not so super looking. Again, I guess time will tell. Integration with the
GBA will definitely help the 'cube.
GBA: High on the cool factor, and it's great to have a real console to
play a lot of old games being ported up. I'm guessing this thing hasn't
even remotely been fully tapped for potential, and it's already got some
amazing 3D-looking titles (like that tunnel game, can't remember the name
now!), a DivX player (slow, but it's there), etc.
PS2: This is a really great machine processing power wise, but Sony has
made the same mistake that they killed Sega for on the Saturn: the box has
amazing processing capabilities, but it's extremely hard to code for. I
don't even want to think about what they had to do to that thing to get
GT3 out of it =). And I have to comment on one other aspect that always
irritated me about it: whole lotta hype, normal amount of substance. Sony's
PS2 marketing probably killed the DC, even though the majority of the released
games for DC are far superior in game play and enjoyability to the PS2 titles
out. This may change over time but I'm not keeping my hopes up.
Wraggster Which console looks the best for dev'ing on? Dan Potter: Still the DC. Except of course that your audience is quickly
waning. I'd say next in line behind that are GBA and probably X-Box (it's
a PC, it can't be that hard to get into =). Last I heard PS2 is still a
major pain to dev for but this may improve in the near future.
Wraggster What are your favourite games for every system you have owned?
Dan Potter: Ahh, well this one is easy! I've only owned two systems -- PS1
and DC.
For PS1 I've like a lot of games on it, but I'd have to say one of the
"good but unknown" titles is N2O. If you haven't played it, do
so. It's cheap, and it's like concentrated Crystal Method (the band) stuffed
into a game =)
For DC, I basically haven't disliked any of the games =). They are almost
all fantastic, at least the major ones. I've had a lot of fun with Evolution
(3D Nethack, I like to call it), and a lot of team play fun with Phantasy
Star.
Wraggster Your thoughts on the Dreamcast Emulation/Development Scene and
how can it be improved? Dan Potter: I've probably said enough above already, but the one thing that
could really help the scene is the one thing that's never gonna happen now:
continued support for the hardware. I had glittery dreams of a hobbyist
section in ODCM (which is now dead), some sort of hobbyist area on Sega's
DC site (slowly dieing), who knows. That whole dialogue with John on the
dcdev list was very promising. Suddenly, overnight, it became the "console
that could have been". A truly regrettable state of affairs, but I
guess a company's gotta do what it's gotta do to stay alive.
At least Sega has continued making games! Their games have almost always
been trend setters and it's good to see they will continue to be. See here,
Tecmo already has a Space Channel 5 clone =). Anyway, I digress...
Wraggster Thank you for your time; it has been a honour for the scene.