I don't have time to get into tyre physics at the moment but had some thoughts on it after Eeekie's post.
I think there are some competing effects when the throttle is applied.
1) As Eeekie described, the rear wheels become more loaded, lengthening the contact patch and so requiring less slip angle for a given lateral force. And conversely the front wheels become less loaded, get a shorter contact patch and require more slip angle for a given lateral force. From this point of view the car might take a wider line without any steering adjustment.
2) But there is another effect and that is that a wheel which has a longitudinal force applied, will produce less lateral force for a given slip angle. So from this point of view, a rear wheel drive car with more throttle applied (and no change in steering input) will follow a tighter line because the rear wheels will require a wider slip angle for a given force.
3) There are also other possible competing effects, such as the change in toe and camber due to suspension deflection, and the effect of a limited slip differential.
Now, I definitely may be wrong but I imagine number (2) above to be the dominant effect. I think that is how it is in my car but it would be hard to test unless I can find a skid pad. It may well be that a different effect is dominant in different cars, due to the different mass distributions and other design features. As I apply the throttle there is a whole range of slip angles before the point when the whole contact patch is skidding. Now I'm really not a crazy driver at all these days and don't drive much anyway but there are times when I can accelerate pretty hard out of a roundabout without any danger to myself or others. I can apply a lot of power without actually going sideways and it feels to me like it gets closer to oversteer through that process. It feels very planted and poised as I apply more power. A good part of my mind is focussed on the rear wheels, remembering I used to be a motorcyclist and am very aware of going over the limit. It's a feeling of confidence though and there is a certain joy to it. I believe I get this same feeling in the new physics of LFS, but in the old LFS there are some slight changes of line that don't seem to correspond with reality.
Calculations and algorithms based on models and then the constants adjusted to try to match test rig data available for some tyres, and lateral force figures for some cars and just sometimes we can do lap time comparisons.
So in short - get a benchmark based on models and constants then adjust the constants according to as many real world results as possible.
In practice you can then find the models or assumptions are wrong or don't scale properly then you can read scientific papers on theory of rubber adhesion, etc. and try to figure out how to make sense of such complex phenomena described in seemingly abstract papers with confusing mathematics, into something that can really be implemented into realtime simulation with several cars at the same time.
It is hard to know but I will try to allow enough settings to run OK on lower spec computers. For example shadow maps can be made quite a lot faster by reducing the number of cascades and the distance that can be rendered, and switch off shadows in mirrors. Also you can switch off HDR mode, reduce texture resolution etc.
I can't really release them as they are because you can exploit the issues. So I hope to make them a better approximation of reality so that they are fun to drive on and respond in realistic ways to changes in settings. As far as I remember, total grip was actually less but they feel better and more intuitive, so actually more fun to drive. One example, sometimes in the RWD cars, in the old physics, you can put on a little more power and the car seems to follow a wider line, which shouldn't really be the case when you add more longitudinal force to the rear tyres. In reality and in the new system, more power in a RWD car always results in the car taking a bit tighter line. This is because the combination of forces is now done in a way that makes more sense and has a mathematical basis. The public version is more like a made up force combination, adjusted to try to match reality.
The free view video is only a demonstration. That mode is activated by a special button available in the development version so I can check how the occlusion is working. The free view doesn't use occlusion data normally, and doesn't need it so much as it's only the one view and no mirrors.
The fan can speed up quite a bit these days. The shadow maps, more complex shaders, higher resolution textures, more detailed models, HDR and bloom effect are definitely using more GPU power.
No problem, I think it is a good question and this new video answers it.
In mirrors, yes, it uses a bounding frustum of all the visible mirrors to generate a shared set of shadow cascades. Actually it goes with full distance at the moment although this is probably wasteful and we could get a reasonable result with fewer cascades. But fewer cascades means some extra copies of the shaders because the shaders use a #define for number of cascades. Still, the mirror views are narrower so their shadow render seems to be quite fast.
In environment map at first I used no shadow maps, but there were some very bright areas that stuck out badly because they were really in shadow, but appeared brightly lit in the environment map. In the end I chose to render everything in the environment map as if it was in shadow. It was a better choice as the main visual function of the environment map is really to block out areas of the sky. The sky is so bright compared with most objects, it's quite rare that I notice the missing sunlight on some objects in the environment maps.
Thanks. On further thought this morning I should probably keep DX10 support as a separate issue from SDR mode. For as long as it's easy, I might as well leave DX10 available but with certain features disabled. E.g. their cars would use the approximate diffuse lighting instead of calculating it from the environment map. But they could still use automatic exposure using the CPU method. I don't know how long DX10 support can last but think it is worth keeping it as long as it's easy to do so.
Yes this would be helpful for maintaining high frame rate as the CPU still has do do a lot of work asking the graphics card to draw things. So I will be thinking about this probably when I'm on the physics.
I did have to use 11 because InterlockedAdd was not allowed in feature level 10 and I couldn't think of another way to add to the histogram buffer.
Some possibilities here, the old 'read back a small texture and analyse on CPU' is still there for test purposes, so could be resurrected for Direct3D 10 GPUs. But I was thinking maybe feature level 10 could use the SDR mode and use time-based exposure instead. That would allow D3D10 graphics cards to use LFS but some things wouldn't be much good, e.g. it would be very dark in a car park.
But I don't know how many people have a Direct3D 10 graphics card as D3D10 was out a relatively short time before D3D11 was available. I think for now I'll keep trying to make sure it can run on them using SDR.
The new tyre physics is in this new version. So the situation is that it might be a bit hard to try to copy the old tyre physics from the public version, into this new version. I am more motivated to try and update the new tyre physics to an acceptable level. It is nice to drive with but needs some good work on load sensitivity, pressure and temperatures which are not correct.
Yes, I found in VR the exposure is calculated as dark if you use the whole view, because so much of the view is the car interior, so then it overexposed the image. So in LFS it limits the exposure check to a smaller square in each eye (both added together for a single exposure histogram). This limited square is 30 degrees each way, equivalent to a 60 degree FOV on a square monitor.
Thank you for the feedback, pleased you like the progress so far.
I have a bit more to do on the graphics, though I want to spend some time on the physics soon.
A couple of urgent things I can think of.
- I want to convert the 'individual car diffuse lighting calculated from dynamic environment map' into a compute shader so I can use it for all the cars that have an environment map. More distant cars will use the 'approximate diffuse' lighting that is currently in the paths. That's only about a day or two's work, I think, as it's a simple compute shader (and a conversion of existing code).
- The approximate lighting, for more distant cars and will also be useful for temporary objects like physics objects, layout objects and skid marks. It always was stored in the paths. But now I think it can use the occlusion octree, as that already covers all driveable areas. This sounds like a few days work.
- One obvious thing is clouds in the sky but I really don't want skies to prevent work on the physics. In my mind this can be released without clouds, but cannot be released without the physics updates.
- Various things on paper lists here but I am actually crossing them off faster than adding them now.
On Eric's side there are still plenty of holes and gaps at South City, mainly because there are really a lot of new roads and connections and he has been filling those new places up with detailed buildings. Some more holes to fill at Kyoto, and there is Fern Bay too. So both of us will still be busy for quite a while.
In our last report on the website we showed some images of the updated South City and demonstrated day to night transitions and night driving. Since then, Eric has continued to work on South City and Scawen has continued to develop the graphics system. We posted some intermediate progress reports on the forum.
In this report we will link to the intermediate reports, talk about more recent updates and show some new screenshots. The information is quite technical so if you aren't that interested in the internals of game development, feel free to skip straight to the screenshots which can hopefully speak for themselves!
You reached a point which is outside the map square system. The rectangle of map squares is set to the size big enough to include all the default ground that is set to have physical properties. Outside that, there are no map squares for your objects to be registered on.
The map squares system is designed to rapidly identify nearby objects to check for physical contacts during each frame's physics calculations.
Wizard, I was trying not to waste time on it, because I have work to do.
The post was reported and is questionable. For me, it's questionable because it has a modified version of a Chinese flag and is something to do with Coronavirus. Why it has Winnie the Pooh, I really have no idea but it is questionable.
I don't want to spend a long time googling the association between Winnie the Pooh, the Chinese flag and Coronavirus. As a British person who was born in Hong Kong, I am concerned about the Chinese government's handling on Hong Kong but I don't see any reason not to respect the Chinese flag at this stage. All people from around the world are welcome in Live for Speed so I don't think modifying a flag and associating China with Coronavirus is the right thing to do in Live for Speed.
Maybe I've missed something but I had sat down to do some work and instead, I have to write a lengthy explanations about a simple moderation of something that seemed questionable to me.
In the March report I described how Live for Speed has been converted to use Direct3D 11. I've now started to use some of the features that Direct3D 11 allows.
Most interesting is the image-based automatic exposure. As we have moved to more physically based lighting, allowing day to night transitions and realistic brightness for artificial lights, there are many reasons why the exposure level needs to be adjusted. Not only for different times of day but also for the lighting conditions at any location. An extreme example is when you enter a multi-storey car park on a sunny day. The exposure level must adapt to what you can see, just as your eyes or a camera would do in reality. This is demonstrated in the video below. If you don't notice it happening too much then it's working well. Without the automatic exposure it would be very dark inside or totally overexposed outside.
On the technical side, a reduced copy of the output image (that has already been generated for the bloom effect) is transferred to memory that the CPU can read. Direct3D 11 allows this to be done without waiting. A histogram is constructed so the program can estimate the exposure level to use. The brightness is then adjusted to that target over several frames.
These car parks don't have a path with pre-generated lighting values or any light probe information (yet) so I added a system to allow the ambient lighting to be calculated in real time by analysing a copy of the car's unique environment map. In the video, this allows the car to be lit by the artificial lights and avoid being lit by the sky. It's probably not the best way to get the diffuse lighting in car parks but it is a good fallback when there is no data available.
Eric has continued working on South City. It's a longer process than any of us had imagined, because he has been updating most of the buildings with more detailed architecture and opening up new roads around the city. He doesn't want to show a lot of new areas yet because there are too many holes around but some night and day shots of similar scenes are attached below.
Other updates I wont try to cover in detail include some features to help Eric in the editors and completing the conversion to Direct3D 11. Support for Direct3D 9 has now been dropped as it was not reasonable for me to try to maintain the two versions. The GPU requirements are higher now so I wouldn't expect it to run well on a Direct3D 9 graphics card anyway.
We're getting there gradually. It's a lot of work on the programming side and the content side but we like the results!
We did give permission for Blackwood to be ported to AC.
We like people to have fun (and don't mind if they use other sims) and as it's Demo content we didn't feel we would be losing out in any way. We gave the condition that LFS adverts should be visible in the ported version of Blackwood so we would get a little exposure.
This is not about whether people can make mods for the game. It's about us hosting those mods or allowing our site to be used to advertise them. I'd be interested to see if there are official places where you can download mods for those games (excluding AC as their section was closed). I'm not interested to go searching for them at the moment as I have work to do, but if you could link to them that would be helpful.
As mentioned above, there are two problems.
1) People copying or converting vehicles made for other games then hosting or linking to them here. In that case LFS site can be seen to support copyright infringements. This cannot be allowed and would require strict moderation. This is one of the reasons given for closing the car mods section on Assetto Corsa.
2) People creating models of real cars. This is obviously fine for their own use but there may be questions here. Supposing we have cars made by various famous manufacturers listed on our site, either as forum threads or even in some kind of future in-game mods download system. There is a possibility this can be seen as us profiting from the names, reputation and IP of those companies. Or maybe it really is fine for users to create such content and upload it. We can't take the risk unless this is established.
To my mind it is still possible that the bad collisions were related to lag and prediction causing excessive intersections rather than being related to VOB at all. As we know bad collisions can happen at any time between unmodified cars. It's true I could do a better job with that.
I understand you asked some people when you saw the collisions and often found out they were using VOB mods. But maybe these mods are just commonly used by people who go to cruise servers?