robotic failings and some solutions

[email protected]
Newsgroups gmane.games.torcs.general
Message-ID <1369257991.31050.140661234455941.558C5002@webmail.messagingengine.com>
I tried to draw attention to this topic many months ago, to no avail. I
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.

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.

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. 

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. 

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).
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
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.

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).

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
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; 

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.

st
http://stdesigns.orgfree.com/

-- 
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are


------------------------------------------------------------------------------
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.