Assetto Corsa: The Apex Interviews Marco Massarutto
If you’ve ever dipped your toes into the fascinating world of driving simulation and software, you might be familiar with the phenomenally successful Assetto Corsa, one of the most popular and versatile simulators on the market. Our guest this week is Marco Massarutto, the co-founder and executive manager of KUNOS Simulazioni, the developers behind Assetto Corsa.
Arguably one of the people responsible for making the digital race track as much a part of motor sport and car culture as the real thing, Marco joined us this week for a fascinating discussion about his life in cars, the work which goes into creating class-leading driving simulators, and what makes a company like KUNOS tick.
Hector Kociak interviews Marco Massarutto for The Apex by Custodian. Recorded and produced by Jeremy Hindle and Guillaume Campos. Transcribed by David Marcus. Edited by Hector Kociak & Charles Clegg.
Could you tell us a bit about how you became interested in cars, how you came to work in software, and how the two came together for you?
Well, long story short, my dad was a taxi driver and when I was very young, my brother worked as a mechanic, so I was immediately fascinated by that kind of thing - actually by any kind of vehicle: bikes, cars, boats, anything that moves. I always loved mechanical things, engines and so on. I'm also part of the generation which first saw the game ‘Pong’ played on the TV. I was, I think, seven years old, and when I realised that it was possible to interact with our black and white TV, I just went mad. It was mind-blowing to me. When I became a teenager, I still loved cars, and racing games were the only thing that allowed me to drive before I was old enough to get a driving license.
Eventually I brought the two things together. Even when I got a driving license, I didn't lose my passion for video games. At secondary school I studied computer science, and eventually when I graduated I started to work in the computer business, but in a different line of work. However, a few games like MicroProse’s Grand Prix II in 1996 and Sierra Sports’ Grand Prix Legends in 1998 changed my mind about sim racing. Grand Prix II was a game changer to me, because it led me to get addicted to real Formula 1 and real motorsport. Grand Prix Legends was also so deep in terms of simulation, in terms of car feeling, and the fashion of the golden era of Formula 1 that actually I felt that I wanted to be involved in the business of these applications. I realised I needed to do a job that was in some way related to this work, because I loved it that much. So step by step me and Stefano Casillo, the other founder of KUNOS Simulazioni, started to work together. We began at the end of 2004, and the relationship has lasted for more than 17 years.
Many of our listeners are old school racers: they've owned vintage race cars and spend all their time in the physical, rather than digital world. They would certainly ask: how do you transfer a complex physical object like a racing car, and a racing track, into a computer simulation?
I think that in our specific case, the approach we had in the way how we wanted to simulate cars was dramatically important. When me and Stefan and the other guys that joined us at KUNOS Simulazioni started to work together, the goal for us was not to make a racing game. We actually wanted to create something that could simulate car dynamics at their very best. So before thinking about anything else, we started to work on the physics engine, so as not to try or pretend to copy car behaviour, but create a physics engine that was completely respectful of the laws of physics that affect a car’s behaviour.
When we work on a specific car, and we start to put the data relating to this car into our physics engine, we don't need to work with magical, made-up numbers in order to make it similar to the real one. Actually when we do that, the car drives as we expect. Funnily enough there are some cars that, for example are very iconic - I won’t mention the brands or the model itself - but legendary poster cars. However they are not so great to drive, for example because of a lack of power or poor handling. We ended up reproducing them exactly as they were in reality. Sometimes this could be disappointing for users, but eventually people really appreciated the way in which we simulate cars without lying, with no special tricks in order to turn a car that is boring into a more interesting car.
As to how it all works, well, we need a lot of data; there’s never enough! There are two very important aspects to it all. One is the physics model, and then that is very related to the second thing, the tyre model. The tyre is the only thing that lets the car be in touch with the ground, so the better the tyre model, the more you can expect to get the proper kind of feeling from the car. Adding as much data as possible about the cars can help us to make them even better in the simulation.
When it comes to modelling the cars, we have a graphical process, reproducing the car visually too, which is usually quite easy for modern cars. It’s less easy when we work with classic cars, because car data is not available as widely; there is no database of it, so we usually use blueprints and a lot of pictures. We are also starting to use laser scans in order to get the proper measurements and shape of these cars.
With modern cars we just receive the car data from the car manufacturers, so we can be very effective in the way we work on that. Within the car data, we also receive the technical data about the car, the power, the torque, the interactions between them and all sorts of other things that we need to work properly on the data. For nine years we’ve had our main studio right beside Vallelunga racetrack, close to Rome, and in that time we’ve had the chance to develop a very good network with car manufacturers, drivers, technical engineers, and all sorts of professional figures who can help us to refine the car models.
Step by step over the years we’ve also improved the way we work on the cars. We get the data, we put it into our physics model, and sometimes there are special things that we need to work around which are typical of a particular car. For example, on the Alfa Romeo GTA of the ‘60s, there was a rear suspension design that was very particular. Alfa Romeo had designed it in order to allow the front inner wheel to lift during the bends, without losing grip or traction or something like that. I remember that with the first Assetto Corsa, this was not so easy to replicate, but eventually Stefan and Aris (Vasilakos) worked together and got it right. Sometimes certain cars would need special attention because of this kind of architecture, but that said, when we work with car manufacturers and tyre manufacturers, we can simulate the car behaviour very well.
One thing that comes out of that is the question of realism. You use driver and user feedback during development - but is too much realism sometimes a bad thing?
I could tell you a lot of stories about drivers, because we meet a lot of them! It’s quite funny because we have found the same approach in working with real racing drivers: if you get two drivers in the same team that drive the same car, the faster one will tell you that the car is good enough and there aren’t any issues with it. The slower driver will always find something wrong - too much oversteer, understeer, and so on, because the driver is always the best! We’ve seen the same thing when people knock on our office door in Vallelunga and drive the simulator. For two teammates on the same team, for the faster one, the car and the simulator are very realistic. The slower one always claims that the real car doesn't behave like this etc., and then on the real track the day after, you can see exactly the same approach!
Joking apart, we usually say that if we have to choose whether to talk to race engineers or drivers, we usually prefer the race engineers, because as we say, the numbers never lie. Numbers and data are very important, while driving itself is always subjective. Through the years, especially with Assetto Corsa Competizione, our Blancpain GT Series simulator, we had a lot of real drivers as testers, and they have helped a lot in improving handling and other details, even in terms of sound effects that could help the driver to understand what is happening better. I think that with Competizione, we created very close relationships with the pro drivers, and we therefore were able to achieve an even higher standard of realism. There’s also the fact that in Assetto Corsa I, you can drive any kind of car, from a very old Fiat 500 to the latest Ferrari model, so you don't have to find a compromise. However if you need to work on very different cars, you dedicate less time to any specific car or tyre. Each car comes with a specific tyre set, so if you have 50 different models, you could have 50 different kinds of tyres. In the GT Series, we have one compound, and that helped us focus a lot and made the simulation even more effective.
I would say that you can never achieve enough realism. Sometimes people equate realism with difficulty of driving or frustration, while the opposite is true. The more the car in the simulation is realistic, the more feeling you can get, because the car can be even more communicative with you in order to let you understand what is happening. The more realistic it is, the more you can actually drive the car in a better way. Trouble comes when you don't understand what the car is doing, not when the car and the simulation is very realistic. So in that sense, there is never enough realism!
I know that for Assetto Corsa Competizione, you use a different software engine from Assetto Corsa I - Unreal Engine 4 versus an in-house engine that you built for the original Assetto Corsa. What were the benefits and downsides of using a different engine for something like ACC versus your original engine?
Well with Unreal we specifically use the visuals, while the physics comes straight from a very deep evolution of the physics engine in Assetto Corsa I. So we used our physics engine and moved that to the graphics and game structure of Unreal. I would say that one of the strong points of using Unreal is that after three weeks in R&D activity, we were able to have a full grid of cars in Monza on the main straight (without the physics yet, so the cars were not moving), but in three weeks we had a very good idea of the kind of graphics we could achieve. The VR was already there too, because it was a function in Unreal that you could adjust. In order to have the VR working in Assetto Corsa I, we had to develop all the support ourselves. The Unreal Engine is also designed to port the game into different formats, like Playstation, X-Box and Nintendo Wii amongst others. So those are the strong points.
The weak point is that I would describe KUNOS Simulazioni not as a gaming studio, but a racing simulation development studio. So our approach and the way we produce our software is different from video game companies. With Unreal we had to force it at points to do what we needed and this is not the best way to make Unreal work. If you actually want to work with the Unreal engine, you have to face the challenge and the good and the bad things that it gives you. You should generally avoid forcing Unreal to do what you need. However this is something that you learn only after you start to work with an engine; it's like a marriage! Once the honeymoon is done, you have to sometimes work very hard to make the marriage work. So we had some struggles along the way. Also because Unreal Engine is always in development, when a new version is released, it will come with a lot of new features but also some bugs. And these are sometimes bugs that can actually break your software or your game!
Ever since we released the 1.0 version of ACC however, we have continued to work to improve it, and this process has run for more than three years. In three years Unreal Engine has also been improved and updated, and every time Epic comes out with a new version, we have to fight with incompatibilities or things that we thought would not cause any problems again. For example, the latest version of Unreal, that is the one we used for the version of Competizione that was released last week, initially broke the audio system of Competizione. It was just a little problem, of course, but eventually working with Epic we figured out what we had to do. You need to work and be ready for that sort of thing.
It sounds like running a race team - a constant fight to update things but also avoid breaking what already works!
Yes, you can't take anything for granted.
A crucial element of these simulators that we haven't mentioned yet is of course force feedback. Is that all just the data being transmitted into wheel movement? When you develop the physical sensations drivers feel through the wheel, do you have to invent clever ways of transmitting sensations that you would only otherwise feel through your body?
This is a very interesting question. The force feedback in Assetto Corsa and Competizione is widely praised, but there are just, I think, two lines of code managing the force feedback in our products.
Yes, because the force feedback function just reads the data and doesn't invent anything. That being said, there is another part of the code that actually is designed to transmit some additional information, because usually people who use racing simulators do it at home. Even motion simulators can't transmit the G-forces like a real car. So you sometimes need to do something with the software and the force feedback that can help you to understand even better what the car is doing. In a real car, even through the steering wheel, sometimes you don't feel the bumps on the track. You can feel the curbs for example, because you get a lot of vibrations. In the high speed corners you can feel more resistance from the steering wheel. However if there is a bump on the track, you can see a very little vibration. In the force feedback in a simulator you can only get the sorts of vibrations created by wheel movement, with some exceptions, because there are very few models that also have a vibration engine built into the rim which lets you feel, for example, the vibrations of the engine.
In essence we need to work in order to create a way of communicating with the driver, in order to let them understand if there is a bump or something like that on the track. For example gravel on the track can affect tyre vibrations, and so on. Given all of this, we need to find a compromise, but we usually give the player the option to turn all of the ‘additional’ effects on or off. Some players like to feel any kind of information. Some others just want to get the tyre grip on the track, and that's it. Some people, the ones they call ‘aliens’, use a pretty low amount of force feedback, because they don't want it to interfere with their driving. Others prefer to get the maximum torque possible, because they like to struggle …
… it makes them feel like real racing drivers.
Let's talk about the community, because Assetto Corsa has an incredibly enthusiastic and dedicated fanbase out there on the internet who love to develop their own content. To what extent does that community inspire you and help KUNOS make better products?
It gives us a very good crystal ball to predict what people want! Jokes apart, I think with Assetto Corsa I, we tried to collect as much information and feedback from the users in the forums, so we did a lot of talking with them. I think that at the time, we felt like a game like Gran Turismo was totally missing on the PC, so Gran Turismo at that time actually inspired us a lot. The original Assetto Corsa allowed you to drive very different sorts of cars, whatever you liked: a vintage car, a GT racing car, a road car… and at the time it was released, it was not easy to find a product like Assetto Corsa on PC. In developing it, and also in choosing the kind of cars and licenses we wanted to put in the simulation, we talked a lot with the fanbase over time.
The problem is however that sometimes people don't know what they really want. You can get a lot of very noisy guys that love to share their feelings online, their needs and what they want, but we also have a very silent majority of people that just play the simulator. They read the forums, but they don't interact, and you need to also understand what they want too. In Assetto Corsa I we tried to give our vision of what a simulation should or could be, because all of us are sim racers. So we tried to make the kind of simulation that sim racers like us would like to play, and that worked out. With Competizione it was a completely different approach, because it was time for a new Assetto Corsa product and we needed to evolve our technology. However Assetto Corsa was still very successful in terms of community, sales and things like that. So at that time, that was now four years ago, it would not have been right for an ‘Assetto Corsa II’, because Assetto Corsa I was really successful and it still is.
We found that the GT3 Series from Blancpain was the perfect match for us, because the calendar included many of the most exciting international circuits and the best GT racing cars. You have Ferrari, Audi, Lamborghini, Aston Martin and so on. It was a simulation and a product that was much smaller than Assetto Corsa I, that includes almost 180 cars; at the moment we have I think something like 40 cars between the GT3 and GT4 seasons. However this also helped us be a lot more focused on a specific kind of cars, tracks, and tyres, like I said earlier. Eventually it became a success because we went really deeply into how we simulated the championship, and we also included some features that were missing in the original Assetto Corsa like rain, night racing, specific car setups and things like that. In the end people really appreciated it; the product that was designed to be a spin off of the first Assetto eventually became a success too.
That’s very interesting. Could you tell us a bit more about KUNOS itself? What do you think in its philosophy or approach has made the company so successful?
I’d never call it a company, because we are a team of friends that work together with the same aim. That is the philosophy that drives the way how Stefano and I, and all of us, work together, because our main goal early on was just to make enough money to not be forced to other jobs and do the job we love! For the first six years we struggled to get it going. During that time me and the other guys in the company had more than one job in order to make it all work, but the point was that every single person that joined the company through the years was committed. We had this growth that was very slow, because we started at the end of 2004 with four people. We were six in 2011. We were eight, and then ten in 2012. However everyone who joined our team was just welcomed to the family, and bought into the same kind of philosophy of working together on several aspects at once - that could be the audio, the physics, the graphics, the user interface and so on.
I would say that 95% of the people at KUNOS Simulazioni are sim racers. That can also be a problem sometimes, because we take time to think about all this as a simulation, but you need to remember it's also a product that must be sold like any other video game on Steam or other services has to be. You also need to respect some rules in order to do that. If you can't sell enough copies, you don't have the money to continue to grow, and this is very important because you can't stay on the same line of development. You always need to improve, because your competitors are doing the same. I think that through the years we have found the right balance, in order to never compromise in terms of the simulation value of our products. Instead we continue to improve it. The 1.8 version of ACC as it is now could be defined more like a sort of ‘Assetto Corsa Competizione II’, rather than a new build for Assetto Corsa Competizione I, because this is the way we like to work.
We are also lucky because our publisher, 505 Games, really trusts the way we work and our approach. Our games are very successful in terms of sales, so they just let us work in the way we do. But this is not very common; in other companies, the work and the time dedicated to the version of ACC would eventually generate an Assetto Corsa Competizione II. However at the moment this is not the way we like to work. The community also really likes this approach and they continue to support us very generously, so as long as the community continues to support our approach, we'll continue with it!
I think it's very easy for people to expect that there’s a team of 500 people making this stuff, when it is usually a hard core of really committed people who make sacrifices to produce what they really love.
Marco, we're coming up on time, so I've just got some quick fire questions for you to end. The first is: what's your favourite race track in the world?
Second question: your dream car?
If I had to choose just one, I would say the new Ferrari Daytona that has just been unveiled. It is the new interpretation of the Ferrari 330 P4, which is my favourite car ever. It's beautiful.
Good answer! Next question: what is your prediction for the next big breakthrough in sim technology, if there is such a thing?
It is a continual evolution that never stops, but I would say that we have done a very good job with artificial intelligence. It runs on the same physics, so actually sometimes you can't recognize if you are watching a multiplayer or a single player race. However I think that this is a field where we can improve even further.
Final question: if Marco Massarutto was not in the simulator or software business, what would he be doing?
This is a very nice question! I could still be a taxi driver like when I started to work in KUNOS Simulazioni… haha! I've also been a columnist and a journalist for several magazines in the past too. Maybe I could do that. Or maybe...I would like to be Jamiroquai! We already have one, and I’m not a singer, but he likes cars and e's a very nice guy. In the next life maybe...
Here’s hoping! Marco, sadly that's all that we've got time for this week, so that just leaves me to say thank you so much for such an interesting interview.
Thank you very much.