Thursday, December 24, 2009

Ramblings - 2009/52

I am always amazed by how flexible Git is. For every aspect it has a proper answer, a way to do it and those are not hacks but built-in features. Simply amazing.
I've recently found an article by Ryan Tomayko about handling tangled working copies with Git - and it struck me that Ive been following this technique myself for quite some time, only difference I use git-stash often, too. Ah and another article, by Ariejan de Vroom about Git patches, the most clear explanation I've seen so far.

We have a beta out for Speed Dreams 1.4.0! Check it out here - it is really so heart-warming to see so many work materialize. Well there is some things to do till the final release, expected about late January or early February, but nothing really serious we know of. Of course beta testing can help any still unknown problem to appear so we are looking forward to this period.

Monday, December 14, 2009

Ramblings - 2009/51

I decided to write some random rambling one per week, to collect my thoughts on TORCS/SD development-related issues, like ideas, what-are-you-doings, recent happenings, milestones, any new information I've come around. I plan to name them with the week number - of course there will be weeks when I skip this so don't rely on it very heavily :)

With Speed Dreams (hosted at we use Subversion as versioning system. Now 'svn ignore' - kills me, I think it is so damn un-intuitive. However recently I've stumbled upon a blog 'BogoJoker' where Joseph Pecoraro discussed it so nice and clear that it immediately made me understand how it works (but I still think it is un-intuitive...) Here is the link if you need advice.

I'm getting close to make public a new track, Knockhill. As usual, it would be v0.4 as there is no 3D editing done at all yet. Quite a lot to do track-wise: learn Blender through Salty, pretty Longday a bit, then Petit, then Knockhill. And there are lot more tracks in my head to do...

Speed Dreams is approaching a beta release - there will be a meeting on Saturday to discuss the details. We fought a lot with track selection previews - now the game displays a preview background image and superimposes a track map over it (done by JP and Brian). Wolf-Dieter has finished a lot of Simplix setups, while Xavier added more weather-related stuff to sdl-port-branch. Haruna made sure there are no more TORCS-related textures, and JP has also polished the menu system while Brian added more code to the networking part.

I plan to merge the most recent Kilo robots into Speed Dreams' next release. Todo: make it not crash when there is no setup for a track, simple fuel strategy, prepare for timed sessions.

Thursday, December 3, 2009

Track releases - Salty, petit

I've released the next version of Salzburgring, named v0.4. It includes quite a lot of eye candy already but expect to see more coming...

I've also uploaded a new track, named 'petit' that renders a very famous track in Braselton, GA, USA. It is also v0.4 but has much less 3D stuff in it, but sure it will be the next target of my Blender fun.

You can download them here. Install them the usual way (they should work with both TORCS or Speed Dreams). Please tell me what you think, in the comments or via email.
BTW I have lots of plans for tracks, enough to fill my next 2 years or so :)

Monday, November 30, 2009

TORCS Championships 2009 - Street-1

The TRB caravan revisited Street-1 in sunny Australia this year (sadly without the Green Monsters Team not showing up) and I have to tell I've had many joyful and many not-so-joyful moments this time.
Compared to my last race here, my robots were quicker about 1 second in the qualifiers and 1.5 seconds during the race. They remained in/near the main field for most of the race and were lapped only 2 (or 3) times by the leader cars. They were in shooting range from the JDIs and Dummies for quite long into the race, in a race that was very close, intense and very exciting.
However they were not smart enough to hold on to their position when overlapping someone and let others behind gain significant time on them in those moments. That was the main issue why they did not finish in the top 10 in the end, this is definitely something I got to work on during the season break.

Here are the results and the screenshots...

JDIs bad qualy

First lap turmoil

Turn right, no straight...

Zhora advancing

No big differences in the field

Poor Berniw...

and poor EJ :)

Kilo here, Kilo there

If only we could see Berniw driver's face in this moment...

Yeah we practice this a lot at home with the Dotties

Jumpety jumpety jump jump

Way up high, to the sky...

Viewing a fierce battle from close

Jumpety #2

Ey mate what ye doin in there?

"Fuzzy ye in P5" "Roger......Woooot ye said P5???"

Let's come together right now...

Dummy loosing position

Wow lotsa stickers on this one

Jumpety #3

Fuzzy dropping down

and down

This grey one should use headlights,
makes me nervous when it appears suddenly behind

Ski slopes in Adelaide

Jumpety #4

Things kept on just happening and happening

Fastest guy in town? Kilo 2 \o/

Friday, November 20, 2009

Trac + random + GNUe

The Speed Dreams dev team is testing Trac these days, as provided by Mart has imported trunk's TODO to TracWiki and JP set up some tickets based on the TODO. That is, if we close those tickets we are quite ready to release Speed Dreams 1.4.0 for beta. Should happen soon, but there are time-consuming tickets on the list, too - like setups for cars.
Mart has discovered that's version of Trac does not provide the feature to update tickets based on commit comments, it's a pity. It should work and make life easier.

I've been working a lot these days on the Salty track 3D model. I am getting the taste of Blender now I think but I have so many future track plans... hard to list even. Keep an eye on what's coming.

Oh and I have a report for the G-track-2 race in TRB in the works... soon... got to run the next race, too... busy busy busy :)

Although it is not TORCS/SD related but the project (gnue for short) I've worked for quite some time seems to be alive again, Reinhard has committed lots of stuff recently. Got to check it and update translations at least!

Monday, November 9, 2009

Corkscrew project ends

I've created the Corkscrew track for TORCS quite some time ago. It all started with Kennet requesting the track at 16 November 2007. Yes, that's right, it was 2007...
I've published the first version in January 2008 and then 2 more updates followed from me. My job stopped just short of creating anything 3D-related. The track was there, it was fun to drive, track & nearside textures OK, pits, turnmarks etc all done. But I really stopped there, not knowing 3D editors well enough to do any serious prettying.
It was recommended by Bernhard on the main TORCS website and had quite some downloads since then. After some time it got imported in the (then TORCS-NG) Speed Dreams project and it already got enhanced by the advanced graphics engine used there.

And then on a dull September morning I saw a complete new version submitted by Andrew Sumner to SD trunk (rev 1449). It was like - BANG WHOOAAA. It was wonderful!!! It has the lake, the hills, the buildings, the bridges - everything. Andrew has really gone out again and produced a real living track, a great job as usual from him. Thank you very much!
So you can find the latest version in Speed Dream's repositories - and that means my work with that project has officially ended. It is a good feeling though to know that I've added my share of work for a nice track I know many many sim drivers will love.
Have fun driving around!

Debug displays

I've just committed a change in Speed Dreams' sdl-port branch. It enables the debug mode display (controlled by key '5' when in race screen mode) to show some more detailed information besides the FPS value it used to display. Now you can also see the sector name, the distance from the starting line and the actual camera's name.
So now the debug display has 3 view modes. First is: no show :) Second mode is showing only the FPS while the third mode displays all the information discussed above.
See r1802 for the changes.

Sunday, October 18, 2009

Scrolling leaderboard fixed

Jean Philippe wanted to include the scrolling leaderboard in the first release of Speed Dreams, so I've revisited the (obviously buggy) code.
I've simplified it quite a bit, every time the string is scrolled out of the screen it is regenerated on the basis of the last lap's results. It has no obscure logic anymore (for me at least).
I also made it generate 3-letter abbreviatons of the driver names, so the string to scroll would not be too long. This generation works on the idea of finding the first non-matching character in the driver names, so if there are 2 totally identically named drivers it cannot do any magic at all. I plan to introduce a new attribute to drivers (in the XML file) where we can clearly tell SD what abbrev to use, so one driver will be shown by that name each and every time, like RAI is always Raikonnen in F1. But I think that would come only after the release.
You can see the changes in SVN rev 1511, 1512, 1526, 1597, 1602 and 1603 (with some clean-up work included, too).

Wednesday, October 14, 2009

TORCS Championships 2009 - Alpine-1

Alpine 1 is a fine track, I was happy to see it on the race list of the TORCS championships. It has 3 quite different sections and so this is what makes it hard to setup a robot perfectly for this track. One must decide if he prefers the twisty uphill section, the curvy but fast downhill midsection or the last, sweeping, fast downhill one. The hairpins uphill provide some ground for overtaking while it is much harder to do in the downhill parts as speed difference is usually not big enough.
I wanted my robots to do the uphill section perfect and get rid of their sliding technique in the turns, so I've chosen big-degree spoilers and accepted the slower top speed on the downhill section. This proved quite OK as they were not overtaken any time in action, they always managed to make up some advantage uphill that opponents could not gain back downhill. The only time they lost position was when refuelling so the opponent behind could do a faster lap and gain 1 second before his own refuel. Just like in real-world racing, wow :)
The race itself started fine, but one of the Wolverines got lost in the last hairpin in the first lap, and while it did not cause big conflicts on that lap, the next lap saw real destruction derby - Wolverine 1 has wandered backwards(!) to the previous hairpin and met the field there.
Half of the field got stuck there while Dummies, Lobos, a JDI, both the Kilos and the Dots were lucky enough to escape \o/ The Berniew team lost both his cars in that corner and it made a top 10 roster much of my taste :)
The Dummies grabbed 1st & 2nd and didn't quite let go of it for the rest of the race. The Lobos were matching the Dummies' speed but after some unlucky overlapping one of them received some damage and so they couldn't use slipstreaming any more.
The race went on quite uneventful for my drivers, driving in pos #6-9. At around lap 45 or so EJr09 John stopped in the last hairpin uphill and spent some laps parking there until removed from the track - I don't really know what was wrong, he tried to escape the corner backwards, straight into the barrier. Most of the cars could handle it but some crashed a bit into him or produced crazy sliding turns.
From lap 35 Wolverine 2 began to slowly creep up the ladder, overtaking the Dots with clever refuel tactics and in lap 71 he even overtook Kilo1 while it was in the pits.
So after 79 laps (more than 2 1/2 hours) Dummies claimed the victory and both Team Alba and Team Dots had the best result so far during the season, finishing at position 6, 8, 9 and 10. I know the initial crash must have been a reason for this result but I am still very happy :) Oh yes, and I did not forget to send the results this time...
PS: Must tell that EJs act very nice letting overlapping cars get by, while I couldn't see that gallantry from many drivers...
PS2: Sadly enough only Daniel's race results seem to match my own, it seems other players had quite different a race then we two. So the sum-up of the results sent can be found here.