10-second interview with myself:
- Like this track?
- No.
- Tactics?
- Tiptoe around without crashing out.
- Succeeded?
- Mainly yes, lost Dotty, finished 9-11th.
- Most dreadful moment?
- Lap93 crushing out 1/4th of the field, but we survived.
- Proud?
- No.
- Had fun?
- Yes.
- Want to return to this track?
- Definitely no.
Wednesday, July 22, 2009
Thursday, July 2, 2009
TORCS Championships 2009 - E-track-4
E-track-4 mmmmmmmmmmm
I love this track in TORCS. The curves are challenging to negotiate right, the long straights are speedy but the bumps won't let you fall asleep. I was quite happy to see it on the event list of the TORCS Racing Board Championship. The qualification saw wdbee's Los Lobos rocket time of 1:33.03. Even the USRs were half a second slower, while Kilos could just hardly get under 1:35. Interestingly the Dummies were not that fast this time at all.

The start also saw a newcomer, EJ and his dandy black trb-5 cars. After the start the Kilos and the Dots held on to their positions in a fierce battle with EJ and after the straights even fought dummy 2 who has dropped down significantly due to some clashes of which I saw only the skidmarks. Kilo 1 managed to overtake and was riding the same laptimes as the JDIs and Hymies.

In lap 10 R.Giskaard took a spin after the backstraight and dropped back to #13. Dotty got the first lap from Los Lobos while Kilo 1 was #8, Kilo 2 #11, in a battle with the JDIs and Dummy 2.



Then in L19 Dummy 1 spinning out, Kilo 1 found himself in position 6... The JDIs, Dummies and Kilos were about the same speed, only difference between them were seen when overtaking or lapping an opponent. Too bad my robots lost places during those maneuvers. Meanwhile Lupo and Lobo were drafting in the lead with R. Daneel following them a little bit behind. The Hymies were a bit more back but running nice & smooth.

Some people reported strange behaviour of the JeDIs but I haven't noticed that - until now. Looking more closely at the screenshots you can see their front suspension quite high - maybe that was the reason for their strange dance :)


In L32 Los Lobos lost the race. While trying to overtake a berniw-jdi-kilo triplet Lobo Malo had a spin and suffered some damage. While it was recovering quickly the USR hunter grabbed its prey and found the weak point. Later Lobo spent 26 seconds in the pit doing repairs and was never able to get back to the leading group. Something must have bugged their logic as from then on they simply performed bad (in their own content), constantly loosing time against R.Daneel. Or maybe Daneel was only more lucky with overlapping?



In L44 Kilo1 was knocking on the fuel meter with his index finger, then knocking some more but it was no gauge misfunction - fuel was out for real. So it was a slow ride back to the pits, loosing position 7 - until his own teammate Kilo 2 arrived from the back and smashed straight into the rear, KO for Kilo 1 and about 4000 damage for Kilo 2...


Then nothing really happened to my robots until the end of the race, except for a spin performed by Fuzzy, in lap 54. USR, Hymies, Lobos, JDIs, Dummies shared the leaderboard in peace, my robots in #11-13. I will show a screenshot of a nice sliding turn though:


The last laps Lobo Malo almost ruined Kilo 2 but the strategic decision was to go on and not repair the damages - it was a good decision. Interestingly both Hymies had to stop for fuel in the last-1 lap. Lobo Malo finished #10 after all the hard times he had been through, Kilo 2 #11 with 0.1l fuel left, while Dotty and Fuzzy followed.

The race was fine, results are here. Had there been no accident between the Kilos it would be a quite good result but the silver lining is that they could fight JDIs and Dummies and produce similar laptimes. Dummies were slower than usual for some unknown reason.
On the other hand, I think I will give up experiencies with low fuel laps. It is a valid tactic with cars like those in F1, where the car is 600kg and fuel can add 100-120kg, about 20% of the weight of the car. But it seems the TRB1 class with its 1150kg car weight and maximum 94kg fuel is not producing such big difference in lap times with maximum and minimum fuel load that would make it worth doing more pitstops.
I love this track in TORCS. The curves are challenging to negotiate right, the long straights are speedy but the bumps won't let you fall asleep. I was quite happy to see it on the event list of the TORCS Racing Board Championship. The qualification saw wdbee's Los Lobos rocket time of 1:33.03. Even the USRs were half a second slower, while Kilos could just hardly get under 1:35. Interestingly the Dummies were not that fast this time at all.

The start also saw a newcomer, EJ and his dandy black trb-5 cars. After the start the Kilos and the Dots held on to their positions in a fierce battle with EJ and after the straights even fought dummy 2 who has dropped down significantly due to some clashes of which I saw only the skidmarks. Kilo 1 managed to overtake and was riding the same laptimes as the JDIs and Hymies.

In lap 10 R.Giskaard took a spin after the backstraight and dropped back to #13. Dotty got the first lap from Los Lobos while Kilo 1 was #8, Kilo 2 #11, in a battle with the JDIs and Dummy 2.


Then in L19 Dummy 1 spinning out, Kilo 1 found himself in position 6... The JDIs, Dummies and Kilos were about the same speed, only difference between them were seen when overtaking or lapping an opponent. Too bad my robots lost places during those maneuvers. Meanwhile Lupo and Lobo were drafting in the lead with R. Daneel following them a little bit behind. The Hymies were a bit more back but running nice & smooth.
Some people reported strange behaviour of the JeDIs but I haven't noticed that - until now. Looking more closely at the screenshots you can see their front suspension quite high - maybe that was the reason for their strange dance :)

In L32 Los Lobos lost the race. While trying to overtake a berniw-jdi-kilo triplet Lobo Malo had a spin and suffered some damage. While it was recovering quickly the USR hunter grabbed its prey and found the weak point. Later Lobo spent 26 seconds in the pit doing repairs and was never able to get back to the leading group. Something must have bugged their logic as from then on they simply performed bad (in their own content), constantly loosing time against R.Daneel. Or maybe Daneel was only more lucky with overlapping?


In L44 Kilo1 was knocking on the fuel meter with his index finger, then knocking some more but it was no gauge misfunction - fuel was out for real. So it was a slow ride back to the pits, loosing position 7 - until his own teammate Kilo 2 arrived from the back and smashed straight into the rear, KO for Kilo 1 and about 4000 damage for Kilo 2...

Then nothing really happened to my robots until the end of the race, except for a spin performed by Fuzzy, in lap 54. USR, Hymies, Lobos, JDIs, Dummies shared the leaderboard in peace, my robots in #11-13. I will show a screenshot of a nice sliding turn though:

The last laps Lobo Malo almost ruined Kilo 2 but the strategic decision was to go on and not repair the damages - it was a good decision. Interestingly both Hymies had to stop for fuel in the last-1 lap. Lobo Malo finished #10 after all the hard times he had been through, Kilo 2 #11 with 0.1l fuel left, while Dotty and Fuzzy followed.
The race was fine, results are here. Had there been no accident between the Kilos it would be a quite good result but the silver lining is that they could fight JDIs and Dummies and produce similar laptimes. Dummies were slower than usual for some unknown reason.On the other hand, I think I will give up experiencies with low fuel laps. It is a valid tactic with cars like those in F1, where the car is 600kg and fuel can add 100-120kg, about 20% of the weight of the car. But it seems the TRB1 class with its 1150kg car weight and maximum 94kg fuel is not producing such big difference in lap times with maximum and minimum fuel load that would make it worth doing more pitstops.
Thursday, June 25, 2009
Leaderboard changes
I've added some more functionality to the TORCS-NG leaderboard display lately. For clarificaion, the leaderboard is displayed in the lower left area, showing 10 (by default) drivers and their times.
First improvement I've developed was to have a 'rolling' leaderboard, so if there are more cars in the race than the leaderboard can hold, it can be switched to scroll the roster upwards. After reaching the last racer, it shows an empty line and then starts again from the first one. Each driver name is shown using his/her own colours, defined in the XML file of that driver (or robot). See SVN rev 970.
Then I started working on a horizontally scrolling leaderboard, the ones you often see in TV broadcasts. I've committed it in rev 1007 although it still has some glitches to be sorted out. It hasn't been thoroughly tested with very few cars, a short track, a very long track, many cars, etc... the extremes you may say. Then it is a little bit annoying that the roster to be displayed is generated at the moment the leader crosses the start/finish line in each lap. And this newly generated roster is scrolled horizontally through the screen, so it can happen that you see a car in position eg #8 and the roster says it is #13... Need more time to clear these issues.
Well and as Xavier has put the Kilo robot in the repo I've also committed some maintenance work on that, making it work on the tracks it has been set up with. Next TODO is make it able to drive around any track, then handle skills, like the 'big boys' USR and Simplix does.
Plenty of plans...
First improvement I've developed was to have a 'rolling' leaderboard, so if there are more cars in the race than the leaderboard can hold, it can be switched to scroll the roster upwards. After reaching the last racer, it shows an empty line and then starts again from the first one. Each driver name is shown using his/her own colours, defined in the XML file of that driver (or robot). See SVN rev 970.
Then I started working on a horizontally scrolling leaderboard, the ones you often see in TV broadcasts. I've committed it in rev 1007 although it still has some glitches to be sorted out. It hasn't been thoroughly tested with very few cars, a short track, a very long track, many cars, etc... the extremes you may say. Then it is a little bit annoying that the roster to be displayed is generated at the moment the leader crosses the start/finish line in each lap. And this newly generated roster is scrolled horizontally through the screen, so it can happen that you see a car in position eg #8 and the roster says it is #13... Need more time to clear these issues.
Well and as Xavier has put the Kilo robot in the repo I've also committed some maintenance work on that, making it work on the tracks it has been set up with. Next TODO is make it able to drive around any track, then handle skills, like the 'big boys' USR and Simplix does.
Plenty of plans...
Wednesday, June 10, 2009
TORCS Championships 2009 - Forza
Gentlemen, start your engines! The TORCS Racing Board Championship 2009 racing has started at last, on the fast Forza track. As I have issues with my laptop, I had to borrow a PC to run the race, but it meant it was a clean setup for sure :)
Kilo 1 & 2 qualified as #11 and #12, then came Dotty and Fuzzy. In the first lap both Kilos were involved in a small crash with one of the JDIs and by lap 10 Fuzzy was 10th, while Dotty, Kilo 1 and Kilo 2 were running 14th and further back.

On lap 14 Dotty Doe and Lobo Malo were heavily damaged in an accident and both spent about a minute in the pits - too bad Dotty smashed into the horrid wall 4 laps later, together with Bender 09.
Fuzzy Foe was driving smoothly in poisiton 7, then 6, then after pitting it came back as #9.


On lap 27 Kilo 1 called it a day and joined Dotty resting in the wall.
On lap 32 Berniw 1 & 2 both ran out of fuel and drove slowly midlane, Fuzzy was stuck behind both quite a bit, Wolverine 1, 2, JDI 1,2 passed him easily and that left him in pos #10. Then in lap 37 R.Giskard passed Fuzzy as he wanted to let Lobo Malo & Lupo Bianco lap him. This is something that happens quite often to my robots :(



Lap 55 almost made my heart stop, Fuzzy (#11) wanted to overtake Giskard and slammed into the wall, but escaped it luckily - phew. Meanwhile Kilo 2 was running as 12th, a lap behind Fuzzy.
In lap 78 Kilo 2 wanted to take a lap back from Fuzzy, causing Fuzzy to go into the wall again, but this time he was able to recover quickly. Then Kilo 2 had a pit stop, so Fuzzy lapped him again, and they almost repeated the previous scene in lap 85, but Fuzzy missed the wall by inches this time. Slow learner :D

As a closing act, Kilo 2 set his own best lap in the last lap of the race while Lupo Bianco snatched the silver medal from Dummy.


So that means Kilo 1 and Dotty was lost due to the wall, Fuzzy Foe finished #11 and Kilo 2 #12. It was a fun race to watch, Wdbee's, USR and dummy robots seem very strong, while JDI is reaching up to their level soon. Team Polimi's Wolverinnes can be caught if my teams don't do all these silly strategical errors. As both Hymies slammed into the wall, I can not decide what they are able to do yet. Check the results here.

Main issues to deal with: get back on road from the wall, take over very slow cars more easily, handle situations when being overlapped a little bit smarter.
Kilo 1 & 2 qualified as #11 and #12, then came Dotty and Fuzzy. In the first lap both Kilos were involved in a small crash with one of the JDIs and by lap 10 Fuzzy was 10th, while Dotty, Kilo 1 and Kilo 2 were running 14th and further back.

On lap 14 Dotty Doe and Lobo Malo were heavily damaged in an accident and both spent about a minute in the pits - too bad Dotty smashed into the horrid wall 4 laps later, together with Bender 09.Fuzzy Foe was driving smoothly in poisiton 7, then 6, then after pitting it came back as #9.


On lap 27 Kilo 1 called it a day and joined Dotty resting in the wall.
On lap 32 Berniw 1 & 2 both ran out of fuel and drove slowly midlane, Fuzzy was stuck behind both quite a bit, Wolverine 1, 2, JDI 1,2 passed him easily and that left him in pos #10. Then in lap 37 R.Giskard passed Fuzzy as he wanted to let Lobo Malo & Lupo Bianco lap him. This is something that happens quite often to my robots :(


Lap 55 almost made my heart stop, Fuzzy (#11) wanted to overtake Giskard and slammed into the wall, but escaped it luckily - phew. Meanwhile Kilo 2 was running as 12th, a lap behind Fuzzy.
In lap 78 Kilo 2 wanted to take a lap back from Fuzzy, causing Fuzzy to go into the wall again, but this time he was able to recover quickly. Then Kilo 2 had a pit stop, so Fuzzy lapped him again, and they almost repeated the previous scene in lap 85, but Fuzzy missed the wall by inches this time. Slow learner :D
As a closing act, Kilo 2 set his own best lap in the last lap of the race while Lupo Bianco snatched the silver medal from Dummy.

So that means Kilo 1 and Dotty was lost due to the wall, Fuzzy Foe finished #11 and Kilo 2 #12. It was a fun race to watch, Wdbee's, USR and dummy robots seem very strong, while JDI is reaching up to their level soon. Team Polimi's Wolverinnes can be caught if my teams don't do all these silly strategical errors. As both Hymies slammed into the wall, I can not decide what they are able to do yet. Check the results here.
Main issues to deal with: get back on road from the wall, take over very slow cars more easily, handle situations when being overlapped a little bit smarter.
Monday, June 8, 2009
Committed patch & SVN access
Jean-Philippe liked my recent patch and granted SVN access to the TORCS-NG project. So I could commit it myself.
I feel kinda proud to have been included in the team. After years with TORCS now I can do something for the project for real, not 'only' creating some tracks, as my limited graphic talent keeps me from producing quality tracks with nice surroundings.
And I've also commited a small patch that won't let GfCreateDir() change the parameter path, as it is now declared as const char *.
Happy team member \o/
I feel kinda proud to have been included in the team. After years with TORCS now I can do something for the project for real, not 'only' creating some tracks, as my limited graphic talent keeps me from producing quality tracks with nice surroundings.
And I've also commited a small patch that won't let GfCreateDir() change the parameter path, as it is now declared as const char *.
Happy team member \o/
Friday, June 5, 2009
Patch - code review @ race results
My previous patch was committed \o/
My editor still had the file raceresults.cpp open and I found some ways to make it more simple & robust:
ReUpdateStandings() is used to read the existing results, update them with the most recent race's standings and write the updated results back. So basically you look for a driver, if he/she has previous results then add the points from the last race; if he/she does not have and previous results, create a record of it and put it between the results.
The original code went through the list of the recent race's results and sorted the array based on points with a bubble sort after each update. Now that it is luxury, sorting can be done after the updates have finished. That means we sort 1 time, not eg 20 times.
Then I thought - hey we are in the 21st century, let's not sort with a hand-written bubble sort when we have complete libraries for that. So I took a big breath and changed the array to a STL vector, then used STL sort() to handle sorting and find() to search for drivers. Result is: much simpler code. Oh and while I was there I changed the char* things to C++ strings, too.
I've sent the patch to Jean-Philippe, we'll see if he likes it or not. The patch can be applied to both trunk or sdl-port as the file is the same in both.
My editor still had the file raceresults.cpp open and I found some ways to make it more simple & robust:
ReUpdateStandings() is used to read the existing results, update them with the most recent race's standings and write the updated results back. So basically you look for a driver, if he/she has previous results then add the points from the last race; if he/she does not have and previous results, create a record of it and put it between the results.
The original code went through the list of the recent race's results and sorted the array based on points with a bubble sort after each update. Now that it is luxury, sorting can be done after the updates have finished. That means we sort 1 time, not eg 20 times.
Then I thought - hey we are in the 21st century, let's not sort with a hand-written bubble sort when we have complete libraries for that. So I took a big breath and changed the array to a STL vector, then used STL sort() to handle sorting and find() to search for drivers. Result is: much simpler code. Oh and while I was there I changed the char* things to C++ strings, too.
I've sent the patch to Jean-Philippe, we'll see if he likes it or not. The patch can be applied to both trunk or sdl-port as the file is the same in both.
Subscribe to:
Posts (Atom)






























