Hey guys, there are tons of argument about the new penalty system recently, so I’m curious about what makes a better penalty system and was brainstorming how to implement it. I’m not a racing fan, just a normal gamer who loves to play GTS. I might not have the knowledge about racing and stuff to judge (racing) situation correctly, but, hey, this is just me sharing my shower thought here, so let’s not be so serious and have fun sharing opinions and fooling around. Sorry about my crappy English.
So, let’s get right into it. My penalty system is based on expectation and assumption. When you see a racer, you might have expectation how the racer take the turn, or how fast he would go. And the penalty system expects how the players should drive on the road by checking the speed, position, sudden movement, and stuff. It doesn’t sound so bad, but what shape the expectation? The track, the checking system on every corner and straight road needs be placed by hand because every corner is different, so the expectation of how to take the turns is also different. Furthermore, you not only expect a driver how to drive, but also expect how drivers compete with each other and when to compete. What is acceptable and what is not.
Although it might sounds good, keep in mind that penalty system is always flawed and not better than a human, or it couldn’t detect some situation and judge correctly (lag, package loss). Cheaters will always find a way to abuse the system, and I want you guys to abuse the system as much as possible so it can be improved and minimize its flaws!
Different section needs different design, and I want to focus on straight road first. Leave alone DR, SR, and how much penalty should be given. Let’s discuss about who to blame. After this, we may discuss slow corners which are more complicated.
Expectation: I expect cars on the road mostly going straight, might be a little bit of left and right movement. Full throttle.
No brake.
What is the usual cause of accident: Sudden movement (brake and move left or right suddenly).
Implementation: you can see in the picture, there are orange and blue lines. I call them “Check line” (CL). The orange CLs contain no data of the car. As the car goes through the CLs, those CLs will turn blue and temporarily contain the data. In this case, the maximum number of blue CLs is 5. If the car enters a new CL, it creates a new blue CL or new data, then the oldest CL will turn orange and delete its data.
The blue CLs’ data include the car’s position (x, y). The data would be checked and analyzed if there is a collision between cars.
Scenario1
The red car turns right and hit the green car. The system detects a collision and checks the data. Position will be checked first to see if there is sudden movement. The white line in the picture is perpendicular to the CL. The system calculates the angle between the white line and the car’s route for both cars (mathematically, I think the calculation is more complicated than this. Also, angle less than around 3 degrees can be ignored because not every route is perfectly straight), and compares result of red car and green car. In this case, the red car has 15 degrees, and the green car has 0 degree. So, the system think the red car has too much movement and gives it a penalty.
Scenario2
This time, both cars don’t have much left or right movement (less than 3 degrees), and the system thinks the movement is alright, then check the speed. It checks both cars’ speed during the collision. The higher speed driver will be always wrong because he can hit other driver from behind only if he’s faster. The system will also check the slower driver's input such as brake and throttle. If the driver brakes at non-braking zone or applies less than 90% (why 90%? My controller is broken so I can’t full throttle all the time lol) of throttle, he should be blamed. Someone might ask: What if I’m serving my penalty and get hit? I guess you want to make sure that the condition is safe before lower you speed, and maybe we can make the car transparent when serving penalty.
This is for Scenario1. I think the system can check more angles (CL6, CL5, CL4) but not too many. The reason is that if there is someone in front of you, and you are faster. You turn right and try to pass him, but he turns right and blocks you. At the moment, you don’t react fast enough and result in a collision. Because you both drive in straight line for a brief moment, and the system might say there is no sudden movement, but you are faster so it gives you a penalty.
Summary: basically, in these pictures, if both cars can touch each other horizontally (side by side), the system will check left and right movement. For front and back, it depends on the speed, car at the back will always lose unless the front car is turning, braking, or lifting off the throttle.
I think this system is not bad because big collision can be detected easily. If the rammer doesn’t want to be detected, he will only try small touch, and you have higher chance to avoid it. Also, you can always drive really straight so that it will never be your fault.
The down side is that if you try to avoid an accident ahead, you turn, brake, or lift off, then you get hit from behind, the system will say it’s your fault. The system never expects you to avoid accident, so…tell me about your thoughts!
So, let’s get right into it. My penalty system is based on expectation and assumption. When you see a racer, you might have expectation how the racer take the turn, or how fast he would go. And the penalty system expects how the players should drive on the road by checking the speed, position, sudden movement, and stuff. It doesn’t sound so bad, but what shape the expectation? The track, the checking system on every corner and straight road needs be placed by hand because every corner is different, so the expectation of how to take the turns is also different. Furthermore, you not only expect a driver how to drive, but also expect how drivers compete with each other and when to compete. What is acceptable and what is not.
Although it might sounds good, keep in mind that penalty system is always flawed and not better than a human, or it couldn’t detect some situation and judge correctly (lag, package loss). Cheaters will always find a way to abuse the system, and I want you guys to abuse the system as much as possible so it can be improved and minimize its flaws!
Different section needs different design, and I want to focus on straight road first. Leave alone DR, SR, and how much penalty should be given. Let’s discuss about who to blame. After this, we may discuss slow corners which are more complicated.
Expectation: I expect cars on the road mostly going straight, might be a little bit of left and right movement. Full throttle.
No brake.
What is the usual cause of accident: Sudden movement (brake and move left or right suddenly).
Implementation: you can see in the picture, there are orange and blue lines. I call them “Check line” (CL). The orange CLs contain no data of the car. As the car goes through the CLs, those CLs will turn blue and temporarily contain the data. In this case, the maximum number of blue CLs is 5. If the car enters a new CL, it creates a new blue CL or new data, then the oldest CL will turn orange and delete its data.
The blue CLs’ data include the car’s position (x, y). The data would be checked and analyzed if there is a collision between cars.
Scenario1
The red car turns right and hit the green car. The system detects a collision and checks the data. Position will be checked first to see if there is sudden movement. The white line in the picture is perpendicular to the CL. The system calculates the angle between the white line and the car’s route for both cars (mathematically, I think the calculation is more complicated than this. Also, angle less than around 3 degrees can be ignored because not every route is perfectly straight), and compares result of red car and green car. In this case, the red car has 15 degrees, and the green car has 0 degree. So, the system think the red car has too much movement and gives it a penalty.
Scenario2
This time, both cars don’t have much left or right movement (less than 3 degrees), and the system thinks the movement is alright, then check the speed. It checks both cars’ speed during the collision. The higher speed driver will be always wrong because he can hit other driver from behind only if he’s faster. The system will also check the slower driver's input such as brake and throttle. If the driver brakes at non-braking zone or applies less than 90% (why 90%? My controller is broken so I can’t full throttle all the time lol) of throttle, he should be blamed. Someone might ask: What if I’m serving my penalty and get hit? I guess you want to make sure that the condition is safe before lower you speed, and maybe we can make the car transparent when serving penalty.
This is for Scenario1. I think the system can check more angles (CL6, CL5, CL4) but not too many. The reason is that if there is someone in front of you, and you are faster. You turn right and try to pass him, but he turns right and blocks you. At the moment, you don’t react fast enough and result in a collision. Because you both drive in straight line for a brief moment, and the system might say there is no sudden movement, but you are faster so it gives you a penalty.
Summary: basically, in these pictures, if both cars can touch each other horizontally (side by side), the system will check left and right movement. For front and back, it depends on the speed, car at the back will always lose unless the front car is turning, braking, or lifting off the throttle.
I think this system is not bad because big collision can be detected easily. If the rammer doesn’t want to be detected, he will only try small touch, and you have higher chance to avoid it. Also, you can always drive really straight so that it will never be your fault.
The down side is that if you try to avoid an accident ahead, you turn, brake, or lift off, then you get hit from behind, the system will say it’s your fault. The system never expects you to avoid accident, so…tell me about your thoughts!