Speed property in ncp file
Posted: Fri Oct 30, 2020 11:30 am
This suggestion is a thing creators may miss a lot. Now, there are some ways to mess with the car's speed, but none of them feel "right". Yes we could use a force field opposite to the car's expected direction, but this messes with the physics as well, especially if the car is traveling in a direction perpendicular to the force field's direction, not to mention that trying to accelerate against such a field is impossible for some cars and that it moves the cars back even when they are fully stopped.
Another way I personally experimented with is using a very high grip terrain: this naturally slows down the car itself, but comes with major drawbacks. First of all the car is constantly jittering around while on this surface; then, it makes turning unnaturally precise and if the car starts to slide on it it's almost impossible to recover, all around making this kind of surface more of a deterrent than a proper slowdown surface. One major advantage that the high grip surface has over the force field is that there is no specified direction, so it works regardless of where the car is going, making it viable for anything more than a pitlane in a real life track (for example offroad in a real life track).
But what if we had a property applicable for each surface that determined how fast a car should go while on it? Hear me out...
Hypotetically, if every type of surface had a multiplicator (multiplicator) to the car's top speed value, we could make every car slow down the same on a certain surface, or even speed up. Take for example my recently released SNES Mario Circuit 3. This is a classic tarmac track with sand on the sides, if you cut through the sand you could gain a lot of time, but I don't want to put reposition triggers all around the tarmac like Amco TT/Bitume do, it feels frustrating. Force fields obviously wouldn't work because you can cut through the sand from multiple direction, and trying to block them all would result in multiple force field that overlap each other, creating a confusing mess that leads to a manual repo when you get in the sand. High grip is the currently used option, and has it's drawbacks, as the car that drives on it tends to jitter and that can mess you up just by being on it. I could also remove all sand and just put a wall, but that makes it even more frustrating as a small mistake would cost multiple seconds instead of just a slowdown (imagine f1 monaco, but it's in every racing circuit). The universal solution would be a value that multiplies the top speed of the car that drives on it. Now the sand in SNES Mario Circuit 3 would slow down every car that drives on it down to 30% of the top speed, in terms of parameters just multiply the top speed by 0.3. This is exactly the effect many creators want when they try to slow down cars. But there is more: what if the multiplicator was actually above 1? Now we got speed increasing surfaces, and we could imitate or make our own "boost panels" or speed mods. For example we could create tracks where the speed is twice the usual one, without having to carefully place force field boxes around the track, but just by setting a property of a surface in a text file. It would work for every single car in every single track without any physics quirk.
Another way I personally experimented with is using a very high grip terrain: this naturally slows down the car itself, but comes with major drawbacks. First of all the car is constantly jittering around while on this surface; then, it makes turning unnaturally precise and if the car starts to slide on it it's almost impossible to recover, all around making this kind of surface more of a deterrent than a proper slowdown surface. One major advantage that the high grip surface has over the force field is that there is no specified direction, so it works regardless of where the car is going, making it viable for anything more than a pitlane in a real life track (for example offroad in a real life track).
But what if we had a property applicable for each surface that determined how fast a car should go while on it? Hear me out...
Hypotetically, if every type of surface had a multiplicator (multiplicator) to the car's top speed value, we could make every car slow down the same on a certain surface, or even speed up. Take for example my recently released SNES Mario Circuit 3. This is a classic tarmac track with sand on the sides, if you cut through the sand you could gain a lot of time, but I don't want to put reposition triggers all around the tarmac like Amco TT/Bitume do, it feels frustrating. Force fields obviously wouldn't work because you can cut through the sand from multiple direction, and trying to block them all would result in multiple force field that overlap each other, creating a confusing mess that leads to a manual repo when you get in the sand. High grip is the currently used option, and has it's drawbacks, as the car that drives on it tends to jitter and that can mess you up just by being on it. I could also remove all sand and just put a wall, but that makes it even more frustrating as a small mistake would cost multiple seconds instead of just a slowdown (imagine f1 monaco, but it's in every racing circuit). The universal solution would be a value that multiplies the top speed of the car that drives on it. Now the sand in SNES Mario Circuit 3 would slow down every car that drives on it down to 30% of the top speed, in terms of parameters just multiply the top speed by 0.3. This is exactly the effect many creators want when they try to slow down cars. But there is more: what if the multiplicator was actually above 1? Now we got speed increasing surfaces, and we could imitate or make our own "boost panels" or speed mods. For example we could create tracks where the speed is twice the usual one, without having to carefully place force field boxes around the track, but just by setting a property of a surface in a text file. It would work for every single car in every single track without any physics quirk.