Friday, March 22, 2013

Championship Formula Racing Rankings



Speed Circuit is one of the earliest games I got into when I was still at home.  I played it frequently with my parents but picked it back up again many years later at then Avalon Con.  For the last 15 years or so, I've been running the tournament there (now WBC).  In fact, the flavor of that game that became associated with me is now officially getting its own name (Championship Formula Racing) and published version in 2015!

I've been doing driver rankings on the sly for a number of years now so that I could seed qualifying races at WBC.  But, a couple things happened that have led to a more public ranking.  I wasn't really trying to keep it a secret and people eventually started peeking at the list and making fun of their friends -- so the data was out there and people were interested.  A couple of other large series started using very WBC-like rule sets with no restriction on who could participate -- so I now figured I should take those results into account and so a new ranking is born.

Lets skip to the end.

Here's the current rankings (PDF).

That number on the left -- the score -- is the main factor.  Everything else is a data dump and tie-breakers. What makes up that score?  In short: race results from WBC-like series; from the last 3 years; scaled and normalized based on the series they occurred in; per event participated in.

Lets unpack that.
Race results from Championship Formula Racing-like series. Right now I've identified three series that I include in these rankings: WBC itself, the WBC PBeM, and my own PBeM which I've been using as a test bed for Championship Formula Racing rules changes.  In theory series and tournaments using different flavors of the rules could be included, but I don't think I'd include tournaments that used drastically different rules then Championship Formula Racing or that are not broadly participated in.  One person's version is nothing like another's when all of our rule modifications are longer than the original rules.

From the last 3 years.  What I really mean here is the last 3 instances of each of the approved series/tournaments.  The WBC PBeM has only occurred once (although iteration two is just beginning) and my personal PBeM just started using WBC-like rules last iteration, so the current scores include any results from the last 3 WBC events plus the only WBC PBeM, and the most recent of my PBeM.

Scaled and normalized based on the series they occurred in.  This is where the math is.  Of the three series I'm looking at, two are very similar in structure and the third is very different so I deal with the two types differently.

My PBeM is run as a series of 3 races with points given out for race finishes.  After the three races, the driver with the most points wins.  This is actually pretty easy to deal with.  In order to normalize points, I re-scale points given out in the series so that first place is worth 100 points.  There is one complication in that the series is broken down into tiers, so that the best drivers from the last season race against each other, then the next tier, etc.  In the series, lower tiers are given less points for race results, so that scales easily enough, but I also end up discounting race wins in lower series for the purpose of this ranking.  For instance, Grant Guillard won a couple races last season but he did it in the second tier and so his entry in the PDF shows his best finish as a 2nd.  The end result is that most race finish positions are worth some number of points in this series.

The other two series -- the WBC based ones -- are run as elimination tournaments where a series of 2 or 3 qualifying races are run and the best finishes from those races get to participate in a winner takes all final race.  The ultimate goal is to win that final race, in the qualifying races it is most important to finish well enough to get to the finals.  Otherwise, a 4th is just as good as crashing if neither gets you to the finals.  However, a first is marginally better then a second because there are some advantages garnered for the finals.  For these series, qualifying race results are discounted by at least half.  So a race win in qualifying would not be worth more then 50 points.  In qualifying, only the top four finishes gain you any points at all.  This is because, no one has ever qualifying for the finals based on anything worse then a 3rd place finish.  Fourth place is getting some points, because there are rare times at WBC when a 4th will get into the finals as an alternate.  While there are multiple qualifying races in these series, only a driver's best performance gains them full points.  Second or third best results are discounted even further because their impact is even less.  For the finals race, I used WBC's laurels as a way to scale final result points.  So points go all the way down to sixth in the finals.

Since each series has a different number of races and/or scoring systems, the total points in play are different for all three.  So after adding points up for each series, I normalize against an event maximum of 100 points.  So, if someone were to win every race they could possibly enter in an event, they would get 100 points.

Here's a real world example:
2012's WBC Champion Bruce Rae ran in two of the three qualifying races -- one win, one dnf -- then won the finals.  Bruce got 50 points for his qualifying win.  Then he got 100 for the finals win.  A perfect score at WBC would be 187.5 (100+50+25+12.5 since each successive qualifying result is halved).  (150 / 187.5 ) * 100 = 80.

Per event participated in.  And this is why Bruce is ranked 6th and not 2nd.  A driver's final score is the average of their points from the events we scored for them.  So, while Bruce got an 80 in that championship run, he scored 16 points in 2011 at WBC, 0 in 2010 at WBC, 0 in the WBC PBeM, and 31.88 in my PBeM.  So we add that all together and divide by 5 to get Bruce's final score of 25.58.

There is one tweak to this averaging.  If a driver only has one event being scored, I halve their score.  Only two and I deduct 25%.  One example of this is Turyko Suky.  He participated in the WBC PBeM but that was his only scored event for this ranking.  He did reasonably well in that event: winning one qualifying race, finishing 7th in another, and finishing 5th in the finals of the WBC PBeM.  For that he got 40 points.  Unmodified, that would have put him 4th -- in front of the last three WBC champions, who also happened to participate in at least 2 other scored events.

Obviously, there is more detail to the maths, but I didn't want to spend too much time on this.  Feel free to ask detailed questions and I will be happy to answer.  I plan to update these rankings every time one of the scored series is completed and also immediately before each WBC.  If you are aware of a series or event that you believe is WBC-like in its rules set and open to all participants, let me know so I can try to include it in future rankings.

Wednesday, March 20, 2013

UFO Racing League, The Battery

Last post I promised we'd talk about collisions.  But lets talk about the battery first.

Each UFO comes with a battery where energy can be stored.  If you have energy in your battery -- we have two chips on the battery circled below...


...you can take that energy and add it to the base new thrust you got this turn.  You can take some or all of it.  But you can not put it back.  If you take it, you must use it.

So how do you end up with energy in your battery?  When you are placing new thrust, instead of adding it to the 3D compass rose, you can add it to your battery.  For every 2 thrust put on the battery space in the new thrust area you can put 1 energy in your battery.

Below we are putting two chips on the battery space, along with a couple thrust on the compass rose.


When you move the new thrust up to the current momentum compass rose in order to figure out your movement for this turn, you can move energy to your battery.  In this case, the two chips becomes one chip and is added to your battery space.


You can not put only 1 thrust in the battery space in the new thrust area... all energy put into the battery is rounded down and the remainder discarded.

Next, we really will talk about collisions.  Or... Tracks.  I know completely not the same thing.  Maybe I'll tease you forever promising to talk about collisions.

Monday, March 4, 2013

UFO Racing League, Basic Movement Walkthrough

Before I get too far into talking about the status of UFO Racing League, I figured I should walk through the game as it is.  Not too many details here, just the basics.

In the future, we race space ships instead of race cars -- of course.  The UFO Racing League is akin to NASCAR in space in style.  The space ships in the series were nicknamed UFOs because that's what they look like.

Each player gets a control board that they use to track the status of their ship's momentum, height, damage, battery, and set new thrust.  Below is the control board for the Blue #3 UFO.  For now, we will just worry about the parts related to movement -- the core of the game.


The top left of the board is where the ship's current momentum is tracked (close-up below).  Note that momentum is tracked along 3 axis: one vertical; and two horizontal axis.  Small blue poker chips are stacked in the circles to indicate how much momentum the ship currently has in that direction.  In the middle is a picture of your UFO.



The momentum chart shows us how to move your UFO when its your turn to do so.  Below we see some blue chips in different places on the compass.  One chip on the up side of the vertical axis, one chip on one side of one of the horizontal axis, and two chips stacked on one side of the other horizontal axis.  This shows us that on our turn, we must move our ship up one, one space this way , and two spaces this way .


Note, UFOs do not have a front or a back.  So horizontal movement is made in the absolute direction of that axis.  In order to facilitate this, everyone's board should be placed on the table perpendicular to the track -- not at an angle.

So lets see how this movement works on a track.  Below we are looking at an overhead of the UFO on a piece of track.


When we move our UFO, we must move one axis at a time, but we must move the entire thrust in an axis when we move it.  We can not split up the move.  So, lets move this way  first.  We have to move two spaces that way so we end up here (translucent marker show where the ship was before).


Note that we could not have moved only one space, moved a different direction and then moved another space in this direction.  We had to move both spaces at once.  Next lets move this way  the one space we need to.


Finally we must move up one space.  Each UFO sits on a plastic base with a series of 7 steps that indicate the UFO's current height.  Below, we move from height 4 to height 5:


Now that we've seen the very basics of movement, lets learn how to change our speeds or momentum in these different directions.

The bottom of the board is where you set set your ship's new thrust at the beginning of a turn (close-up below).  Note that the basic, 3-dimensional compass rose is essentially copied with the addition of a space where energy can be ear-marked for your battery (more on batteries later).


At the beginning of every turn, you will receive some number of small blue poker chips, which represents the energy output of your ship that turn.  This energy is placed anywhere on the thrust chart or onto the battery area next to the thrust chart.

Below, we have placed four energy in different places around the thrust chart: one up, one this way , and two this way .


This is how we change our momentum from turn to turn -- by adding this thrust to our current momentum to find our new momentum, and thus how we will move our UFO this turn.

After everyone has had a chance to set their thrust for this turn (done secretly behind a screen), we must consolidate new thrust and old momentum.  Step one is to move all thrust from the thrust chart up to the same compass rose locations on the momentum chart.  In the example below, I changed the color of the new thrust tokens to red to highlight what was new and what was old.


We don't normally want momentum in two opposite directions, so its time to simplify.  Lets look at this  axis first -- highlighted by the green arrows.  Last turn we had one momentum this way .  This turn we added two thrust this way .  In all situations like this we subtract the smaller amount from the larger amount.

That will leave us with one momentum going this way .  We see the result of that below, and our next axis highlighted in green.


Now we subtract 1 new momentum  this way from the two momentum we had this way .  That leaves us with one this way .  And we move on the vertical axis.


In this situation, we added 1 thrust up to the one thrust we already had going up to end up with two thrust going up.  Now we know have our resolved momentum for this turn and can move our UFO again.


Next Time: Collisions! Or maybe Batteries! (I know, it doesn't have the same ring.)