tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: -DFANCY in robots(6)



In article <dff59fc4-e585-64bc-97d4-1f10da29ca%netbsd.org@localhost>,
Charlotte Koch  <charlotte%netbsd.org@localhost> wrote:
>Hiya,
>
>My inclination is to remove all code from robots(6) that is guarded
>inside "#ifdef FANCY" -- because it isn't defined at all in the code nor
>the Makefile. And "FANCY" doesn't seem to have any meaning in e.g.
>curses, either.
>
>That led me to investigate where -DFANCY even came from in the first
>place. I found PR #5832 where apparently we supported -DFANCY for...
>Linux? Also see src/games/robots/move.c r1.7 and r1.9.
>
>I don't understand what the story is, here. It seems the goal was to
>make sure the Linux version of our games was... identical to the one
>that we maintain in src? Even though we don't use it? What?
>
>Please help me understand what's going on here, and why I shouldn't just
>remove all this unused FANCY code.

So I wrote autobot mode (-A) I believe in the summer of 1986 together with
some changes to let it use very large screen sizes. The algorithm to avoid
robots is pretty simplistic: Run away from robots in a single direction
until you run out of moves, then in a different direction and when you
get stuck teleport. FANCY changes its behavior to:

1. Stand still instead of trying to run away (the Stand_still variable)
2. Instead of starting to try moves from the beginning of moves, try
   the next move available from the prior move (the Pattern_roll variable)

The behavior produced interesting results, but the high scores in regular
mode were better this is why the regular mode is still the default. I should
have documented this, and perhaps I will. It has nothing to do with Linux
IIRC. The next step would have been to examine the board and decide which
tactic to choose dynamically. Of course these days one can train a NN to
do a lot better.

christos



Home | Main Index | Thread Index | Old Index