Vanilla Netrek Server Development Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[VANILLA-L:1181] Re: Suggestion: vector t/p aiming



On Thu, Jan 07, 1999 at 01:06:02PM +1100, James Cameron wrote:
> This is a suggestion that I've asked the suggestor to put to r.g.n.
> 
> Technically, it changes the tractor and pressor client to server packet
> to use a direction rather than a ship number.  Probably break a few
> things.

[quoted text follows]
> Problem:  Tractor/Pressor aiming is inaccurate for most players.  While most
> long time players have become used to the fundamental difference between
> phasor aiming and t/p aiming, I believe there is something to be gained by
> unifying their ergonomics.
> 
> Solution:  Change the aim from a 'closest ship to cursor' to 'closest ship
> to vector between self and cursor', much like the current phasor aim.  This
> would probably move the t/p acquire code to the server, which would have the
> added bonus of removing the dead-ship t/p problem.

A couple of notes on this..  I was also was very bothered by this (when I
still played).  However, I do not think the solution is to change the
client/server protocol.  (That would require updating both the clients and
server which is never an easy task.)

Changing the tractor/pressor scheme can be achieved solely in the client -
it does not need a server change.  Since the client sends the ship number
to the server, it is possible for the client to do a vector search of
nearby ships, and then return the ship closest to the mouse's vector.  The
protocol is flexible enough for the change to occur solely in an altered
client.

As Steve pointed out, however, much of the time it is not desirable to use
a vector t/p scheme.  The proposal that I thought up (when I still played)
was to change the client to give extra weight to ships that were closer to
the mouse's vector.  The idea was to change the tractor selection code from
searching outwards circularly from the mouse pointer, to searching outwards
in ellipses.  The ellipses would have focal points equa-distant from the
mouse pointer, and in line with the ship's location and mouse pointer.  The
distance between the focal points and mouse pointer would be user
configurable.

The reason I wanted this addition was because of the condition:

        O  M           C

        ^  ^           ^
        |  |           |
some ship  |           |
           me          carrier

In the above scenario, I often found myself tractoring ship O because I
have a habit of not moving my cursor far from the center of the screen.  (A
typical "high-clue" habit.)  Because ship O is "real-close" to my ship,
this tendency to keep my mouse close would translate to a tendency for ship
O to be closer to my mouse pointer, which would translate to a lock on the
wrong ship.  So, even if I had my mouse pointer between me and the carrier,
I would still lock O.

I think the client change would be fairly simple.  It would involve
changing the loop that checks each ship's distance.  Instead of solely
using distance, the client would artificially add "distance" according to
how much of an arc there was between the mouse pointer and the ship being
checked.

Note, this method doesn't stop a ship from "tractoring through" another
ship - if the pointer is ever put directly over another ship, that ship
will always be selected.

Just food for thought,
-Kevin

-- 
 ------------------------------------------------------------------------
 | Kevin O'Connor                     "BTW, IMHO we need a FAQ for      |
 | koconnor@cse.buffalo.edu            'IMHO', 'FAQ', 'BTW', etc. !"    |
 ------------------------------------------------------------------------
+
++ Vanilla-l Mailing List ++
To unsubscribe: send "unsubscribe vanilla-l" to majordomo@real-time.com
For more information: http://archives.real-time.com