STREAM LWTCHI: Summer Special 2016, E01 - w/ Special Guest Marco

Discussion in 'News Timeline' started by assettocorsamods, Aug 17, 2016.

  1. assettocorsamods

    assettocorsamods Administrator Staff Member

    Joined:
    May 30, 2014
    Messages:
    905
    Likes Received:
    126
    LWTCHI. Or by it's long name Look What The Cat Hacked In .



    It's been a long time since we didn't wrote about the stream anymore, but this one feels a little special so it's well worth the effort. So much insight, so much info not only about what the future looks for AC but a lot on the struggles that a developer needs to face and overcome. It's an absolute must view/hear/listen for anyone looking to have a peek into this world. The world of simracing development. More, up-to-some-point, probably this can be generally true.

    Today we take a look at the latest episode from the series Stefano is hosting with an on/off schedule, depending on what's going on in Assetto Corsa 's development. This one is called Summer Special 2016 E01 and aside all the goodies shared by Stefano, it features a special (surprise) guest: Marco Massarutto, the licensing project manager over at Kunos Simulazioni. Every car brand and every real circuit present in AC, are there thanks to (at least partially) Marco's work.

    However, with a special episode, comes also a special treatment. The stream is around 2 hours long, so we will split this in 3 parts:

    1/ Q&A session based on feedback from previous stream
    2/ New features and developments in AC
    3/ Q&A live session, featuring Marco

    We'll start with part 1, the Q&A based on the feedback from the last stream:


    Q : If you were to create new engine for AC for whatever reason ( AC 2 or whatever) would you go for Vulkan or DX12 ? I cheer for open technologies (linux user) so I wonder why devs even chose DX12. Is it some founding from MS or support? From dev point of view, 'cause I see no reason to use DX12. /by Furiousme

    Stefano: I think like every game dev out there, what I would do, I would start experimenting with both technologies and see how comfortable I am using one or the other. It would point out after couple of months which one is the better tool.
    The main plus for Vulkan is the cross-platform support, but cross-platform is not really that big of a deal because when you are a game studio, that is targeting a platform like PS4, you already have an engine able to switch between graphics APIs. E.g., if you get a software like Assetto Corsa, probably the API part is going to be something like 1-2% of the entire source code. So it's not really a big deal to have something that is cross-platform. Especially at the level that Vulkan is, super low-level. Even if the API is the same but the platform is different you will be required to code something slightly different so from my POV it's not really a huge selling point.
    Historically, in the last 10 years, I think DirectX has been a much better platform (better drivers, etc) or whatever the reason is, compared in this case to OpenGL. The best example that I can give, is Unity. Unity comes from the MAC world, so they started with OpenGL. When they moved to Windows, they actually realized that DirectX was a better platform. So they ended up using DirectX on Windows. I think at the end most developers don't have teams - we just use whatever makes our lives easier. In the last 10 years, for me, it has been DirectX. Funny enough, the very very very first prototype of the graphic engine was running in an editor (that eventually became Assetto Corsa) was in OpenGL. So it started in OpenGL and then moved, back to DirectX.


    Q : Could you explain the current damage model and how it affects the handling ? It would be nice to have damage to affect more the open wheeler, and less the street cars, having GT3 cars kind of in the middle. At least for Aero damage. /by Leonardo Ratafia

    Stefano: As far as suspension damage goes, I think it's already the case. I think open wheeler are or should be :nerd: more easy to damage. For bodywork, the only effect is aerodynamic effect so.. not really incredible advanced when it comes to damage, our solution is super simple, nothing super complicated.


    Q : Regarding community mods turned into official content like the Shelby or Miura. Do you decide on whether to make a mod official based on how they're received by the community or do you check the mod under the hood to check if they're faithful to real data and if the work is Kunos standard? /by SplendidTruth

    Stefano: Well, the answer to this is NO, we don't check the data because we don't use it so when we buy/acquire a mod, usually we acquire only the 3D part of the mod and we end up redoing the physics completely and the audio. One example IS the Shelby, with which in the original mod version, I was really struggling to do even one single corner in Vallelunga without spinning and the rear suspension was completely.. you now.. crazy. So, Aris redid the entire physics for that car. Of course, because you're modeling the same car you might end up with similar numbers or the same numbers somewhere, but generally speaking, we just get the 3D model. And then the 3D model goes to our graphics guy that will work on it. Depending on the model, some require a little bit of work; some others require a little bit more. The Shelby Cobra is again an example. At that time, I remember, if you were trying to race against AI, the performance was really bad because the car had lots of triangles that should've not have in places where it should've not have. So there is a huge work involved in bringing/converting something like that. We don't just get the mods and put them into AC. We get the 3D and then redo everything else as if it was a completely new car.


    Q: I'd like to have the possibility to change the clutch pedal linearity just like on the brake. /by Giuseppe William Giamundo

    Stefano: I did that into the code, and also with Aris we decided and he did rework all the clutches for all the cars. Basically he made the clutch much less powerful, so that gives a couple of effects:
    The first effect is a little bit easier to start. If you remember the stream that I did some episodes ago, where I was showing different possibilities to start a car. Now, in theory, it should be a little 'bit easier because the clutch is not linear anymore so there is more sensibility in the upper part, which is similar to what I did in that stream. Also, the clutch itself, - all the clutches values - are much lower.
    The other effect, which is nice, is the fact that the car is a little more stable when downshifting. Because as the clutch is coming up and it doesn't have that much power compared to before, the impact of the engine is much smaller. So that's one of the things that will change in update 1.8.


    Q: My question is about AI. I tried the Lotus "Exos T125 S1" in a funny race challenge against the Audi "Sport Quattro S1" and the standard Abarth "595 esseesse", all driven by the AI in various tracks. Of course the Lotus won, but while it passed the Audi easily, it always got stuck behind the Abarth for entire laps without attempting any overtake despite the long straights of Monza or the corners of Brands Hatch GP, so the Audi nearly closed the gap completely. In other words, a big difference in speed makes the AI going nuts when it comes to judge the situation. Do you think you can teach the AI to properly see how things are going in front of and behind it? Moreover, how does the AI manage all the tricky Ferrari "SF15-T" power unit stuff ? /by fantomas76

    Stefano: If you remember (n.b. from a previous stream), I wrote some code in order for cars to understand when a car in front of them was not at same class so they could just move out and pass them. But then what happened was that I sort of hit a sort of wall where I couldn't solve some problems with the AI and ended up rewriting the entire system for the way the AI is treating the other cars. Which is what gave 1.7 a good improvement when it comes to AI. At least, it's the first time to read around that people are enjoying the AI in Assetto Corsa which makes me really, really happy. The problem was that that code that I wrote the week before is NOT there, in the new code :D. I will have to put it back so the cars will eventually do something similar to what we saw in the original stream where I've showed a race with different cars and an Abarth 500.


    Q: Very excited about the sopraelevata, such an iconic track! Are there more classic tracks in the works ? Or are you focusing more on modern tracks with the DLC releases? /by Victor Dima

    Stefano: We will have the classic version of Silverstone coming. Not in this update (n.b. 1.8), in one of our future updates. So that's the other classic/historical track that is going to come. And is going to come like Monza 66 with the sopralevata, that is going to be a free update within this year.


    Q:
    We saw you in your 'launcher' to set practice and change car amount to 1 car.. Is it possible to set it to practice with X cars ? To have AI in practice mode. If so, does it have potential to be added to game ? We are used to be able to practice with AI in other sims, it is nice thing to have (specially if you can add AI when already in session). /by Ouvert

    Stefano: At the end of the day, Assetto Corsa, the simulation part, doesn't really 'care'. It's all about what the launcher allows you to do, so I think the idea was that it didn't make much sense to have AI in practice. I don't know, it could be something that could be added with launcher. (n.b. from us - there is a very interesting project going on called Content Manager; offers lots of additional options, give that a try ?)


    Q: Would it be possible to stop the AI braking mid to corner exit and just allow them to coast ? Nothing worse than an AI car braking in the middle of a corner, especially when there is no real need for it.
    Also, when racing close to an AI car if you drive towards it, it tends to veer off away from you to avoid contact, is it possible to make them hold their line? They shouldn't concede ground so easily in my view. If the AI were to hold their ground when side by side and only give racing room (at car's width) it would help to hone people's race craft and make them learn about holding their line and what racing room is. If the AI constantly move over to avoid contact, it just means people take liberties and don't learn or improve their driving./by James Prentice

    Stefano: Yeah, sadly that is the way the AI works. But I don't think this is a problem with Assetto Corsa. I think it's a problem with pretty much every AI that I saw in every game until now. It's the fact that the AI has sort of 2 states. One state is "oh my god, I'm too fast, I'm not going to be able to keep the line". This is what Assetto Corsa does. At a certain point, the AI analyses the situation and decides "I need to brake now because I'm too fast, otherwise I won't be able to finish this corner". So what is happening is that there are situations, especially in fast corners, when this evaluation is wrong. It's something I've been trying to figure out since the beginning of Assetto Corsa. Sadly is not that easy, and is a constant work to make it happen. Take for example the Eau Rouge for some cars. As a player, we approach sometimes some corners and then we just lift a little bit, slow down and then do the corner. If you look at the AI, what the AI is doing is get into a point where it taps the brake and then doing the corner. There would be a way, but it would be computationally too complicated to have the AI analyze 2 possibilities: the possibility where you are coasting and the possibility where you are breaking. And it's very difficult to analyze in advance, with decent performance. If I come up with some idea (like.. when I sleep), it could change. But for the moment, we need to live with this.


    Q: For a less reactive AI, you can introduce some lag to the linear / angular acceleration perception :)
    And you can also add some latency to the input to mimic the human response time. But once that done, your AI can't be "only reactive" anymore, you have then to introduce some anticipation./by Matthieu Pierrot
    Q: Can the problems caused by the AI's quick steering be fixed by setting a minimum time required to turn the wheel ? Any steering input larger than 180 degrees (i.e. if you have to move your hands) will be slower than something under 180 degrees (when you don't have to move your hands), for example. The way the AI goes from full lock to full lock coming out of the pits is way too fast, and if they have that ability during a race it would make things too easy for them./by Andrew Richardson

    Stefano: Yes, it is basically possible to add lag.. which is the obvious solution.. has been in AC from the very first version of the AI. It's simply turned off because as soon as you start to add lag on the steering wheel of the AI, you start to get the AI wobbling around the track. So, what was happening was that many times (it's still something that can happen in AC - pretty rare, but it still can happen) you were hitting his car, and the AI was entering into this mode with lag so it was starting to wobble around and eventually it was starting to get sideways a lot and then the system at a certain point needs to switch back to the normal algorithm. Even so, once the AI was very sideways, even the normal algorithm couldn't really realign the car. So you had this AI doing half of straight this pendulum back and forth, it looked completely ridiculous. At the moment is turned off. I did already some changes for 1.8. I finally got the AI to spin, so I added these traction mistakes which are very similar the braking mistakes. Sometimes you see the AI locking tires while braking. So what is happening now, using the fact that of turning stability control off, gets the AI sliding a little bit sometimes, and other times they slide too much and they end up spinning. And that's an interesting evolution. I don't know if it's going to be in 1.8 because it opens up some situations that look ridiculous. I had one guy spinning at the S-corner in Vallelunga. He spun, he hit a wall and came back into the track and stopped there with the engine broken. And as you know, in the middle of the corner the AI still has problems to understand that it needs to pass this guy. And they were queuing behind.. So adding this kind of mistakes, big mistakes, can add to situations where the AI does the wrong thing. We will see how this thing is evolving. But it is very promising nevertheless.

    And the other thing that I did, is that as soon as you hit an AI car, the AI stability control goes off for a couple of seconds, so you get a little bit more reaction from the AI car. It's a matter of seeing how this goes in beta testing and if it gets to a point where it is possible to release it.


    Q: What the reason for not releasing Monza with oval banking sooner , you said you raced it months ago in multiplayer /by pmc40

    Stefano: well, we were doing other things, but mostly because it still needed work; for the AI, for the timing and so on. But it's coming, so.. the wait is over :)


    Q: How do you set priority for bug fixing ? Is it like "I fix this because I know how do it right now, even if it's not that much of a bug" or more like "I'm gonna fix this because it's a bigger problem than others and it's important"? Could you show us a bug fix on live stream explaining how new codes can generate bugs like the one solved in the 1.7.3? That's was a curious one! Thank you./ by Andrea Anania

    Stefano: the priority is very simple. If it is a crash or something that really stops people from playing, then it's like maximum def-con reaction :D, try to fix it as soon as possible. Just to give an example: there was an update, where we fixed something that had to do with smoke in 1.7. There was this bug where if somebody was disconnecting from MP, the smoke of that car remained visible, in the air. So I went to fix that bug, and when I fixed it, it worked totally fine, and then we released it. And then it turned up that if people had smoke disabled they were getting a crash straight away. And that really shows a lot the balance between trying to fix something asap, and sometimes the huge risk if you don't test something properly. You risk to release something that brakes the game for somebody else. So that was a maximum emergency bug. One of those things, you go there, and you fix immediately.

    The more people it impacts , especially if they cannot play the game, it's something that requires maximum attention. And then we prioritize. Sometimes there are bugs that are not really bugs (when you see the forum 'as designed' label). It's just how the software is designed to work. And sometimes there are bugs that don't have an immediate solution, or an easy solution..


    Q: Have you ever discuss the possibility of sell the cars one by one instead of in DLCs ?

    And value them differently, so a car that takes 2 weeks of development cost more than a car that took only 3 days, for example. /by Jairo José Martín Cabello

    Stefano: Ah, yes, this started a long discussion on the last stream's comments. The funny thing is that the guy doesn't really know the amount of work that is required for a car.. He's quoting 2 weeks or 3 days.. which of course is not the case. I think the quickest we can do a complete car, should be more in around 6-7 weeks. Which easily becomes 8. Originally, the idea of AC was exactly that: a free to play game where you could buy cars separately.

    Why we do DLCs, I don't know. I think for the end user the price difference is not really that big. And I think DLCs gives you the possibility to give a chance to cars that you probably wouldn't. So for example, if you are fanatic about modern F1 and you got Red Pack, you might try the Maserati 250. That's an amazing car, but that's a car that you would've never considered buying. And you find you will enjoy it.
    It was the original plan, but I still think DLCs is a better way. Especially the way we do DLCs, which apart from the Japanese Pack, is by putting a little bit of everything. You get a lot of variation inside that DLC and it sort of tries to make everybody happy.

    /end of part 1.:ninja:
     
  2. assettocorsamods

    assettocorsamods Administrator Staff Member

    Joined:
    May 30, 2014
    Messages:
    905
    Likes Received:
    126
    Reserved for Part 2
     
  3. assettocorsamods

    assettocorsamods Administrator Staff Member

    Joined:
    May 30, 2014
    Messages:
    905
    Likes Received:
    126
    Reserved for Part 3.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice