Re: robotic failings and some solutions
Bernhard Wymann <[email protected]>
| Newsgroups | gmane.games.torcs.general |
|---|---|
| Organization | wytec |
| Message-ID | <[email protected]> |
Hi st
> I tried to draw attention to this topic many months ago, to no avail. I
I think I did some test driving and videos then, see:
http://youtu.be/pHQ0KsDLRLU
http://youtu.be/CslDBENMrlM
My conclusion was: Olethros has some "potential" in tight turns,
bt/berniw are very cooperative...
> don't know if I'm wasting my breath here, but these are my experiences
> and findings and some suggestions too, based on a gazillion test races,
> on the default, on others' and on my own tracks. And when I use the term
> "idiots" in the following, it only refers to the (mis)behavior of the
> robots, not in any way to their creators. If anything, I must be the
> human idiot here, unable to rein in those aggressive brutes and make
> racing more tolerable (to say nothing of enjoyable).
>
> If you doubt any of my observations, pick up some example tracks at
> http://stdesigns.orgfree.com/ttrx/ and run test races to see the
> motorized mayhem and brutality with your own eyes. For longer tracks
> (>1.5 miles), I'd recommend at least 30-50 laps, for short tracks,
> 80-150 laps. 20+ robots in the field, whatever your video card can
> handle (the more robots, the more obvious their failings). Park your car
> on pit road (to get it out of the way) and start watching (F9
> recommended for the best views, PageUp and PageDown to switch between
> cars) things unfold.
Ok, when I find the time I will have a look, but beware, there has even
been formula 1 races with just 4 cars hitting the finish line, so in
racing it is pretty common that "***t happens". Same applies if you go
into an online lobby against human players (with other racing games of
course, TORCS is missing that)...
You can as well adjust the amount of "chaos" by the driver selection, if
you take "berniw" offsprings there should be not too much action...
> These are the biggest problems I've witnessed on all tracks, road and
> oval alike.
>
> 1. blind driving, an overly aggressive raceline (left side of this
> example image
> http://www.mojoimage.com/free-image-hosting-view-12.php?id=4768torcs-racel1.png)
> that ALWAYS leads to incidents in turn entry (inside, 1 in image) and
> exit (outside, 2 in image). It's impossible to race like that on an oval
> (at least two lines available), and even on a (narrower) road course,
> such recklessness will breed trouble. The track width is irrelevant:
> most of the ovals are ~15 meters wide, which easily allows 3-wide racing
> (this even happens on the incredibly wide default ovals). Yet the anal
> idiots always come pushing in turns, no matter what, always cut off a
> car on the inside when entering the turn and then push a car on the high
> side into the wall at turn exit. This demolition-derby boneheadedness is
> absolutely infuriating, a death blow to actual racing. Mikey Schumacher
> is a choirboy compared to these single-minded wreckers.
Relax:-)
> A solution (illustrated by the right side of the example image
> http://www.mojoimage.com/free-image-hosting-view-12.php?id=4768torcs-racel1.png):
> changing the robot code so that a robot would stick to ONE line in
> turns, be it on the inside or outside or in the middle of the track.
> Also eliminating the totally unnecessary pushing and hooking in turns
> when there's enough room for passing (true on most tracks). Yes, some
> might claim the latter is part of racing, and maybe in the final laps in
> a battle for the win, but in this game, the same BS happens all the
> time, over and over again, pointless brutality that only detracts from
> the racing.
My experience/opinion with this differs, depending on you opponent
selection you can have a very "organized" race or a "chaotic" one, so
you have some choice (after discovering the characters of the bots).
At least for me as human driver it is pretty easy to stay out of trouble
in TORCS, compared to racing against other human drivers online with
other racing sims.
I agree with you that the robots could be more clever, they are
certainly not optimized for oval racing.
> 2. the same aggressive raceline way too close to the inside of the track
> in turns (as approximately shown in the example image), leads to idiotic
> and repetitive collisions with the pit wall on tracks where the wall
> begins in a turn; disrupts the racing itself. A test race on mr-speedway
> or nt-speedway shows this perfectly, though it occurs on numerous other
> ovals too, including tracks where the pit wall is only on the front
> straight, e.g. hm-speedway, ne-speedway; also on road courses where the
> pit wall begins in a turn (Country Club for example).
>
> Two possible solutions: changing the robot code so that the robot
> wouldn't drive so close to the inside in a turn, thus perhaps avoiding
> the wall; or changing the game code to allow the addition of another
> track element ("the apron", asphalt or grass or both) between the "main
> track" and the "left border" (pit wall), a common detail on many tracks
> which would both improve the track appearance (more realistic) and put
> an end to the robots' suicidal head-on crash course with the pit wall.
> Widening the main track itself or creating a "fake" apron (by
> manipulating the track texture) wouldn't make any difference as the
> robots would drive right at the bottom anyway, determined by their
> current code.
>
> 3. the inability of robots to back up after hitting/making contact with
> a wall, their hopeless attempt to bulldoze through the wall instead of
> simply backing up and resuming driving; a frequent occurrence when they
> hit the pit wall; however, some robots also get stuck on the outside
> wall and keep pushing toward it instead of hitting the reverse and
> continuing the race.
Yes, I am aware of this. Beware, my focus in the last releases was not
on hacking the robots, because I think the main purpose of TORCS is that
people implement their own ones, so see this more as "demos". I have in
mind to create a "better" default bot, but there are still more
important things to do before.
> Solution: there must be something off in the robot code that causes
> this, something a competent and willing coder could correct.
>
> 4. the inability of robots to drive smoothly (in a race, NOT on solo
> runs), on straightaways and in turns. This leads to frequent incidents
> when some idiot slams on the brakes all of a sudden, leaving a poor
> human no time to react and swerve (obviously affects other robots too).
In the berniw offsprings this is the case, this is a relict from the
"200MHz CPU area", to save CPU cycles it does not reconsider some
decisions. When I am going to hack this, this will be improved.
> And as always happens upon contact, the human-controlled car is sent
> into the wall or airborne while the slowpoke offender drives away
> happily. This behavior is probably related to or a consequence of the
They probably just react better, if you run "semi pro" you have exactly
the same physics, with pro you have more damage and less grip. I do not
know how good you "drive", maybe some practise/analysis helps.
Usually sudden movements end up in problems, e.g. if you lift the
accelerator suddenly you can get heavy oversteer because of engine
braking, switching gears in the wrong moment can be pretty bad as well,
etcetc.
> blindness and aggression described in 1. This kind of erratic driving
> also puts the robots at a disadvantage: a human racer, if able to avoid
> the aggressors and their endless repertoire of tricks, can often lap the
> field or the majority of them unnaturally soon, not exactly the sign of
> good racing.
Yes, this is the case, but this is not that important because of "our"
audience:
1. I think real race addicts/aces having steering whels etc. are by no
means running TORCS, or just out of curiosity, they are using iRacing,
LFS, or whatever, so this is not the intended audience.
2. People which have no budget and just want to have some fun, they are
downloading TORCS and enjoy some laps with the keyboard or maybe a
gamepad, but I suppose those not being fast drivers.
3. People using TORCS as base for their own research/whatever projects,
they can hack the things to make it fit their requirements.
So I agree that it could be better (e.g. in a future version there will
be rubberbanding implemented), but there are more important things to do
currently.
> Solution: same as above in 1.
>
> 5. pounding against the pit wall on the front straight/stretch, either
> on the trackside or on pit road, totally inexplicable and absurd. Might
> be related to blindness and aggression, also to their pit road failures
> (see below in 7).
The thing is that no robot actually cares about it, pit wall collision
detection was introduced after the robots. So this will need adoption.
> 6. the infuriating bulldoze-through-any-obstacle behavior that causes
> nothing but trouble on the track. Why can't the robots back up and go
> around an obstacle (stopped car) cleanly instead of forcing their way
> through it? Is it totally inconceivable and impossible to change the
I explained this here:
http://sourceforge.net/p/torcs/discussion/11281/thread/948d0e70/
> robot code so that they would no longer act like rageaholics behind the
> wheel? Combined with the pit-wall collisions explained in 2, this
> senseless banging effectively takes out most cars in races, with a field
> of 25 very often reduced to ~5 cars. Is this supposed to be a race track
> or some post-Matrix fight club?
>
> 7. pit road failures: going to the pits without finding the right pit
> stall (even with realistic 9-11 meter-long pit stalls) and returning to
> pit road on every lap, only to fail again, a complete waste of energy;
>
> turning onto pit road (usually the left side) only one track segment
> before the beginning of pit road, instead of the actual entry point
> determined in the "Pits" section of a track.xml (very problematic on
> tracks where the last segment before pit road is really short, usually
> because of different, more realistic textures/lines on the left side of
> the track, visible at least on is-speedway, mt-speedway, ri-speedway,
> sb-speedway);
>
> ignoring the pit exit segment in the "Pits" section as well, instead
> merging onto the track in the middle of turn 1, damn the torpedoes;
>
> in a longer race, never even turning onto pit road for fuel, instead
> running out of it and crawling along the track, another recipe for
> disaster and invitation to the rageaholic drummers. The pit road entry
> point in the "Pits" section is usually far enough for the robots to be
> able to get off the track in time and turn onto pit road, but for some
> unknown reason, they don't even try to pit;
Maybe you have more drivers in the race than pits?
> in races where they do go to the pits, the robots usually delay their
> pit stop way too much, with less than 1 liter of fuel in the tank, and
> if they fail to find that pit stall, they drive off and inevitably run
> out of fuel on the next lap. This should be alterable in the robot code
> (right?), the amount of fuel left that causes them to pit;
>
> some robots occasionally stopping on the track on the front
> straight/stretch (right alongside the pit wall) and supposedly trying to
> pit there, completely idiotic and suicidal, with others coming down the
> front straight/stretch at breakneck speed while these morons decide to
> park right there. This may occur on tracks with a curving front stretch
> or a simple front straight too;
>
> olethros-specific issues: this robot acts like a complete psycho on pit
> road, often turning onto it very late, losing control, slapping against
> the wall, then parking in the middle of it in an attempt to pit,
> failing, driving off and pounding continuously against the pit wall on
> the front straight in its rage, finally rushing back in the middle of
> traffic in turn 1. Even when it does find its way to the left side of
> pit road, more often than not it doesn't find the pit stall and keeps
> coming back to pit road as described in the first example of these pit
> road failures.
>
> -----
> I hope everybody understands the intent of this long message is to help
> with the development of this racing (the operative word here) game, not
> to deride the efforts or abilities of unpaid volunteers. I've simply
> tried to honestly and accurately describe the flaws of robots that
> should deserve more attention in the game development. And since I lack
> the skill and understanding of the game code to make any changes myself,
> this lengthy appeal needed writing. Now the truth is out there. Thanks
> for sticking it out, and drive safely.
Thanks for the input, here my opinion:
The robots will need improvement, I agree on that, but my priority on
the last and as well on the upcoming releases is on TORCS itself. Three
planned steps will have a significant impact on the robots, that is why
I first want to complete those before adopting the robots. These are:
1. Car setup can be changed in the pit under certain conditions
2. More racing rules (pace car, etc.)
3. Split/Join/Crossing track segments (for city like scenarios in
research, but as "side effect" you can do then as well pit lanes on a
separate path, maybe ROC like scenarios or track variants).
Those have a big impact on the bots, so I basically sacrifice robot
development currently in favour of IMO more important things.
Btw. if you want to try other bots you can get them from the TRB events,
e.g:
http://www.berniw.org/trb/events/event_view.php?vieweventid=17
Beware, for 1.3.4 you need to adopt them:
http://www.berniw.org/trb/forum/showthread.php?topicid=3508
A final thought, about "Now the truth is out there": You should think
about if there something like truth outside a mathematical context even
exists, because usually the things selled as truth are just point of
views/opinions, or even worse beliefs/paradigms. So depending on what
you accept as facts and how you weight it, you will come to different
conclusions;-)
And if Einstein is right (nobody could falsify so far the theory of
relativity) there does not even exist a globally observable reality, so
even in physics your point of view matters regarding what and when you
see something;-)
Best regards
Bernhard
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may