We have the pleasure of interviewing the creator of the best F1 simulator (Virtual GP) for Amiga, Paolo Cattani. Paolo is a versatile coderman, code in Basic, C or ASM, graphic artist, musician, and simulation expert. In addition to giving us this interview, Paolo has given us an exclusive small or large “gift” to share with the Amiga community.
Very good and thank you for granting us such an honorable interview.
First a personal question to go into matter.
1- Have you ever had an interview with some of the magazines of the time?
1: Many magazines reviewed some of my works (especially VGP, that was previewed/reviewed by many of them), but if I remember correctly I was never interviewed!
(Note Amigatronics: Paolo did not remember 🙂 He was interviewed in the Italian magazine Amiga Enigma Run, nº94 April 1998) 36-37-38
Before performing a game with such characteristics as Virtual GP it is necessary to acquire previous knowledge in computing and programming. We know that your beginnings were with the Commodore 64,
2- Why did you choose this system and why did you start programming games?
2: The C=64, at the time, offered the most advanced features from the “multimedia” point of view; it had arguably the best gfx compartment and without any doubt the most advanced sound chip available on a home computer, the SID, that was developed as an high-quality electronic instrument chip (and not simply as a “computer” sound chip). From the mere CPU power point of view probably the C=64 main competitor, the ZX Spectrum, was better, but all in all the C=64 was the best “value for money”.
Well, videogames… they were for me a sort of “fantasy world” where anyone could express his creativity, once granted the kingdom keys. And learning to program them was exactly that: getting the keys to enter that fantasy kingdom, where everything would be possible (once you know HOW to do it)!
Your first games were conversions and tests that you did to, I guess, go slowly getting into the world of programming, like “Pippero Agent 001”, which was a conversion of an arcade of the time, “Moonlanding”, a conversion of a game of Atari, and “Pippero in Miniera”, another conversion of another arcade.
3- How was your evolution and learning in this world as ungrateful as it is the programming, and especially in a C64?
3: Well, I wouldn’t say that programming is a world “poco agradecido”! Or, at least, it wasn’t for me. As I said above, I was fascinated by computers (in general) and videogames; and learning to program videogames was, for me, the quest of an adventurer trying to enter a secret, fantasy kingdom! Yes, it wasn’t easy, documentation was scarce, there was no internet or other people to ask for advice, development tools were rudimentary (no debuggers, everything has to be coded in assembly, etc.); but hey!, everybody knows that the life of an adventurer isn’t exactly EASY, is it?
There’s a movie of those times that I like very much: “Tron” (Disney, 1982). If you have never watched it I suggest you to do so, because it represents very well how we, the (videogame) programmers, felt and used to think of ourselves!
4- Are you satisfied with the latest games you made for this platform?
4: Unfortunately I wasn’t able to salvage a couple of the last games I programmed for the C=64, and that’s a shame because they were really very good ones; even if I didn’t sell them but simply gave them to my friends for free they were considered on par with commercial products. So, the answer is “yes”, although, growing up and learning more and more how to code in a more efficient way, I realized that I could have done things in a better way (but I think that this is simply the way life goes, you ALWAYS know how to do things in a better way, AFTER)!…
One thing that we have asked ourselves when seeing these games that you did, especially in C64,
5- Who were Pippero, Tuchero and Chiugo, characters used in many of your creations?
5: This is a question that will require a whole interview on its own, as it’s a very BIG question. To make a (really) long story short, I will say that they’re part of a whole fantasy world of fictional characters that I and my sister Lucia developed in many many years of stories and tales.
Beobo (Pippero), Tucchero, Quaqua and Ghiugo are part of the Beobi “race”, one of the three clans (the other two are “Blesche” and “Coni”) that made up the world of the “Tutti”, fantasy creatures that inhabitate our world unbeknown to us. There’s a project to put everything online and you can find an early page on my website http://www.paolocattani.com/personal/beobi/, as of this writing there’s only some information about the Beobi but the idea is to continually add new contents (but don’t hold your breath, it’ll require a lot of time)!
There’s also an android game featuring the Beobi, you can download for free it from Google Play.
We are going to advance in time and now we are in the era of the Amiga.
Here, in Spain, in the first years of Amiga, it was not usual for games produced in Italy to arrive, which gave us the impression that there were no games in your country XD. How wrong we were! In the 90s we finally began to get the first Simulmondo titles for the Amiga 500, but it was as a result of the bankruptcy of Commodore and with the massive sale of accelerator cards such as the Blizzards, when they appeared a lot of great productions made in Italy, especially 3D with textures that took advantage of these accelerators, AGA and CD-Rom, such as Breathless, Virtual Karting 1 and 2, The Shadow Of The Third Moon, your impressive Virtual GP, etc. Even great 2D games like Fightin ‘Spirit, Trauma Zero, Olofight, even some “unreleased” like Energy, Agricola, … The question is:
6- Where were you when Commodore existed XD?
6: I was very young when I got my first Amiga 1000 (15 years old), so in those years I continued the “tradition” of developing software just for fun and giving it away for free to my friends. Only my last titles eventually became commercial products, and we’re speaking the (late?) 90’s, here, so I think that it’s absolutely normal that you never heard of me in the “glorious days” of Commodore!
As you comment on your Web, to make the leap to programming in Amiga, you had to learn things that did not exist in 8-bit systems. Like Multitasking, interprocessing missatges, GUI design, Multimedia, etc.
7- Did it cost you a lot to make this jump to the 16 bits?
7: First of all, I beg your pardon but I don’t like to think to the Amiga as a “16 bit” architecture. The Amiga was a 16/32 bit computer, as many things were already 32bit (starting from the OS, that was 32bit from day one). The Amiga chipset bus was 16bit but the address range was 19bit (after extended to 20bit with the “fat agnus”) and all the addresses were controlled as 32bit registers.
I’d like to state this fact not only from a historic/technological point of view, but also because, from my personal point of view as a programmer, the “salto” was, in fact, from 8 to 32bits in many aspects! And the answer to your question is: well, the big deal was not with the amount of “bits”, after all once you understand binary numbers (and the hexadecimal notation) a bigger number is simply that – a bigger number, nothing more. No, the big deal was not with the 16/32bits architecture, but with the complexity of the system!
8- Was it easier to program in Amiga than in C64?
8: Without ANY doubt, the C=64, hands down! When we speak about the Amiga, we must take into consideration the fact that, despite for some strange reasons it’s not acknowledged by many people (who only speak of Apple and Microsoft), the Amiga was a milestone in the history of computers, and a real gamechanger in the multimedia world.
The Amiga was the first multimedia computer, so ahead of its time that the word “multimedia” didn’t ever exist, and learning how to program this marvelous piece of hardware was a real challenge for the very simple fact that there was NOTHING, even in the “professional” world, that could come close to it in many aspects!
9- The Amiga BASIC was as horrible at the time of programming as you say on your Web, or was its limitation the worst?
9: AmigaBASIC was developed by Microsoft, and was 100% a Microsoft product: it was slow, it was “bloatware” (it required a lot of RAM to do even the simplest things), and it was full of bugs!
I cannot say it for sure, but I don’t think that even a single commercial product was ever developed with AmigaBASIC! Commodore wanted it because Microsoft BASIC was renowned in the business (PC) world, and the idea was to give the Amiga a sort of “professional” look by bundling it with an enhanced version of Microsoft BASIC; but AmigaBASIC never became a selling point and quite everyone ditched it because it was (quite) unusable. When AMOS Basic became available everyone realized WHAT a real “Basic for the Amiga” had to be, and that was the final nail in the coffin of AmigaBASIC!
With “Cosmo Defender” you have already started creating quality products for the Amiga. Seeing your creation based on the “Hard Drivin” called “Impossible Drivin”, I believe that you became a master programmer for the machine par excellence of Commodore.
With “Thunderhell” you showed that you could program games of any kind and with amazing quality, being better than many commercial games of the time.
10- Why were you inclined to perform a typical shoot’em up and get out of the platforms you had made to date?
10: I used to like very much shoot’em up and I programmed a couple of them for the C=64 (unfortunately, they are part of the games that got lost). In the late 80’s there were many good games of the genre, and I wanted to develop one for the Amiga. In fact, Thunderhell was born out of a bet, I wanted to show that a good, commercial shoot’em up could be developed in (pure) C without a line of assembly, and that it could be on par with games such as Xenon 2 Megablast (Thunderhell, from the graphics point of view, is heavily inspired by the masterpiece of the Bitmap Brothers)!
(Thunderhell video and demo exclusively for Amigatronics!!)
In your last stage with the Amiga, you wanted to make your masterpiece, Virtual GP. And what if you got it !!!
Seeing all the technical explanations that you comment on the Web, it must have been a very ambitious project that would give you a lot of headaches. The physics of the game must also have been very complicated.
11- Did you find it very difficult to create this game?
11: Quick answer: yes!
VGP was, for sure, the project that required the most efforts in those days; the physics had to be realistic and accurate, the 3d engine had to be up to date with what was available on other systems (texture mapping, gouraud shading etc.), and things had to be fast on not-so-fast hardware. It was a real challenge, and yes, it gave me lots of headaches!
12- How much time did you invest in the total programming of the game?
12: Difficult to say, as I have no records of the total time spent on developing it. But I can say that it required about 3 years of development (the project started circa 1995).
13- Did you have any help from the F1 federation or any team to achieve the achieved realism?
13: No, the game was not “official” (no real names), so I got no help from the F1 federation.
However, there was a friend of mine that was working as an engineer for an Italian F1 team (sorry, I cannot say more); he was so kind to show me (again, not in an official way) some invaluable telemetry that could be used to “tune” the physics of VGP.
On the year 1997 the first game of Formula 1 of Psygnosis appears on the Playstation 1, Virtual GP appears one year later for Amiga AGA,
14- Did you want to demonstrate that with an Amiga AGA and an accelerator you could create something similar in our platform despite not having specific chips for 3D?
14: No, the VGP project started early, circa 1995, so it had nothing to do with the PSX F1 game.
But yes, I wanted to show that on a modern (AGA) Amiga texture mapping and other gfx tricks could be done in an efficient way. You know, Commodore had undergone bankruptcy, but in those years there were many plans to salvage the Amiga by different companies.
Many people were saying that the Amiga was dead because it was impossible to write modern 3d engines for its graphics architecture; well, I wanted to demonstrate that it wasn’t the case, and that an efficient 3d engine could be developed for the AGA architecture. The idea was to show that the Amiga could still be a good gaming platform, with just a bit of upgraded CPU power, hoping thata big company could buy the whole Commodore stuff and continue the production of our beloved computer!
Once I read that it was an effort that worked that well in a 030/50.
15- Why the other games did not go as well as this in a 030/50? It even runs on a 68020 is still playable.
15: It depends upon the game type, but generally speaking we can say that many 3d engines were simply “ported” from the PC world, and were not suitable for the Amiga AGA architecture. I dont’ know the reason by which many programmers did follow that way, maybe it was simply because Commodore was no more, big companies didn’t invest anymore in the Amiga platform so noone had interest in researching efficient algorithms for the AGA architecture.
The Amiga was no more the “first choice”, games were being developed mainly for the PC and then (somewhat) ported (if ported!) to the Amiga, so developing an engine especially designed simply for a porting was not profitable…
The 68020 cpu is 100% compatible, in terms of instruction set, with the 68030, so VGP runs on it; the real problem is that the 020 lacks the data cache, and the texture mapping algorithm of VGP is heavily based on the bit-field instructions of the 020/030 along with in-cache operations, otherwise the algorithm becomes quite slow; yes, it MAY still be somewhat playable, but not very good, indeed ??
16- Was it a problem of the chuncky2planar routines of the time or was it a problem of not knowing how to optimize the 680×0 code?
16: Both things, but mainly, IMHO, the fact that in many cases the starting algorithm itself was developed on a completely different hardware and couldn’t be easily adapted to the Amiga architecture.
17- Did you use these chuncky2planar routines in the game or did you create your own routines?
17: The VGP 3d engine has no such a thing as a chunky2planar routine for the simple fact that the algorithm is not a “chunky pixel” one. The 3d engine of VGP works natively in the “planar space” (if I can use this metaphor) and uses directly the planar architecture of the Amiga, so no “conversion” is required.
The very fact that a chunky2planar routine is required in an engine is a demonstration of what I’ve said above – someone is “recycling” a wrong algorithm, an algorithm developed for an “alien” hardware, so it won’t, ever, achieve a very good performance (unless you have a lot of CPU power)!
(VGP runs on standard Amiga 1200 cpu 020+FastRAM!! – Sorry poor quality video)
You comment that the journals of the time gave him a lot of points.
18- Did you sell many copies of Virtual GP?
18: Considering the shrinking market of Amiga games in those years, I daresay “yes”.
Unfortunately, the Amiga was a dying platform, and sales were, of course, affected by that fact.
19- Do you think that the issue of sales piracy affected you?
19: The game was heavily copy-protected, but the market was “strange”, those days; people still using Amigas felt “proud” of still owning and using them and wanted to support them, so they wanted to buy software (and not pirate it) in order to keep developers from moving to other platforms.
For this reason when I released (on Aminet) updates and improvements of VGP I completely removed the copy protection system, and sales were not affected by this fact. I dont’t know if they exist or not, but I didn’t ever find cracked versions of VGP…
20- Did this game serve as a shuttle for your working life or did you already have a stable job at that time?
20: In those years I was working for Sun Microsystems as a Java teacher, so it had little impact on my working career at that time. However, VGP was probably the project that ignited in me the passion for the realistic simulation of physics, and paved the road for my career in the computer simulation field.
(Paolo in -Festival of Engineering-)
Until recently, Virtual GP was still on sale at some existing Amiga stores such as Vesalia or Amiga Store,
21- Did you still get some benefit from those possible sales?
21: No, I think that they are probably copies that were sold in stock by the publisher and that are still available somewhere. The last royalties were payed to me many many years ago!
There were complaints about the difficulty of controlling the car and we know that you released an update to take an arcade mode out of the game to make it easier and more affordable,
22- Perhaps the point of view of the camera in the cockpit is too low and the track is not well appreciated?
22: Yes. But this is exactly how a real F1 driver sees the track, so…
23- Why “skid” so easily? Did you want to increase realism to the maximum?
23: Consider this: a Porsche 911 GT3 has 500HPs and weights about 1500KGs. Have you ever driven one? Have you ever tried to floor the gas pedal and see what happens?
And, here, we are, speaking a car that has a power to weight ratio of about 1/3. Now, VGP simulates F1 cars of the 1998 season. In 1998, a F1 car had about 800HPs and weighted 600Kgs. A power to weight ratio of 4/3!
Would you think it so difficult to make the car skid, with such an astonishing engine?
Power on a vehicle that weights less than half a normal sport car?
24- Why did not you give some graphic spin effect on the wheels, so that they seem to be rolling on the track and be more realistic?
24: To save some CPU cycles! A (fast) rolling tyre tends to show a uniform shape, no text or logo can be read on it (everything is blurred) so the fact that they’re not really rotating can be noted only when the car starts.
As for the AI of the rivals,
25- What level IA is in the rivals? For example, we see that they dodge or even reverse to avoid an obstacle, how it can occur when a car is stopped in the middle of the track.
25: The AI in VGP is quite good, despite being somewhat rudimentary if confronted to the next chapters of the VGP “saga”. If I remember well, they used a very simple algorithm (follow the idea line, brake/exit from it only if there’s an obstacle in front) that was, however, quite effective.
26- What actions are the rivals capable of?
26: Well, as I said above, in the original VGP they still mainly followed a pre-computed ideal line, so that they knew where to brake and the maximum speed at which a turn can be taken (the ideal line it’s always the same, so they need to adjust speed only because of fuel weight and/or tyre wear). They do so until an “obstacle” appears in the ideal line; in that case, they see if there’s enough space around it to avoid it without braking, otherwise they adjust speed to change lane or come to a complete halt if no alternate route can be found.
Despite being very very simple, the algorithm covers the great majority of cases (including overtaking!) that can happen on the track.
Maybe the slopes of several circuits like Monaco or Interlagos are not quite well recreated,
27- Do you think you could have improved this?
27: Of course, everything can be improved, especially 3d assets! As I said above, VGP was not an official product and every piece of information had to be found by myself, including track blueprints – and some were better than others. So, it’s not a surprise that some tracks were recreated in a better way than others.
The angles of the camera, the repetitions, the AI of the opponents, all this is great, and much more if we think about the time when the game came out,
28- Do you still have the source code of the 3D engine created for Virtual GP?
28: I have somewhere a dump of my old Amigas’ hard disks, so probably the VGP source code is still there; but, honestly, many years have passed…
29- Do you think that this engine would have served to create other types of games, such as a 3D fifa?
29: Absolutely yes! In the first demo of VGP, the one that was still called “AlienF1” and that was uploaded on Aminet, you can see parked aside of the track the texture-mapped, gouraud-shaded 3d model of an X-Wing (many people wondered about it)! I wanted to show what the VGP 3d engine could be capable of, and that, as an example, a game such as “X-Wing vs Tie Fighter” could be done, using my engine. Unfortunately, Lucasgames was no more interested in developing games for the Amiga…
Seeing that VGP2 came out for PC, MAC and MorphOS,
30- Will you resume the project and will the final version of the VGP3 be released?
30: Maybe I don’t understand the question (in that case I beg your pardon), but VGP3 was ALREADY released, back in 2007! It was available for Windows and MacOS X until circa 2014, on Archive.org you can still see the evolution of its website:
Here you are some videos on youtube:
Some other products were developed on the VGP3 engine, as an example the Mac only game Auto Sport Driving:
31- Is it likely that VGP3 will also come out for MorphOS and even, OS4 or AROS, or even more amazingly, an improved version for AGA machines?
31: VGP3 was available for Windows and OS X only, because it required at LEAST the OpenGL V2.0 specifications that were not available for MorphOS or OS4.
I don’t know how the situation is at the moment, given the fact that OpenGL is currently at V4.x maybe a 2.0 version is now available on MorphOS or OS4. In that case, a porting of the VGP3 engine could be possible…
(VGP 2 in MorphOS – AmigaOne X5000)
To finish I did not want to leave the opportunity to ask what we always ask all our Amigatronics interviewees,
32- Are you still using a commodore system at present, be it Commodore 64 or Amiga?
32: Well, if you’re referring to a REAL system (real hardware), the answer is no, I haven’t turned on my old computers in many years (though I still own the C=64, my first Amiga 1000, an A500+, a towerized A1200 and my last Amiga, an A4000 accelerated with a GVP040/40). But of course I still use emulators, I have a fully working emulated Workbench 3.0 on my Hard Disk!
33- Do you know the new news of the Classic Amiga or New Generation?
33: Yes, I try to follow the news; I’m especially interested in new hardware, and in the past I remember that I was tempted to buy myself an AmigaOne X1000…
34- Have you heard about new developments in both games and hardware?
34: I must confess that I don’t follow much the news about (new) games, I’m far more interested in new hardware and/or OS news.
35- Would you encourage to perform some kickstarter of a game for Classic Amiga and what requirements would you need for this to be carried out?, both at the time and money level.
35: To be honest, even if I have a deep respect for the retrogaming and retroprogramming community, I’ve always been more fascinated by the future than by the past. I’m seriously more interested in, say, laying my hand on that hot-stuff RTX (real time raytracing) from nVidia than on programming old hardware.
The Amiga will always remain in my heart as the most fascinating and exciting computer that I ever owned, but I’m not very interested in the “classic” world any more: what I’d really like is an updated, modern, new Amiga platform with state-of-the-art features.
In that case a kickstarter for a new game for such a platform would be a very interesting thing to do!
It has been a pleasure to interview you, I do not know if you are aware that you are the creator of the best driving simulator for the Commodore Amiga, there are even people who play it with a steering wheel connected to the Amiga !!!.
I suppose you will be proud of the work you did and make many users of this beloved platform happy. We hope that you continue programming and that life will give you many successes. We hope to see in the near future a game for Amiga created by maestro Paolo Cattani.
Thank you very much for honoring us with your wisdom and good luck in life. CIAO !!!
…And thanks for sending the Thunderhell demo!!
Thunderhell demo first level (unknown amiga game) -T- turbo mode – -Space- select weapon (add fastram to avoid graphic error)