Friday, October 29, 2010

Ramblings - 2010/43

Remember last time I wrote that I can run Speed Dreams again with decent FPS? Well, that seems to get worse now, the driver fails quite often and SD exits then. Another Linux bug, got to check the reports :(

Yet I've managed to develop the robot some more. Now it can handle skill settings, so you can set it up to be hmmm 'less than perfect'. The setting affects the braking (it starts breaking for a turn earlier), accelerating (it accelerates slower) and the width of the track is uses, so it isn't so brave using the full width of the track and sometimes even more, remains on the 'safe side' of driving. Whether this skilling is consistent or not, ie when skill is lower by 10% the lap times get worse also by 10% is subject to further testing.
Now I am in the process of setting up the LS-GT1 carset for the robot, the first car (the Archer R9s) is kinda ready with two fictional drivers. Check the process details here.
In the meanwhile I am trying to adapt the coding style of the whole robot codebase to match that of Google's advised C++ coding style. While in some moments it seems to be too narrow-minded pedantric there is quite some thought in it and in the end it may help improve code quality. One of the changes was to use full path in includes, #include "src/drivers/kilo2008/pit.h" instead of #include "pit.h". Kristof reported it caused problems when building the code but I think it is rightful to be sure the compiler uses the correct header files in situation like ours when there are several robots in the source tree with a pit header. Later Kristof said it only caused problems when using a separate build directory so not in normal cases. Another suggestion was to use "using ::std::string;" instead of "using namespace std;" so not to pollute the global namespace, something I've never ever thought of but can see the reason behind. cpplint.py is a great tool helping this process (nah in reality is a nasty little !*@#**^%& but we love it, right?)

Track-wise I am fighting a pitlane issue of too wide a pit lane and matching the correct texture for it. Just look at sat pictures of the St. Petersburg GP and you'll see my problem. Oh damn, I've so many track ideas... and Knockhill is next on the door.

The other day I've ticked off a ticket about incorrect number of laps displayed in the board1 area that was caused by such a trivial error I didn't notice it for an hour or so... passing the address of a char array to a function, then checking it's size is snprintf, the size if not the array size but the size of the pointer hahaha (4 vs 255). Trivial but painful :)

Haruna has shot a nice video of the current state of Speed Dreams, it is on Youtube, check it out:

That's all that comes to my mind today, Halloweeeen is right here \o/

Friday, October 15, 2010

Ramblings - 2010/41

Whoa it has been quite some time since the last post... Long story short: I lacked computing power to run Speed Dreams in an enjoyable quality, could only get 4-5 fps max! on my laptop, detailed here. Now I've updated it to the latest Ubuntu version and using the community-driven radeon driver it is able to produce 25-30 fps in a race so I can enjoy SD again. Wohoo!

Speed Dreams is nearing a 2.0 state slowly, and I can tell you the wow! factor will be high once you try it. Many a things has changed since 1.4 and you can enjoy using it very much. There are new tracks, new cars, a lot of sim engine changes, user-friendly menus etc etc.
My code additions are not too many yet but still I've managed to display the pitting driver differently on the leaderboard and resolve some track name and info issues when loading a track.

I've dusted off my kilo2008 robot and started adapting it to SD. You can follow its evolution here, or on a dedicated wiki page in the SD Trac. It is now able to drive along any track quite safely following this logic: it measures how long a track is and how many degrees of turns are on the track. From these data it computes something we can call like 'curviosity', ie: curves vs length. Then it decides which setup to use for the track - slow, default or fast. Of course one can create track-specific setups, if anything like that exists in the appropriate directories then the robot will use that instead of the above procedure.
I've also made it able to drive 20 cars the same time (some code stolen from Andrew...). Now I'm trying to squeeze in some code to handle skilling - so you can set one driver better than the other, or globally the user can select how strong (skilled) robot opponents he/she wants to play against.

Tracks - the same state where I've left them. But that's going to change soon.

Too bad the TRB Champs this year was no-go, cancelled.

Monday, March 8, 2010

Ramblings - 2010/10

Emmm I'm bit late with the "periodical" ramblings but I've been busy busy busy...
So with Speed Dreams we had a quite successful beta out, about 80k downloads from sf.net alone. Most of the tickets are closed or moved to the next version, so what you can download now is the version we call RC but if no serious flaws are found, it will be identical to the Release 1.4.0.
We are already planning the features for 2.0 - it is a huge mess now but it will take shape in the upcoming weeks. We decided to stick to a quite strict release policy so the feature list will be freezed by the end of March, that means the 2.0 will be out when all the features we voted for are complete. Each feature will get a responsible sub-team and a leader, and we push for documentation and testing more than before. If you like SD and feel an urge for a feature, or would like to join us developing it, feel free to post your idea on the Wiki pages *now*. Be quick or be dead :)
I'm slowly moving forward track-wise, fiddling textures quite a bit but I'm sure the tracks will be released sooner or later...
BTW Kennet has put together a nice but very difficult track and sprintea86 has also published one - this one makes me dizzy though turning turning and turning.

Thursday, February 18, 2010

Stuck with SVN

We have a SVN server at the office and 2 project repos on it. The other day my co-worker invented he would like to see the commit message informations ordered a bit differently than previously, so in GMail we could see the rev (as subject) and the log message first, for clearer view.
So I've made some lite changes to SVN's commit-mail.pl (I don't really like Perl but can get around in it fairly easy) but then I was stuck - I did not know how to make SVN to send out all commit message emails again.
So I had to make a 'for' loop in Bash and invoke the post-commit script from within, several thousand times... which of course took a lot of time and also left me with bad feelings about this 'solution'. If anyone knows how to make SVN send out all the message emails again, please tell me.

Thursday, January 28, 2010

Ramblings - 2010/04

It seems there are a lot of work to do for the Speed Dreams project members, as there is so low activity on the project in the moment. There are about a dozen bugs to fix until we can release 1.4.0 but I don't really find one that I can fix, most of them involve graphics knowledge I lack for sure.
So for the moment I spend my spare time doing tracks: St Petersburg, Knockhill and 2 30's-era tracks (secret secret!). I'm also preparing my robot to be included in the next version and to clean up code a bit before starting this year's TRB championships.
I've some new ideas for Speed Dreams like displaying 'pit' on the leaderboard if the driver is currently in the pits, better name handling on the scrolling leaderboard and some minor fixes etc
It is cold outside and winter sleep is so sweet :)

Wednesday, January 20, 2010

10 years gone

I haven't been able to boot into my good ol' Win2K lately - I've used it only for running the invoicing software for at least 4 years now. But invoices cannot wait too much, so I had to do something about it.
The partition/opsys was listed nicely in the Grub2 menu but when choosing it I met with an ugly message:
error: invalid signature
Nothing more. Not too long, right? :)
Of course I tried googling it and have found quite some references, but most of them were pointing to this forum thread of Ubuntu Forums. I've read that thoroughly and tried every tip included there, but without any luck. So I decided to install a new(er) Windows (ugghhhh) and the invoicing software.
First I saved the MBR with
dd if=/dev/sda of=/mbr.bin -bs=512 -count=1
then installed WinXP easily, then I restored the MBR using 'dd' again (read in more detail here). All that was left was issuing
grub-update
and I was ready.

Windows 2000 - we have spent 10 years together, farewell thee...

Monday, January 4, 2010

Ramblings - 2010/01

Speed Dreams: Well our beta is out and we have reached over 11.000 downloads until now. I am quite happy with that. Eckhard re-surfaced and improved a lot of graphics, on the other hand both Andrew and Wolf-Dieter has disappeared a bit, but they have advised it beforehand.
Holiday season made the project life a bit hectic but I suspect we will be back on path soon in January. Release is due very soon as you can see it in release roadmap.
BTW I've added a lot of stuff to the wiki, then Eckhard deleted the main page by mistake so it had to be rebuilt... todo: backup regularly... :)
I've used the lazy days for some re-organization of my own project directories & files, and again was amazed how easy it is to merge separate Git repositories into one. Also found this blog for useful hints.