FIrst of all, the Borg was designed by me as part of my upgrade from
ANgband 2.6.1 to 2.7.X, because my I/O interface allowed it and I
thought it would be neat. It is NOT an official component of the
game, and it is NOT supported in any official way. In addition, it
requires up to 300K or so of extra run time memory and a fairly large
chunk of static memory for the code, so it is NOT compiled by
default, and you must compile with "AUTO_PLAY" defined to use it.
However, the Borg is cute to watch (or at least some people think so)
so I do not want to make it *too* difficult to use, so to use the
Borg, all you have to do is define "AUTO_PLAY" and recompile making
sure that "borg.o" is included in the "make". Then you need to
generate a character, type ^W to enter wizard mode (if you can compile
your own source then you can certainly enable wizard mode, note that
this does NOT require the "ALLOW_WIZARD" define), and say yes. This
marks the Borg as a wizard for various historical reasons, and allows
the use of the "special" wizard command "^A$" which initializes the
Borg. Then, you can activate the borg via "^Zz" (note that "^Z" can
be entered either as control-Z OR as "^" plus "Z"). You can stop the
borg later via "^W" (enter wizard mode again) or "^Z" (sometimes works).
Note that making a macro that evaluates to "\e\e\e\e\e\e^Z" is always
a good way to stop the Borg. There are a few other Borg commands, ost
importantly "^Zr" to resume after stopping (unless you stopped him by
entering wizard mode, in which case he will resume as soon as you
disable wizard mode), and "^Zw" to resume with fresh goals. You can
use "^Zc" and "^Zg" and "^Zs" to examine the Borg's map.
Now, here is where things get interesting. Since the Borg is totally
unofficial, there are many people working on their own "extensions" to
the Borg. I have a slight advantage, since I am maintaining the rest
of the source as well, but the truth is, any "borg.c" that derives
from the original "borg.c" (or at least a recent version of "borg.c")
will probably work. So I will be setting up a special directory for
people to upload their version of "borg.c". I would suggest using
names like "borg-qvc.c" and "borg-qvc.txt" to mean "A version of the
Borg written by QVC", since their will be a lot of Borg's (I would
assume). Place your Borg in "/pub/incoming" and I will move it to
"/pub/angband/Borg", replacing any previous version with the same name
(so be sure NOT to use anyone else's name, and if you notice your
version has changed, let me know that someone is fucking around).
Meanwhile, the "standard" Borg will be updated in place as "borg.c"
with the main thrust being to make it resiliant to weird situations,
and to reduce the amount of "cheating" that must occur. The eventual
intention is to make the Borg smart enough to run as a separate
process, with no more or less information than a player. While this
will probably never be done (because it would make it impossible to
"watch" the Borg), I do intend to get as close as possible to a piece
of code that can be compiled in such a way as to allow that usage.
For Angband 2.7.6, I have totally rewritten the overall goal structure
to allow more generic specification of goals. Note that I tend to try
to improve the basic engine, while other people tend to focus on
"tweaking" the Borg to take advantage of various specialized
occurances (such as scrolls of acquirement (!) and spells).
Anyway, remember that any "borg.c" is acceptable, if it was not for
the fact that most borgs will probably "cheat", then it would be
interesting to try and "compete" various Borgs against each other for
points over time or experience per turns or some such.
And from now on it is probably not necessary to send me email about
your latest tweak to the Borg, sinc you can just upload your version
to "/pub/incoming" and post your "borg-xxx.txt" here (describing why
your Borg should interest people).
Then people can choose their favorite Borg to watch. Note that
compiling with a new Borg requires recompiling only the new "borg.c".
--- Ben ---
I would love to recompile for the Borg, but I don't have a compiler. I'm
sure that there are alot of other users out there with the same problem.
Is there anyone out there who will post a version with it compiled in?
By the way, why would an extra 300k of memory be such a big deal...I'm
using 24Meg in my Quadra 800.
Thanks again for the upgrades...the current version seems much friendlier
I have no problem with a community effort involving the Borg...
*This .sig left intentionally blank*
angband is irrelevant. Stair scumming is futile. You will be assimilated...
Razors pain you; Rivers are damp;
Acids stain you; And drugs cause cramp.
Guns aren't lawful; Nooses give;
Gas smells awful; You might as well live. -- Dorothy Parker