DAD: Could you please introduce yourself briefly. What
interests do you have in your spare time? HJF: Mostly computing, to be honest. Computers have fascinated
me since my early days. I like computer games and I do a lot of
programming even in my spare time. Besides that, I like good
music (that's a definition :-), Formula One racing (but I am
not a Michael Schumacher fan), Magic the Gathering and other
CCG's, and did I mention programming? DAD: When was the first time you worked with a computer? Which
computer was it? Which is your current computer platform of
choice? HJF: My first computer... That was a small box my father built,
an Intel 8080 (one of the first in Germany) with a little
memory and a hex display that could display a four digit
address and a two-digit byte contents. The beast was programmed
directly in machine code, using a 15 key hex keyboard. Later we
added an 80x40 ASCII screen. I was about 8 years old by that
time and learned programming assembler later... The next thing
was the machine called "Philips P410", a mainframe that had 16
megabytes of magnetic core memory (magnetic core memory does
not loose its contents when switched off) and two printers for
output (no screen, just a one-line display and the printers). I
learned COBOL on that crate and managed to program my first
database application together with my brother. Later came a
P4500 (the follow-up with 64 KB of memory, up to 256 ASCII
serial terminals and a 5 meg harddisk). Then we bought Sinclair
ZX Spectrum 48K and later the 128K. The first Amiga came in
1998. Currently I use Amiga, Windows and Linux. If I am
completely honest, Amiga has degraded a bit for me, and usually
after my work is done I switch it off and use Linux (for
internet, for example). I've grown a bit tired of the Amiga
because of the constant trouble (WarpOS vs. PowerUP/MorphOS,
Mediator Vs. G-REX, CGX vs. P96). I hope that things will pick
up again with the release of the AmigaOne and OS 4.x, so we can
have a clean break and leave the past behind. I am very
positive that Amiga, Inc. can do that. DAD: By looking at your work one can see you are a very good 3D
programmer. Where and how did you learn all this? HJF:The key to all this is mathematics. At its core, 3D
programming is a pure form of linear algebra. I studied that at
university. Secondly, there is the internet. It's a big source
of information, and you can find practically everything there.
There is a lot of crap out there, but there are a few very good
sites for games and 3D programming, like www.gamasutra.com,
www.gamedev.net and also www.lionhead.co.uk (the latter being
the software company behind Black & White, they do have a good
forum though). DAD:Do you have any advice for beginners who would like to
start programming 3D graphics? Where should they start? How
should they learn? HJF: Learn your math. 3D graphics is pure mathematics, so first
of all pick up a textbook on linear algebra, read it, and
understand it (the last part is the most difficult one). You
got to know what means, what the norm of a vector is, and
most of all, what a vector is (hint: It's not an arrow :-)
Next, go to the internet and look around. Look at some of the
web pages mentioned above. Download the source of a few demos
or games (Quake, for example), and have a look at this. Read a
good book, there are quite a few available (I recommend
"Computer Graphics: Principles and Practice", by Foley, VanDam
e.a., the Second edition in C). Then, write your own code. Keep
it simple. But once you have written a rotating cube all by
yourself, you know it. This sounds like a long way to go, and
in fact it is. But knowledge comes by learning :-) If you see a
3D game and ask yourself how this is done, then you're on the
right track... DAD: How did you get involved with Hyperion Entertainment? What
is your job in the company? Which projects have you worked on
and what is your current project? HJF: I've known Steffen Haeuser for quite some time. He knew a
Belgian lawyer called Ben Hermans who wondered why no one ever
tried to license PC games and do a port. My brother and me had
done some porting in the past (most notably Descent and Abuse)
and had earned some reputation due to Warp3D. This was why Ben
contacted us with the offer to join Hyperion Entertainment.
Right now my official title is "Senior Software Engineer". My
main work is programming, and I also manage some of the
projects. Among these was Heretic II, our first game. DAD: Hyperion Entertainment is a company oriented at porting
software to three non-mainstream computer platforms: Amiga, Mac
and Linux. Whose idea was this development orientation? Is it
proving to be a wise decision? HJF: The idea originated because we felt that companies would
be more interested if the Macintosh was involved. Later on we
thought that it might be easy to also support Linux. So we
added that to the fray. DAD: How do you decide which of your three supported platforms
has a higher priority? HJF: It depends. Right now the Amiga version of Shogo has
highest priority because it is practically finished (the master
is being prepared as I'm typing this). We try to be flexible. DAD: Your first released product was Heretic II. Are you
satisfied with the response of the community and the customers?
Did you expect it to be better or worse? HJF: I expected more sales to be honest. It was nowhere near
covering the costs, left alone making some profit. Otherwise I
am quite happy with how it turned out. We are aware that it was
only really playable on a 603/240 or a 604, but we feel that it
was as good as it can get... Feedback from the customers was
almost always very positive. DAD: Heretic II is certainly the most advanced 3D game released
for the Amiga at the moment. Where there any particular
technical difficulties you had to overcome during the
development? HJF: Yes, there was quite an amount of things. First of all we
didn't want to use Mesa. The old 3.1 port was rather slow, and
so we started doing MiniGL (mostly my own and my brothers work)
as a layer on top of Warp3D that could mimic the OpenGL API and
provide the 3D speed we needed for Heretic II's Quake II
engine. Memory consumption was the second issue. The Windows PC
has virtual memory, something that we don't have on PPC Amigas.
So we had to pull every trick to actually get the thing to run
in 64 megabytes. We originally hoped for 32 MB, but that was
impossible. Finally, the CPU speed was an issue. We think we
have done a very good job for Shogo, most people will find it
is more playable and much smoother than Heretic II, due to the
modifications of Warp3D V4. DAD: As a part of porting Heretic II you also ported the Quake
II graphics engine. Does this mean less work for porting other
Quake II based games? How much does it help you in your current
work of porting Sin? HJF: A lot. The Quake II Engine always consists of the engine
itself and the code that defines the game. In the case of Sin,
the engine was practically ported (safe a few minor things),
only the game code needed completely new porting... DAD: Shogo for Amiga is almost complete. How difficult was it
to port this game in comparison to Heretic II? HJF: Shogo was a lot more difficult in almost any aspect. It
was written for DirectX, whereas Heretic II was using the
OpenGL API. DirectX does a lot of things completely different.
Furthermore, it also uses DirectSound (Heretic II's sound
system is much simpler) and DirectInput. It used Windows dialog
code and the Microsoft Foundation classes. There was also some
issues with it being Visual C++, which has some, well, strange
"features". All this was hard to port, this is the reason why
it took us so long. DAD: Shogo uses the LithTech graphics engine. Does porting
Shogo also mean less work in case of porting other LithTech
based games? HJF: Yes, if the game uses the same version of the engine
(1.5). Right now LithTech went up to 3.0, and this will
probably require major rework to get it running on our target
platforms. But games that directly use 1.5 are very easy to
port now. DAD: Can you already tell us which will be your next game for
Amiga and its approximate release date? What about licences for
new ports? HJF: Our next games after Shogo will probably be (in no
particular order) Freespace, Majesty, Alien Nation and Sin. We
hope to release them in rapid succession (like one game per
month). We do have new licences in preparation, but I can't
disclose any of them right now. DAD: You also released some 3D libraries (MiniGL and Warp3D)
which were developed along with your game projects. Why did you
decide to release them for free? HJF: Warp3D was started long before Hyperion existed, and never
was a Hyperion project. We started Warp3D together with Sam
Jordan simply because nothing like it existed before. I was
disappointed that when I bought my CyberVision64/3D, I could
not use the 3D part. The rest, as they say, is history. For
MiniGL, the motivation was different. When we finished Heretic
II, we thought that the rest of the developer community would
also benefit from it, and we had hope that someone might add
some stuff to it and release it back to the community.
Unfortunately nothing like this happened, but it enabled
Massimiliano Tretene to do his QuakeGL port. Massimiliano also
added a new texture format to it. DAD: You are also a partner of Amiga, Inc. Can you tell us what
are the benefits from this partnership for both companies? In
the light of the recent Amiga announcements: are you going to
write ports of the licensed games for AmigaDE, AmigaOS or both
of them? HJF: We will definitely support AmigaOS 4.x and beyond. If it
makes sense, we will also support the DE, although the target
market for the DE is rather a low end. For example, since
Heretic II requires 64 Megs of memory, you will hardly want to
run that on a PDA or cell phone. We benefit from this
partnership because we do get a chance to have influence on the
future OS. This is a great opportunity. DAD: Do you have any thoughts you'd like to share with us in
the end? HJF: (not really, sorry :-) DAD: Thank you very much for your answers.