One problem with racing right now is that most race courses are fairly flat and a lead group forms and holds together until the finish where a strong sprinter explodes across the line to take the win with a single burst of power. They never show that power during the race, so it keeps their racing score low enough to remain in the category.
Since a points based scoring system would be too difficult for Zwift to adapt, using Time Bonuses would be much simpler since all the scoring and leaderboards are already based on time.
Time Bonuses are used in pro racing to encourage better racing throughout the stage instead of just a finish line attack. So they can work equally well in virtual racing.
The race stages usually contain several KOM and Sprint segments with leaderboards. These leaderboards can be utilized with the time bonuses by converting the segment time into a time bonuses ladder, which could payout to the top 10 on the leaderboard.
This would encourage better racing throughout the entire race and not just a big sprint finish. In order to win, a racer must push hard in all segments which will result in higher racing scores that will better sort faster racers into their appropriate categories in future races.
It also allows a strong climber the possibility of winning these flat stages if they were to put in a huge effort on a KOM during the race.
The way it is now, the draft advantage is so strong, that any attempt at breaking out during a race often fails as the group draft just catches them later. But if they have a time bonus locked in, they would still be competitive at the finish line.
great idea, but the same limitations apply as with the points races, there would have to be a way to show who has the time bonus during the race and if they could do that, why can’t they do the same with earning points… also, what would stop those same sprinters from getting all the time bonuses anyway?
Yes, the size of the bonuses could be adjusted. There could be larger bonuses for KOM’s, but also the size of the KOM could alter the value as well. And sprints could give larger bonuses on the longer sprints.
After some testing/trials the size of the bonuses can get dialed in to work for everyone.
No it does not have the same limitation as points, as I mentioned, time bonuses would be easier to implement because Zwift is already using time as the measuring metric, so no complex conversions needed.
Sure someone can win every bonus, but to do so they would have to push hard for longer durations of time. This would make their racing scores go up more so than a single 15 second burst of power on the final sprint after sandbagging the entire race.
But it will need to be displayed somehow and somewhere on the HUD so everyone in the race knows who got the bonus time (same is true for a points race). All due respect, you have no idea how hard it would be to implement.
Time bonuses work in the big race series like the Tour because they are multi-race events. The time bonuses don’t change who the winner is at the end of a single stage of the event, they only get factored in for the overall event/series. I don’t see how they would work for a stand-alone race. You wouldn’t want someone crossing the line in the back of the lead pack yet being the winner of that race because they happened to get some time bonuses earlier in the race.
You can achieve the same results in many ways, in this example I will manipulate the Starting Time, but you could also apply changes to the Elapsed Time whichever is easier to implement into the existing code.
Variables:
CT = Current Time
ST = Start Time
ET = Elapsed Time
TB1-4 = Time Bonus (default=0)
DM1-4 = Difficulty Multiplier (default=1)
Program Code:
ET = CT-(ST+(TB1*DM1)+(TB2*DM2)+(TB3*DM3)+(TB4+DM4))
The elapsed time is updated in real-time and will reflect the racer position on screen during race so the racer always knows what position they are in.
TB1-4 is linked to the existing leaderboard. When a racer slots into a position on the leaderboard, the same program code that writes their name on the screen will also update the variable TB1-4
Leaderboard example for time bonuses:
P1 = 2.0 sec
P2 = 1.8 sec
P3 = 1.6 sec
P4 = 1.4 sec
P5 = 1.2 sec
P6 = 1.0 sec
P7 = 0.8 sec
P8 = 0.6 sec
P9 = 0.4 sec
P10 = 0.2 sec
Difficulty Multiplier:
DM1 = 0.8 (short sprint)
DM1 = 1.0 (short climb)
DM1 = 1.5 (long climb)
DM1 = 1.0 (long sprint)
Very simple to program, it should only take one person one week, send me the source code and I’ll do it!
So, am I understanding correctly that your idea would be to have a racer who leads over a climb suddenly teleport 2 or 3 seconds ahead of where they were at, both visually on the screen and in the standings?
No, only the race standings update in realtime. The avatar positon does not change unless you ride past another rider. The race standings give you the position you are in and the amount of time you are leading by or behind (no change to how it is now).
Just like in real racing, you can think of the race like a mini-tour. Tours don’t have to deal with sandbaggers.
So, you could be racing someone visually head to head, but they would actually be ahead or behind based on time? That would be really annoying to say the least. You sprint for the finish, just edging someone out, only to find out they actually won the race because they had a bonus from 20 miles back at some sprint. That is nothing like real racing. Time bonuses would only work in a multi-race series.
The final sprint is just the last sprint segment (TB4 for example), the person with the lowest elapsed time will be shown in 1st place during and after the race. Rider position on the road is not the finishing order, the elapsed time determines finishing order.
You could do the same thing using points, this uses time to keep all units the same.
I doubt too many people would be interested in racing a race where the finish order at the line is not the actual finish order for that race. I could see it if you were compiling a GC for a series, but not in a single race.
It’s an interesting idea, Glenn - effectively using time bonuses to mimic a points race.
Problem: the race standings don’t appear on screen currently. I know the riders nearby list kinda feels like race standings, but it isn’t. The functionality of that bit of the HUD would need to change.
I believe the OPs original idea, via another similar recent thread, was to use points rather than time. He may have been informed that this isn’t possible in Zwift and that Zwift uses time for results so I think he has moved across to time bonuses.
However Zwift, via ZwiftPower, can accommodate points racing. In your example above you could be attempting a sprint finish against someone who is well ahead of you on points from previous sprint segments. You could win the final sprint and yet lose the points race. [IMO something similar could be done using time bonuses but I don’t think it would be very tidy/easy to follow].
ZwiftPower is slowly being dropped and aspects of ZwiftPower are being built into Zwift. Hopefully Points Racing will be written into Zwift and this will include an in race view of the points position within the race.