D.A.D.

Digital Amiga Dreams

Interviews - Hans-Joerg Frieden

Date of birth: 14-Aug-1968

Place of residence: Trier, Germany (near the border with Luxembourg)

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.

(C)2000-2001 Damir Arh, All rights reserved.

Previous