I forgot to mention this in my last message...

On Sun, Dec 09, 2001 at 10:04:07PM -0800, Daniel Damouth wrote:
> From: "Mark Mielke" <mark at mark.mielke.cc>
> intelligent 'bots
> > I actually started coding away. As I intend all 'bots to function as
> > appendages to a single unit, I've had to take a look at socket code.
> What is the point of designing a robot team that cheats by communicating
> through sockets instead of normal messaging?  The bots will be playing a
> different game than the humans.

A different game? Isn't that what makes Netrek so interesting? With so
many variables, it is not often that one will see the 'same game',
twice. The planets will not be taken in the same order, the same number
of armies are not initially bombed in the same length of time, etc.

It is the *same game*, in that both games are Netrek. Both sets of
clients are forced to follow "THE" rules, in that they must all pass
through the ntserv interface. The fact that humans would rarely be
capable of synchronization at such a granular level may mean a
significant advantage for the robot team, but is this really morally
wrong somehow? Should the robot team restrict itself to "reflexes that
a human could make"? (i.e. purposefully don't notice the plasma, if
the way it is drawn on the COW client makes it invisible on top of the
enemy ship... wait until it gets closer...)

What kind of restrictions are these?

The "rules" of Netrek are defined in the server that this mailing list
was created for. There is no "rule" that says that team mates cannot
share information either through talking to each other (on the phone,
or across the room), or through datastream.

A human can relay a rather complicated message through the messaging
system such as "ogg F4, sync on R2". They can often generate these
messages using macros. A human player can parse the message, use
a little bit of interpretation regarding where and how they should
be positioned, and jump into it, with the confidence that they will
be able to deal with any situation that arises by carefully watching
their opponents.

Other than inefficiency, this is no different than 'bots communicating
with each other, or further, a single 'bot manipulation all ships.

As I mentioned before, one of the primary problems with 'bots of the
past, is the scheduling of available resources. Two robots should
never bomb the same planet at the same time unless it is determined
that sufficient armies exist on that planet, and that there is a time
window that requires two robots to performing bombing in order to
complete successfully instead of one. Human players instinctly know
this, and when they see somebody ahead of them, will usually choose
correctly as to who remains and bombs, and who tackles another planet.

The 'bots don't know *anything* instinctively. Programming them to
think ahead by several planets, and several enemy moves, and then
distributing the work appropriately is only more efficient. It isn't
really any worse than having a Captain of the team who is an observer,
messaging the team "Ok, R2... you take Hyd, and R3, you bomb Ear."

It's just more efficient. Would you expect a robot team to be more
efficient, or less efficient, than a human team?


mark at mielke.cc/markm at ncf.ca/markm at nortelnetworks.com __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   | 
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada

  One ring to rule them all, one ring to find them, one ring to bring them all
                       and in the darkness bind them...