News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Duplode

#1
Competition 2024 / Tiebreakers redux
Today at 06:26:25 PM
Given that it's quite possible that we'll see a draw (or even a few draws) somewhere on the season scoreboard, it makes sense to have a look at the issue of tiebreakers, in order to clear any lingering ambiguity.

The ZakStunts rules page says that "in case of a draw, the pipsqueak with the most victories / best positions / number of best positions is announced as the winner". That provision was added for the 2016 season, after we realised in the previous year that the rules were silent on tiebreakers. Sounds clear enough, right? However:

  • Somehow, and in spite of being involved in the discussion about it back in 2015, I either forgot completely about the rule change, or was never aware that the text of the rules had actually changed to begin with! :o I suppose others among you might be similarly surprised about it.
  • The season scoreboard page currently doesn't break ties using the number of wins and so forth.

The point of this post is just to put the matter up for consideration. For this season at least, I won't push for any particular way of breaking, or not breaking, ties. I can't do that with a straight face given that I was confidently misquoting the rules as late as yesterday  :D
#2
All sorted out, then: 25 races with the 25h Anniversary Countach ;D

On a more serious note, I'd prefer something that doesn't radically change the structure of the competition, and, as Akoss says, that doesn't make it much more time consuming.

Now, to put something on the table: Argammon's suggestion a few days ago got me thinking about holding a race with (almost) all ZakStunts cars at once under balanced bonuses, as an off-season special event. If you feel that would be fitting as a celebration (among others!), we might as well carry it out with some rebranding  ;)
#3
Competition 2024 / Re: Guest tracks 2024
Yesterday at 07:57:26 PM
Quote from: Akoss Poo a.k.a. Zorromeister on Yesterday at 07:01:25 PMWhat is the current way of sending a track to the competiton? To Dreadnaut by email, as earlier?

Exactly.

Quote from: Akoss Poo a.k.a. Zorromeister on Yesterday at 07:01:25 PMAny requirements regarding the track?

The main thing we've been trying to be careful about this year are accidental openings for powergear. It should be a different matter, of course, if you intentionally want to make a PG speedway -- but do tell @dreadnaut of your plans if that's the case.

Quote from: Akoss Poo a.k.a. Zorromeister on Yesterday at 07:01:25 PMAs for the car percentage bonus modification, is there still a +10 and -10 option?

Yup, +10 and -10 to spread across the cars, with the total sum of the adjustments not needing to be zero.
#4
That would be a very good variable, actually! It's easy to interpret for PG cars, and for non-PG cars we could just set it to zero and forget about it. For GTO and Vette 225 mph (the rigid PG limit) would be suitable, while for Indy and NSX I think it makes sense to use their flat track top speed (216 mph and 172 mph respectively).

Quote from: Argammon on November 08, 2024, 06:08:38 PMThis should not be difficult because cartography measures the speed continuously anyhow, or does it?  ::)

Yup, it's technically feasible to do. Cartography relies on repldump to obtain frame-by-frame data for the replay, so in principle it's just a matter of running repldump on the replays and having a little program to process the output and calculate the ratio. (Automating the whole sequence of steps is a sensible thing to do, because the number of replays to be analysed is potentially large, and also because repldump has to be ran through DOSBox, making it a relatively slow tool for this sort of task.)
#5
Competition and Website / Re: Balanced bonuses estimation
November 08, 2024, 10:28:06 AM
Very good questions!

Quote from: Cas on November 07, 2024, 06:41:33 PMOne thing I'd like to ask because I'm not sure I understood is whether cars are being compared only when driven by the same pipsqueak or by their combined results of all pipsqueaks that used them in each given race. I mean, some of us have been to most races, but some pipsqueaks have had periods of much higher participation, so that may have an impact.

It's the latter option: the comparisons are according to the best corrected lap time for each car (with unused cars losing by default). For instance, the ZCT258 match in that example regression plot was between my 46.31 (1:01.75) Lancia lap and Zapper's 55.50 (1:14.70) Carrera lap, and thus it is scored as a Lancia win. The lap times aren't used directly in the regression, but merely to pick the winners.

Quote from: Cas on November 07, 2024, 06:41:33 PMAnother thing is... would it be possible to solve the PG problem, more or less, by separating races on tracks that make it very hard to do PG from those that are easy to do PG on and treating them as two different cars?

In theory, yes. There are, however, two complications that are difficult to overcome with this approach. Firstly, non-PG races with powergear cars are historically rare at ZakStunts. Secondly, even among PG races there is plenty of variability when it comes to how much of the laps is spent on powergear.

An alternative approach that I see as more likely to succeed is choosing a continuous variable that can work as a proxy for powergear use, and then extending the model by adding interaction terms between it and the car choices. For instance, one candidate for being that proxy variable could be the average speed of the winning lap in a track (possibly divided by the winning car's top speed). As a bonus, besides helping with powergear, that approach might also allow quantifying how much better cars with low top speed do on slow tracks. 
#6
Competition and Website / Re: Balanced bonuses estimation
November 07, 2024, 11:28:44 AM
Quote from: Argammon on November 06, 2024, 08:13:48 PMI think it would be cool to make all cars start with their balanced bonuses in January 2025. The scoreboard would surely look interesting.  ;D

Not sure about doing it on ZakStunts (it's very nice to have continuity of bonuses from one year to the next), but otherwise that would be a fun race to have! Maybe it could be a special event of some sort?
#8
Chat - Misc / Re: Association game
November 04, 2024, 01:31:36 AM
Kink
#9
Chat - Misc / Re: Association game
November 04, 2024, 12:42:50 AM
Yellow
#10
Competition and Website / Balanced bonuses estimation
November 02, 2024, 01:54:10 AM
Ever since ZakStunts started having multi-car races, the balanced bonuses question has been a matter of interest to pipsqueaks and track designers alike: which set of bonuses would give all cars even chances of winning? This post presents a what I believe to be a sensible, comprehensive way of answering that question. A list of bonuses estimated for most cars featured in ZakStunts can be found towards the end of the post. Before that, a few words about my methods and assumptions.



A couple pre-season rule reviews ago, I suggested figuring out balanced bonuses by comparing pairs of cars, sorting the races they were involved according to the ratios of the bonus multipliers (or the advantages, which is how I'm calling the differences of the multipliers' logarithms, and which are easier to work with as they are on a linear scale), and finding the point at which the winning car changes. While that idea is basically sound, there were a few obstacles when it came to applying it systematically:

  • Figuring out which races are relevant for each pair of cars. (Two years ago, I picked those in which at least one car of the pair reached the top 6. However, that might discard quite a lot of useful information, specially for the last two seasons, with close bonuses and single-car podiums.)
  • Reliably estimating the switch point between the cars. (Eyeballing only takes you so far, specially when there is significant overlap between the winning ranges of the cars, or with custom cars for which not many data points are available.)
  • Distilling the pairwise estimates into a single, overall estimate of the bonus for each car. (With 33 cars used in ZakStunts since 2008, we might have up to 32 different pairwise estimates for each car!)

For #1, after playing a bit with the available data I have settled on picking matches (that is, comparisons between cars available for a specific race) in which at least one of the cars either reached 120% of the winning time or had at least 10% of the submitted replays. That seems to give a good balance between preserving information and excluding accidental results.

For #2, a simple and well-established solution is logistic regression: using the advantages and the record of wins and losses for a pair of cars, we can fit a model that estimates the winning probability for the given advantage. For instance, here is an updated version of the Carrera versus Lancia chart from my older post, with a fitted logistic curve:



The midpoint of the curve, the point at which the model predicts the cars have the same chance of winning, is at an advantage of +0.056, which would amount to a +5.4% relative bonus of the Carrera over the Lancia.

(Side note: while the logistic model has the great advantage of simplicity, there are other reasons to regard it as a reasonable functional form for our problem. In particular, the winning probability as a function of the advantage should in any case be a sigmoid, as it must go to either 100% or 0% as the bonuses grow apart from each other, and also must be symmetrical around the midpoint.)

Obstacle #3 was arguably the decisive one. Ideally, we'd want to use the full wealth of pairwise comparisons to reach an overall value for each car, but do so in a principled way. After trying a few ad hoc approaches with limited success, I learned there is a standard way of taking in the pairwise models all at once: the Bradley-Terry model. It is similar in a few ways to an Elo ranking but without evolution in time (so the abilities of the players are assumed to remain constant), and is commonly used to estimate the abilities of players or teams within a tournament. In our case, the cars are the "players", and each pairwise meeting in a race is a match. The bonus advantages, then, can be incorporated in the same way that, in more typical uses of Bradley-Terry, home advantage for sports teams is handled: as an added term to the car "ability" scores.

With those pieces in place, fitting a Bradley-Terry model to the ZakStunts data is straightforward, giving us abilities for each of the cars, which are displayed with error bars on the chart below:



Up to a scaling factor, these abilities correspond to the intrinsic advantages for each car, and so they can be easily converted to balanced bonuses. You'll note I have excluded a few of the ZakStunts cars:

  • Acura, GTO, Indy and Vette, due to the notorious problem of powergear leading to too much variability from one track to the next. (For a rough idea of where they stand relative to the others, see the Magic Lamp experiment.)
  • Xylocaine, which, besides also being a powergear car, was never competitive in its one ZakStunts season so far.
  • Speedgate, whose driving technique evolved so much that it is questionable how representative its historical results are.

It might be prudent to take the estimates of cars which only had one or two seasons so far with a grain of salt, as the error bars in the chart above suggest. (Uncertainty is specially high for the 911 Turbo because the seasons in which it was competitive were at the height of the far-apart-bonuses era, which tends to make its matches less informative.)



With the i's dotted and the t's crossed, here are the balanced bonus estimates:



These percentages should not be taken as definitive: the methodology might be further refined, and there will always be more races to add, with different scenarios to try out the cars. In any case, they are an auspicious start!  :)



One direction that might be explored in future work is adding more predictors to the model. The Bradley-Terry framework allows bringing in extra factors that might be additional sources of advantage or disadvantage for the cars. We might collect data on track-specific (e.g. the proportion of non-asphalt elements) or even replay-specific (e.g. how much of a lap is spent accelerating) variables, incorporate them to the model and see if they interact with the car abilities. That might be one way to quantify situational advantages of, for instance, off-road cars, or even powergear cars.

Both the data and the (very unpolished!) R code used to fit the model and obtain the bonuses are attached, in case you want to reproduce the calculations or tinker with them.
#11
General Chat - ZSC / Re: Statistics!
October 30, 2024, 12:39:07 AM
To beat Roy's record, the 2025 champion would have had to be born after my first title  :o
#12
The widened B-pillar and the two-tone LCD look nice!
#13
Stunts Chat / Re: A playlist of Stunts tracks
October 28, 2024, 11:07:04 PM
Quote from: Shoegazing Leo on October 28, 2024, 03:30:07 AMZCT 189 has named after this song: https://www.youtube.com/watch?v=F01QwV7DU18

Now added, thanks!

Quote from: dreadnaut on October 28, 2024, 12:27:09 AMIt also led me to discover that yewtube can import music tracklists, neat!

That sure looks like a nice tool -- and it even has a scrobbler! Gotta try it one of these days :)
#14
Stunts Chat / A playlist of Stunts tracks
October 27, 2024, 02:54:07 PM
There is a long history in our community of Stunts tracks being named after music tracks, a history of which I'm but one of the continuators, having acquired the habit from Mark L. Rivers once upon a time. It would make a lot of sense to be able to listen to those tracks, so here is a playlist of them!


Though having a majority of rock songs, the playlist features quite a variety of styles. I have included every track-naming track I know of, plus a few bonus tracks sprinkled around. Please let me know if I have missed or misidentified anything!