Finally! I have some action videos of the SnakeOil entries racing against each other and their nemesis, Autopia. These videos show off The quality of both teams, and the huge improvement made between 2013 and 2015 entries. The videos were selected because they were good races and fun to watch.
Format
I was originally going to show a bunch of the weaker competitors too but I grew weary of getting their bots to work, especially dealing with Java. There were some very good entries that I would practice against, but for all intents and purposes only one was important, Autopia.
Autopia is a bot written in C by Enrique Onieva and amigos at the AUTOPIA program, Centro de Automática y Robótica (CAR) in Madrid, Spain. Here is a journal paper about it if you like that sort of thing. What’s important to note is that Autopia isn’t just good; it is dominating. It is the all time grand champion at this sport. By 2013, I believe Autopia just ran the previous year’s entries and still crushed everyone.
Consequently my training program pretty much ignored all else and focused on chasing down this extremely high quality entry. I didn’t quite get to that level, but as you’ll see, I made a lot of progress toward that goal. I feel like SnakeOil is not completely out of touch with the level of Autopia.
Another factor was that the official competition format had a "preview" lap where the bots could drive a new track, take notes, and make adjustments. This was a huge pain really. It turned out that about half of the entrants I tested showed very little improvement when allowed to take this preview lap. This was especially true with the best entries. I was a bit surprised by this. I found many tracks where Autopia was actually slower if it took its preview round.
It turns out that as I improved SnakeOil the efficacy of the preview lap became less significant for me too. For the races I’m showing here, the format is that there is no preview. Everything these bots are seeing is for the first time. Autopia and SnakeOil are among the easiest bots to run in this format. I believe that the good bots don’t need the preview lap because they are the ones which have been machine optimized the most. Incorporating the preview step in training or breeding was just too onerous at large scale.
The starting field can confer a definite advantage. Since this is a demonstration of SnakeOil I am using 4 SnakeOil cars and 2 Autopia cars. The Autopia cars are both identical. They both start in the middle. At the front of the starting grid is a 2015 SnakeOil with the gold paint, and a 2013 SnakeOil with the white paint. To show what kind of advantage that is I also include a SnakeOil 2013 in gray followed by a SnakeOil 2015 in the final start position. This configuration allows the improvement between SnakeOil 2013 and 2015 to be quite obvious.
-
Gold - SnakeOil 2015 - scr_server10
-
White - SnakeOil 2013 - scr_server9
-
Autopia #1 - scr_server3
-
Autopia #2 - scr_server4
-
Gray - SnakeOil 2013 - scr_server7
-
Silver - SnakeOil 2015 - scr_server8
For the display in the videos, the red dot on the map is the currently
focused car. The F bar is for fuel and not used, but the D bar is for
damage. When the damage bar is full red, the car is considered crashed
out and levitated off the track. The scr_serverX
tags are how the
TORCS race environment refers to entries in the results. None of the
videos have an audio track.
Things To Watch For
I am always amazed at Autopia’s combination of extreme effectiveness and yet choppy driving. Autopia makes it seem like choppy driving doesn’t matter, but it does! Not only does SnakeOil drive extremely smoothly, it also reliably takes the best lines of any car. However, I learned that being able to brake perfectly was really the dominating factor for ultimate results. Autopia’s passing is aggressive, but it just assumes that it will blast by other cars, which it normally does. However, SnakeOil 2015 has the best acceleration of any car in the field and Autopia gets into tough spots sometimes because of it. This drag racing skill gives SnakeOil a definitive advantage at the start. Autopia’s start is shrewd but ineffective against SnakeOil. It tries to immediately get away from the other cars to use its superior acceleration; only it doesn’t have better acceleration in these races. As far as good traffic management skills, especially in crash zones, Autopia is weak and SnakeOil is pretty good. That’s mostly because Autopia does not really crash very often. The most reliable place to find Autopia crashing is on bumps or drop offs (sudden Z gradients). While SnakeOil handles those pretty well, its weakness is on certain turns, especially city road courses, where sensible lines just go crazy for unknown reasons (tracking that down would have been my next big improvement). Although I think SnakeOil does a great job of braking for turns, Autopia has mastered this to an almost supernatural level.
Chebeague-city
Autopia gets double passed early on and seems to struggle on a critical turn. SnakeOil 2013 seems to have random problems but 2015 seems a big improvement on this track. Down to the wire with the top 4 within 3 seconds!
E-Speedway
This is a TORCS stock car track. I did a lot of work on SnakeOil’s acceleration from a stop and in general. As far as I could tell, I was the only entry to ever even use the clutch. But here we see it paying off. Autopia’s usual start tactic is to move to the sides and then blow by the competition. Only with SnakeOil, that’s not so easy to do. The 2013s aren’t prepared for such high speeds and lose stability easily. But the 2015 team is solid. What they slightly lack in top end speed they make up for in taking a smart line. The top four finish within 2 seconds showing the high quality of all. The hapless 2013 team struggles just to get around without losing it. Their high speed crashes are fun to watch.
Poepells-mtn-snow
A very close match between champ Autopia and SnakeOil. Shows off SnakeOil’s clean lines, smooth driving, and good blocking. Also shows off Autopia’s aggressive passing and immaculate high speed control. The top 4 finish within 10 seconds in this cliffhanger.
Deiqiao-mtn
An exciting race showing that although Autopia is the all-time champion, SnakeOil isn’t completely out of touch. A thrilling finish with 3 cars within 2 seconds. Another demonstration of how big of an improvement was made between the 2013 and 2015 teams
Kurinjimala-mtn-snow
Autopia shows its typical squirrelly start and clumsiness on bumps but then digs in for its champion form. One Autopia car crashes out early with some stupidity related to traffic stubbornness but the other makes good with the clear road of the lead. The chicane is a rare tight turn where SnakeOil picks the more perfect approach velocity. The 2013s stumble around the track. Autopia’s early clumsiness make it a big job to regain the lead. A super close finish with the top 3 within 5 seconds.
Madhavaram-city
After Autopia’s normal strange starting strategy, it settles into some very clean racing. SnakeOil struggles on city tracks for some reason. There are glitchy corners that SnakeOil just can’t quite figure out. Still, even with many major incidents, no one gets lapped. The 2015 cars clearly are a huge improvement over the 2013 team.
Dirt3
This track is one of the TORCS premium dirt tracks (set in Australia). The narrow slippery track causes a big starting pile up. Autopia is ruthless about recovering the lead. SnakeOil makes some bad unforced errors and is no match for Autopia’s aggressive, controlled driving. The 2013s really struggle on this course showing the huge improvement. At the end one of the 2013s demonstrates getting caught in a bad angle and not being able to recover properly. This kind of track wasn’t in the competition so no work was done to prevent this kind of thing on these kinds of tracks.
Wheel2
This is one of the TORCS premium tracks (real life Suzuka Circuit in Japan). This is one of my favorite tracks but very difficult. Since this wasn’t in the SCR championships, nothing was optimized for this kind of track. Autopia has even more struggles than usual with the start, gets hung up early, and has a big deficit to bring down. This is done with Autopia’s perfect hairpin lines and fearless top speed. SnakeOil is making a lot of excursions into the sand but staying composed and making the best of it. In a twist, Autopia has some kind of memory allocation error at a certain point on the track! Both cars suffer the same fate at the same spot. I respected Autopia’s C coded bot and I’m sure that helped optimize offline quicker. But I never had memory errors with Python! Somehow the SnakeOil 2015 B car gets in front of the A car. This is a very clear demonstration of the improvement between 2013 and 2015. The race can’t properly finish because one of the Autopias is still on the track paralyzed by confusion from acute dementia.
Freden-desert
Autopia showing fine form on this dusty track. Autopia passes the lapped 2013 team like a boss. But the 2015 SnakeOil team stays competitive even on a track that is not favorable. The 2015s barely make it around the tough corners without problems and they just can’t find the top speed on the slight curves.
Street1
One of the TORCS included tracks. SnakeOil wasn’t designed to do well on these, but it provides an interesting look at some different behavior. This is an odd track where the SnakeOil 2013 cars mostly outperform the 2015 team. You’d think this should never happen, but if you make huge improvements on 95% of tracks, there’s still that 5%.
G-speedway
Another TORCS stock car track to show off acceleration and top speed. Autopia’s top speed is 290 and 293 while SnakeOil 2015 is just 276. But SnakeOil has the much better acceleration. Again a huge improvement from 2013 to 2015 is clearly visible.
Fullers-mtn
Rough terrain. The 2013s do ok with the bump but struggle in general. The 2015s do well, they lead getting away from a mess early. Autopia fights hard for this one, but can’t quite reel it in. And Autopia2 crashes out with damage due to some stupidity not being polite with other traffic.
Ystrad-hill
Some great drama in this one. SnakeOil puts up quite an even race with champ Autopia. After a few back and forth exchanges, Autopia gets the better of me with one car, but the other one has a seg fault! Python has its drawbacks, but that’s not one of them!
Mariansleight-mtn
Much crashing! Autopias start strategy utterly fails against SnakeOil. Autopia has a tough time with the bump. But other than that, its driving is superb. Even with SnakeOil 2015 driving extremely well, staying in front of Autopia is a hard job.
Malumel-hill
Good close racing. Mistakes all around but less severe for Autopia. A glitchy corner for SnakeOil diminishes this otherwise very competitive race.
Maiao-mtn
Extreme terrain. Pretty close. After initial clumsiness Autopia demonstrates some of the finest passing ever seen. When SnakeOil is around other traffic, there is extra caution; sometimes I think Autopia takes the opposite approach which seems to work out.
Machang-city
Sorry about the bad camera work. The 2013s really struggle on this course, a huge improvement for 2015 SnakeOil. Autopia shows standard champion form with amazing passing really working well here. Still a pretty close race!
Fallsdale-mtn-snow
Close racing. Autopia looking good but still within sight at the finish. 2013s take the hairpin well, but still struggle overall.
Dirt2
This TORCS dirt track is a bit of a lark. It is really more like a motocross circuit than anything these cars should be good at. Still, Autopia shows us how its done. I suspect that Autopia trained on this track when there were fewer competition tracks available and it helps with certain elements of control. I had some cars that did ok on this but they couldn’t beat my competition cars (shown here) where it mattered. It’s amusing that these cars miss the early hairpin but often bounce around into an acceptable orientation. This is just for fun. Even Autopia almost doesn’t make it despite some superb driving.