Tuesday, December 8, 2020

Championship Formula Racing Organized Play Update

 Seventeen races and one tournament into the 2021 season and I'm putting out the first report using the new ranking method.  

Its early days but James Benham is in the top spot right now for 2021 after winning the Redscape Fall Squall series this weekend.  Your right-this-second top 10 and more detail at the links below:

This could end up being a completely virtual season... depends a bit on what happens this summer.  So I expect that some drivers may not get as much racing in as they usually do.  But the opportunities for PBeM or TTS racing have increased since the pandemic hit so I anticipate a good season either way.

Keep racing everyone and I look forward to more results in the future.

Tuesday, October 13, 2020

Changes For 2021 Organized Play

The CFR OP Trophy

We have just completed the fourth year of Organized Play for Championship Formula Racing and the ranking system has largely remained the same over that period of time.  One of the main things I tried to do with the original system was to give different values to different races based on the competition.  In theory, a win against a bunch of strong competitors should be worth more than a win against a group of rookies.  The trick is judging the competition.

What I have done up to now is to count a driver's best race finishes over the last two years.  I would then use that value to judge that driver's ability.  The ability of the drivers in a race would add or subtract points from the value of that race.

The main problem with that concept is that it is circular.  If I win 5 races against relative newbies I'm going to look like a world beater.  But I can't judge the value of those wins until I figure out the value of those wins... 

I also had a siloed community problem.  If a group of drivers mostly race only against each other how do I compare them to others?

Late this season, I decided to try to improve the system.


My main goal was to try to improve the system's ability to value different races and tournaments.  Specifically and in relative order of importance:

  • Improve the system's ability to value individual drivers
  • Do something about silos
  • Prevent radically high tournament ratings
  • Create a more predictable and consistent ranking system
  • Provide points for ladder sub-tournaments
  • Rebalance tournaments in relation to races

Ratings vs. Rankings

CFR Organized Play is all about figuring out which driver had the best season -- what I would call a ranking.  It is not about figuring out who the best driver is -- what I would call a rating.  

This is a distinction that happens (perhaps unintentionally) in sports all the time.  The winner of the NBA Finals may not be the team that was arguably the best team in the NBA right now.  But it was the team that won the playoffs and thus had the best season as defined by the NBA.

The NBA and most professional sports leagues are able to easily ignore ratings when crowning a champion because they can fairly structure seasons and playoffs to give everyone a similar chance and similar competition.

CFR Organized Play does not do that, instead it simply observes everything going on as organized by various people and has to judge a champion.  This is where ratings come into play.  The system uses ratings to try to figure out how much value to give every race because it can not rely on some overall structure to keep things even.

I bring this up as a preface to talking and ELO and ratings because at the end of the day, these are just tools for trying to fairly figure out a ranking.  But driver ratings have never been goals in and of themselves for CFR Organized Play.  And... I'll talk about that more a little further down this page.

ELO to the Rescue

I've been using a ELO a lot over the last couple of years in a slightly related project to rank and categorize the best F1 drivers of all time (more on that much later).  So I felt comfortable using ELO as the basis of how good individual drivers are.  For those not already familiar, ELO can be used to figure out how likely one person is to beat another person based on the difference in ELO scores between the players.  After each event, the actual results are compared to what ELO thought would happen and adjustments are made to each player's ELO scores.

A complication with using ELO is that as described above, ELO works best if it is updated after every game or short event.  But I don't always get race results immediately after the race and PBeM races take months to end.  How does that work with ELO if in middle of that month long race, some of the drivers participate in 3 live, in-person events?  What's their ELO?

So, I decided that I would only recalculate ELO at the end of every season.  Every race that season would assume each driver had the ELO they started the season with.  I would then add up all of the ELO adjustments from their races that season and calculate a new ELO for next season.  I'm sure this means that my ELO scores are not as accurate as they could be, but I do not think calculating on the fly would be feasible.

Playing around with K

ELO calculations have a variable called K that tends to get tweaked by people who use ELO in different situations.  What I ended up doing with K is using it as a way to express my confidence in a particular driver's ELO rating which is how I ended up addressing silos.

First I wanted to measure my silo problem and make sure it exists.  So I crunched some numbers.  

So, yes.  Most drivers in a Detroit or San Marino race only ever race in those series.

In the charts on the right, you can see every community I identified and the percentage of "silo" drivers in an average race.  Red cars represent drivers who never leave that series and blue cars represent drivers who have participated in at least one race in another community.

Why is this important?  As good as ELO is, if two groups of game players never mix their ELO really only tells you how good they are within their community.  The less cross over, the less confident I should really be about the accuracy of an ELO score.  Lets think of it this way.

We have a chess tournament with 4 players.  The top 2 players end up playing each other while the bottom two end up playing each other.  If the opponents in this tournament never change ELO will tell you that the best and 2nd worst player at this tournament are equally good because they both won their games.  It will also tell you that the 2nd best and worst player are the same.  

Of course once you mix the opponents up it will not take ELO long to figure out what is really going on.

So what I wanted to do was change my K value depending on how confident I felt about ELOs.  What this does is reduce the amount a driver's ELO changes when racing against drivers who don't get out much.

I starting thinking about his from a community perspective.  But I figured out that it is really a bit more complicated than the chart on the right.  For instance, large ladder series like Redscape and P1 look very different if you look at the races at the top end instead of the bottom end -- where new drivers usually come in.

So what I ended up doing was calculating a K value for every driver in the rankings.  That K value is based on how many races the driver has raced outside of their main community.  A driver's K ends up being 5, 10, 15, or 20.

Remember that K values have no direct impact on rankings.  No one will get more points or fewer points from a race against drivers with higher or lower K values.  Also note that I'm not throwing any shade on Detroit and San Marino or any future outpost of CFR.

Smoothing out the Scores

So what am doing with all these ELO scores?  The average of the top 10 ELO scores in any given race define that race's score multiplier.  The average of the top 20 ELO scores in any given tournament or season define that tournament's score multiplier.  This is similar to how the system works now but with a couple important changes.  

First off, I'm not using raw ELO.  I assign the highest ELO in the land a value of 1.75 and the lowest a value of 0.5.  And then I scale everyone else's values in between.  ELOs above 1000 get to be above 1 while ELOs below 1000 are below 1.  These numbers are tweaked to provide hat I consider to be enough value difference without ending up with a race or tournament that has a really high or low value compared to everything else.

A corollary to the above scaling is that I'm no longer adjusting scores if the event is live as opposed to asynchronous and I'm not rewarding an event or race for having more or less drivers.  This should remove the possibility for people to game the system and makes things more straightforward and less complicated.

Also, because ELOs do not change mid-season, race and event scores will not change after the event is scored.  Because the current system was constantly adjusting the weight of races and events scores would change seemingly randomly over the course of a season.  This will make everything much more predictable and consistent.

What Value Tournaments?

The next question I wanted to deal with is how much a tournament should be worth in relation to races.  At the same time I also thought about how many races and tournaments should count towards the Organized Play championship.

There wasn't any magic or complicated math here.  I picked a bunch of different values until I ended up in a spot I liked.

Going forward only the top 3 finishers in an event score points and they score 1/2 the value of a race.  So, while the winner of a race will get 23 points times that races multiplier the winner of a tournament will gain 11.5 points time that tournament's multiplier.

In the end I decided that points from the top 2 tournaments and top 5 races seemed right still, so that stays as it was.

What Exactly is a Tournament Anyways?

At this point, I've dealt with all of the really important things I wanted to deal with.  But several people had brought up an interesting point.  In the 2 large ladder series, we have groups of people who participate in a series of races but do not get counted as a tournament of their own.  

So when I was tinkering with tournament points I kept this in mind and broke out a couple seasons of ladder series to see how this would go.  Going forward, I will be counting ladder sub-series as their own series and not part of the greater event.

It doesn't devalue the higher series and gives some tournament points to more people.


If you want some more formulas and math... check out this page.

Friday, October 2, 2020

2020 CFR Organized Play Ends

The 2020 season is complete... and what a season it was.

COVID cut short some in-person opportunities including the end of the San Marino season.  This is why no San Marino races are counted towards this season.  It also emphasized the value in PBeM's and prompted Redscape to experiment with Table Top Simulator which spawned a new tournament.

But you all are here to find out who won the title... 
Don Tatum
For his second consecutive title.  But this one was much closer than last year's romp.  Going into the final race of the year, Don was behind Bill Worrell who had dominated this season in Detroit.  And Don spent the majority of that last race in the back of the field with Tim Mossman threatening to win the P1 series as well.  Late in the race Tim's dice failed him and he DNFed.  That guaranteed Don the P1 title and those 62 pts put him 17 clear of Bill.  Interesting Rando ended up 2nd on the season after gaining 8 pts for his finish in P1.  Bill a close 3rd.

Great season everyone.  A few other awards:

Rookie of the Year:
Mickey Akins
Mickey won 2 races in his first season in Organized Play and finished ranked 16th.  Honorable mention to Tim "Kay" Klepaczyk who also won a race in his first season of Organized Play and finished with a rank of 30th.

Most Improved:
James Benham

James was ranked 103rd last year as a rookie.   He won 6 races this year and finished ranked 13th.  Honorable mentions to Brent Fitz who won 2 races in his 2nd season and moved up from 98th to 31st (67 spots); Mark Moellering who moved up from 97th to 33rd (64 spots) in his second season; and Kathryn Harley who moved up 52 spots in her 3rd season from 140 to 88.

Steward of the Year:
Michael Polcen
Redscape really pivoted nicely to Table Top Simulator this summer and have kept it up with a new TTS season this fall.  This is the second time Michael has been named steward of the year.

The 2021 season.

Quick preview that scoring is going to change a for 2021.  Don't panic, it is not earth shattering but I hope to address concerns I've had about my old system.  I'll have more to say about that soon.

Tuesday, September 8, 2020

Swamp Table Project: The Trees!

So far, what I've built for this project were serviceable pieces of terrain.  They were fine and functional but nothing too interesting or involved.  My last two reveals were a lot more involved.

First up, and probably most important for bringing together a swamp table -- TREES!  And with a better set of pictures showing more than just the finished product.

Steps 1-3 created the basic structure for the trees -- trunks and branches.  The lower trunk were carved out of 1" thick pieces of insulation.  Before I did the carving, I glued rough cut blocks together so that I had 2" of insulation to carve.  This is the functional part of the terrain -- the part that miniatures will hide behind so I wanted the possibility for some good height.  Next I cut a whole half way into the 2" chunks to fit the cardboard tubes that will become the upper trunks.

After gluing the cardboard tubes into the trunk bases I added branches.  The branches are bits of metal clothes hangers stuck all the way through the tube to make two branches... one on each side of the tree.  Some glue was applied to the holes to try and keep these in place.

Next I took a knife and some wire brushes to the cardboard tube.  My goal was to create a rougher surface more like bark would be.

You can see that some of the trees I grouped into clusters of two trees each.  Sometimes with room between them.  Sometimes not.

One problem with trees being a main part of the table terrain is that it does not create elevation differences that the models can take advantage of.  So, for a couple of those 2-tree clusters I want to add platforms models can climb up to.  Above, I've carved notches into opposite trees and then glued in balsa wood pieces.  I'm going to use these to anchor the platforms.

The platforms are mostly craft sticks glued to balsa wood supports.  The ladders are balsa wood with toothpicks for steps.

Next step is to use spackling/filler to smooth over gaps and wholes.  For instance, you can see in the prior pictures where the two blocks of insulation were glued together.  There were also spots where the carving in the insulation went badly creating holes I didn't want.  There were also a good many gaps where the cardboard tubes were slotted into the insulation bases.

In this picture you can also see another bit I was working on at the same time.  Front and center is a root looking construct.  I modeled these after rogue root structures I saw in my research pictures.  This one is straight.  Another is a corner looking piece.

Roughly an entire can of Leather Brown Primer from the Army Painter and I'm ready to paint.  Seriously, I was really worried that I was going to run out of primer as I was doing this.  Also... it started raining as I'm finishing up... most stressful priming ever.  But it all got done and moved into the garage before the rain really started falling.

With the primer also acting as a base coat, painting was mostly about shadows and highlights.  Pictures below are the finished products.

A wash into the crevices first, then some red in gaps and flat areas.  I think the red I saw in my source images were either fallen leaves or needles or bark or something like that.  So I tried to get that color on places where that detritus would gather.

Next some blue highlights.  I like that the blue added a little color to the trees.  I think the blue bits on my reference images were moss of some kind?

The last highlight was a lighter brown that I used on the trunk to break up the base coat and on the roots to accent the ridges and tops of the roots.

Above you can see probably the last bit of unfinished work... I might go back and flock the two groupings that effectively have some flat ground between them.

Last step for most of the trees was to add some green.  I played around with different arrangements and decided on mostly a couple dangling bits from the lower branches plus some smaller clumps on the larger root structures as seen above.

Back when I had added the branches to the trees my plan was to add a true foliage top to every tree.  You can maybe see in the image above that I had arranged the upper branches in such a way that I was hoping it would support whatever I was going to end up using for the upper leaf canopy.  You can see I haven't done that yet.

When I played a couple of games using the trees before I painted them, I had a concern.  Would all of that foliage obscure my ability to see the table well?  I think so.  So for now at least, no tops for my trees.

At this point I am more or less done except for the platforms.  First I went over the platforms and ladders with a specific wood grain wash I have as I wanted this cut wood to stand out from the living trees next to them.  

Next I used the same lighter brown color I used on the trees to do some pretty aggressive edging along individual boards and the ladder steps.

Finally some dry brushing to really pick out the top edges.

My final step was to add a water line to the bottom bit of everything.  It is supposed to be a swamp so I envision that the water really marks these trees with the tides.  Below... all of the trees.  This covers about a third of a 4' x 4' table.

Higher resolution images here.

I was really happy with the end result of these trees (even if I may end up going back and adding more foliage or some flocking).  This was also my most ambitious element to date.  I ended up with 10 different pieces and can really cover a good part of the table with them.  

The swamp table is really coming together at this point.  But I had one more thing I wanted to add, that morphed into a much bigger project than I had envisioned.  Next on the agenda is the Mining Platform / Landing Platform / Objective Room.

Thursday, August 27, 2020

Need Another Racing Game?

Take a look at SuperCharged -- on Kickstarter now.

For many of my readers, the title of this post is a rhetorical question... but why this one?

I'll be honest.  I've never played SuperCharged.  But I know Jim Dietz.  In fact, without Jim Championship Formula Racing would never have happened.  Jim loved Speed Circuit and wanted an updated version and signed me on to do that for Jolly Roger Games back before Ultra Pro bought the whole kit and kaboodle.

Now Jim is back to publishing games, but with a twist. Game sales now help fund the Jim Dietz Foundation for supporting current and future teachers.  Read more on the Foundation's Web Site.

We all have gotten used to treating Kickstarter as a pre-order system -- and I certainly do that myself.  But the original idea of Kickstarter was to allow regular folk to support projects they believe in.  And F1 history is something I find really interesting, so I'm in.

Check it out.


Thursday, July 9, 2020

Swamp Table Project: Objective Markers

The miniature game I play most by far is Infinity.  In most Infinity missions, there are objectives scattered around the table that you have to interact with to score points.  The objective could be a computer console or satellite dish or supply crate or small-arms-vending machine (seriously).  You can just use cardboard tokens to represent these things, but that was going to look out of place given the work I'm putting into the rest of the terrain, so I decided to make some objectives.

I went with a concept that I thought could viably represent any type of Infinity objective.

Here we have the constructed and freshly primed pieces. 

I used clay poker chips as the bases to provide some weight and a solid round base.  The sides of the body is a cardboard tube that I cut up to suit.  This cut was not as clean as I wanted so I used masking take to smooth off the edges.  This wasn't the best plan as the tape was still visible after priming and painting.

I then cut a piece of foamcore to cap the tube.  Both the flat top part and the angled flat part are 1 piece of foamcore that I cut half through and then folded.  I placed pieces of metal hangers in those gaps. 

On top are plastic tubes from dog-poop bag rolls that I cut on an angle and then glued lego satellite dishes to.

Here are a couple pieces after painting with a model for scale.  I left most of each piece the metalic color I primed with although I tried to add a hint of blue to the main bodies. 

Each of the 6 objectives got a different computer readout on the angled flat part.  These were modified from some images that Infinity publishes as the official computer screens for the main factions in the game.  I then highlighted each piece with a different color so I can tell them apart more easily.

Next I wanted a nice way to keep these and (someday) travel with them. 

So I cannibalized a box from a recent purchase of Infinity miniatures.  I cut off the box lid and cut circles in the foam insert that kept the minis sage during shipping.  Next I glued the foam into the box. 

The wholes are slightly smaller than the bases of my new objectives so they fit snugly.

Finally, I wanted a way to track information about objectives during the game.  Some missions care who touched an objective last or who touched it any time during a missions and some missions use more than one kind of objective.

The bottom piece of chipboard has a space for each objective identified both by color and with the same computer screen image.  I also have some arrow markers that can show possession or something else like that.  Finally I have a handful of markers that represent the various types of objectives that I can place near the bottom part to show what it what on the table.

The rest of the set.

Higher resolution images here.

After this side project I built trees.

Friday, June 26, 2020

Swamp Table Project: Shed

To go along with the farm house, I wanted a smaller building.  This time a shed.  My reference material were google searches for sheds in swamps / bayou. 

I used mostly craft sticks for this build.  With some balsa for the corners and door frames.  The base is foamcore and more foamcore for the walls under the eaves in the front and back. 

The roof is decorative paper that is corrugated on one side.

The roof just fits on top and can be removed for easier inside access.

More pictures.

Higher resolution images here.

Trees are the next big thing I tackled.  And I'm super proud of them but before I finished them I had a side quest to build some objectives.  So I did that next.

Thursday, June 11, 2020

Swamp Table Project: Ruined Farm House

A couple weeks ago I introduced the work I've been doing on a Swamp Table for my miniature gaming (mostly Infinity).  That was about some alien looking bushes.  This time I want to show off what is one of the main pieces for the table: a ruined farm house.

Sure, farm houses are not very futuristic but I wanted my table to be versatile and maybe this alien world was colonized by people who liked farm houses.  I wanted something reminiscent of a early 1800s southern farm house.  Not a large plantation home, more of a smaller structure.  I ended up finding some good source material online for inspiration and this is what I ended up with.

It is mostly a foam core construction on a foam core base.  This corner is the most intact part of the building.

The small balcony is actually pinned through the front wall and into the second story floor with a couple of toothpicks.  The railing uses balsa for the main support and thin wire for the smaller details.  The floor of the balcony is edged in craft/popsicle  sticks.

The front porch uses larger craft sticks supported by more of the smaller sticks.  Additional craft sticks became shudders and window sills.

A good look at the second floor from the back side.  The stairs and some other bits of that middle section are what I could have done better.  The whole area could have been planned better but I think it came out well enough -- especially for my first serious building construction.

More views of the interior via the backside of the building.  Lets focus more on the chimneys... which are my favorite part of this piece.

I used the technique of striping on side of the foam core off and then carving into the foam innards for the brick work and was really happy with how it came out.  Some of it was a little uneven, but I like it.  The actual flues at the top are my favorite plastic tubes from inside a roll a dog poop bags.

 Higher resolution images here.

The next piece I finished for this table was a small swamp shack.  Pictures of that in a couple of weeks.

Wednesday, May 27, 2020

Swamp Table Project: Lantern Bushes

Since Michael and I got into Infinity I've been tinkering around creating paper-craft terrain.  Mostly this was printing out patterns I found on the internet and gluing them to boxes.  It was a fun way to get my feet wet, but the quality was hit or miss and the durability was not great.  So I went down the serious terrain making rabbit hole (the Terrain Tutor to be specific). 

When I came up for air I decided that I was going to put together a scratch-built swamp table suitable for Infinity and maybe other things as well.  I've now made a lot of progress and wanted to share some pictures.

First up are what I like to call Lantern Bushes.  These were the first really interesting piece of terrain I scratch built and were very much inspired by a piece of what would normally have been trash.  I didn't have the swamp table idea yet but these pieces ended up fitting the theme.

Michael had a couple strings of lights under his old loft bed with these really nice paper coverings.  I decided that they would make great alien trees or bushes.  No need for paint.

I used chipboard as a basing material.  Painted it a bluish green and used some blue aquarium stones to give it an alien feel.

Roughly every other lantern was elevated on a plastic tube from the inside of a roll of doggie-poop bags.  I used modeling clay to form the root structures.  Some painting later and I had 4 pieces of larger scatter: Two pieces have two bushes and the other two pieces have 3 bushes.

The chipboard was not my best call.  As you can see in a couple of these pictures, the corners warped up a bit.  I did go back and try to warp it back the other way but couldn't correct it fully.

Below are pictures of the pieces with 3 bushes.  Higher resolution images here.

The next thing I tackled was one of the larger pieces destined for this table -- a ruined farm house.