The racing genre is seeing its fair share of action on consoles this year. With the likes of Forza Horizon 3 and Gran Turismo Sport hitting the shelves, there’s something for you regardless of the console you own.
Aside from the aforementioned big racing games developed by studios owned by Microsoft and Sony, there’s Assetto Corsa as well. Made by a team of just 30 in Italy, Assetto Corsa initially launched for PC via Steam as an Early Access game, and it’s now available on the PS4 and Xbox One.
Gadgets 360 spoke to Marco Massarutto, Executive and Licensing Manager at Kunos Simulazioni to find out what challenges it faced in bringing Assetto Corsa to consoles.
The Gran Turismo of PC, for PC
“When we conceived Assetto Corsa in 2011, the goal was: ‘let's make a game that looks like Gran Turismo and performs like a PC simulation.’ I would say we have reached that goal as, over the past few years, several magazines have claimed that Assetto Corsa is the Gran Turismo of PC,” says Massarutto. “We have always been focused on realism and working closely to real car manufacturers and racing teams in order to achieve a very immersive driving experience.”
While being the Gran Turismo for PC works for that specific platform, we wondered what makes Assetto Corsa stand out on consoles, more so with the likes of Need for Speed, Forza, and Gran Turismo itself being established brands. For Massarutto it’s all about pushing realism to its limits.
“The only way for Assetto Corsa to make the difference, is doing something different: the driving experience, the love for car details and the driving feeling achieved in Assetto Corsa can achieve this. Because we believe that, especially on console, none of these titles have pushed the realism at this level,” he states. “And, since the titles mentioned are really great games, the only way for Assetto Corsa to find its path and getting a strong user base on console, is providing the same driving experience and attention to car details that made the game so popular on PC.”
Using your feedback and everyone else’s
While the likes of Turn10 and Polyphony Digital have large teams working on their games, Assetto Corsa’s small development size meant that launching in Early Access on Steam was the way forward, depending on community feedback to polish and perfect the game.
“Positive criticisms are always welcome and are very important, since in a complex product like Assetto Corsa, where each single car is reproduced as unique model, in all its details in terms of appearance, sounds, physics, materials, and so on, it's very challenging to test each single parameter, and thanks to the community, through the years we have been able to refine it at our best,” divulges Massarutto.
This isn’t all, users have been vital in selection of add-on content to the game.
“The opinion of gamers has been very important to determine our choices in terms of additional content: 24 car models included in Assetto Corsa have been chosen by the community with a poll we set in 2013,” he says. “This helped us to guarantee to our community the content they asked for, bringing back the huge investment needed to get those licenses and to produce those content.”
And it's these learnings that have powered the PS4 and Xbox One release.
“Having produced and released the game in advance on PC, the console version will take advantage of the level of optimisation and fine tuning achieved on PC,” Massarutto explains. “I think that the console audience is very curious to get the same famous simulation on their favourite console because it's so popular on PC.”
A cornucopia of code
As is usually the case with complex projects with server- and client-side components, Assetto Corsa is coded in multiple programming languages. For the PC version, C++ is used for its simulation component, while the multi-player server is written in Go.
Along with this, the user interface and launcher core is in C# and the interface front-end is in HTML to allow users to create UI mods. Python is used for developing plugins for retrieving simulation data in real time. APIs are in DirectX 11 for graphics, FMOD for sound, and ODE for collision detection and rigid body physics. From the outset it would seem like a challenge to maintain its code base while bringing the game to consoles, adding to another level of complexity.
“The vast majority of Assetto Corsa code has always been C++, so the port to console was not a big problem from that point of view. Of course the original code had to be reworked in order to offer the performance we wanted to reach, and that was the real hard work,” he admits. “We still use the Go language for the race servers and that required very minimal changes for the console version. Assetto Corsa code remains surprisingly nice to work with after more than 5 years of its life.”
The only difference between Assetto Corsa on PC and consoles
On the topic of technical improvements, developing Assetto Corsa for consoles has been an iterative process, requiring the studio to reconsider its thought process towards development for them.
“With new first parties - Sony and Microsoft: when you publish a game on console, you have to meet hundreds of formal and technical requirements that allow your game to work properly under their respective environments. It's time demanding and we had to deal for the first time with some technical requirements never met before. But we did it,” he says.
“From a technical point of view, the very first time we launched Assetto Corsa on PS4, the game performed about 15 to 25 fps, with most of the post-processing effects off. Then we started a deep optimisation process, re-designing the rendering engine and working with a very different approach based on multithread. We got 60fps, finding a great balance also in terms of graphics details. The track surfaces, track details and car details are exactly the same you get on PC, without any kind of downgrade,” he claims.
The same applied to the Xbox One.
“Then, we brought the new code on Xbox One, and we got 35 fps, at 900p. Today, Assetto Corsa on Xbox One performs 60 fps at 1080p,” he claims. “The two versions [Xbox One and PS4] look the same and both versions perform 60 fps at 1080p. Also the graphics assets - I mean 3D models, tracks, textures - are exactly the same.” Performance aside, limitations in terms of control scheme meant bringing the PC release’s many options to consoles has been no easy task. This required the user interface to be rehauled completely.
“Creating a totally new interface based on a different software environment has been another interesting challenge. In terms of design, we wanted to provide a nice and easy user interface that didn’t scare players with tons of technical options but can easily allow them to get the best of all the features and content available. The UI is the only main difference between Assetto Corsa on Steam and on console.”
Mods might show up, but there’s a catch
As for user created modifications or mods, which are a huge part of the PC experience, don’t expect them on consoles soon or to the same degree they’re present on Steam. “We would be glad to bring on console some of the most brilliant car liveries created by the community for the PC version and I believe this might be possible in the future,” he hints. “Regarding the cars and tracks, this is not possible due to technical and licensing restrictions.”
Restrictions also apply to platform support. Unlike Ark or We Happy Few, which launched on the Xbox One’s early access program known as Game Preview, this was not possible for Assetto Corsa. Though Kunos Simulazioni employs about 30 people, only 12 of them work in the core team for the game.
“As seen on Steam, an early access program requires a fully-dedicated process, and the development on console is pretty different than on PC in terms of submissions, milestones, requirements, that is all really time demanding. Also, if we consider that in the last 18 months we worked also on the PS4 and PC builds, an early access program on Xbox would have been definitely too hard for us to support,” he admits.
VR is incredible but…
Its this lean team that is a major factor on which emerging technologies Kunos Simulazioni would like to dabble in. Particularly in regards to VR. Right now, Assetto Corsa supports Oculus Rift and may work with HTC’s Vive soon. As for the likes of PS VR the approach is more cautious. “With Kunos Simulazioni being a little company, we need to make sure our investments, in terms of resources and workflow go in the right direction. I believe it's a bit early yet to take a decision about this matter, since it's not clear yet, if we exclude the initial enthusiasm, how well VR will do in the mid-long terms?” he ponders.
“Assetto Corsa on PC provides a good support for the Oculus Rift, and hopefully we'll support also the Vive soon: on console, we'll wait and see,” he says.
Though he is clear that the current VR phenonmenon should not be confused with the debacle that was 3D TV.
“We can't just compare VR with 3D since the intense immersive experience you get with VR is just incredible,” he says.
With console audiences used to a lot more polish and attention to detail versus your average PC gamer, whether Kunos Simulazioni’s iterative strategy works or not will be interesting to see. If Assetto Corsa manages to make a dent in a genre for a platform monopolised by a few big brands, it could open the floodgates for more developers to consider consoles in addition to the PC.