Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Client binaries



quinet@montefiore.ulg.ac.be (Raphael Quinet) writes:
> I'd rather distribute the sources for the client, forget about encryption
> and never do "sensible" things in the client...  Let's use the client for
> display-related operations only (inventory, animations, map, ...)
The problem is not what the developers do in the client, the problem
is what people who recieve the code do to the client.  I will explain
the problems by drawing the parallel of netrek.  netrek is a game
where you fly a ship around shooting at other
people(oversimplification, but basically true).  All the client
recieves is locations of people and the shots.  Well, a client can be
designed to make it easier to turn, make your shots more accurate,
etc.  Similar problems will occur in crossfire once you give the
client more information.  For example, I'd like to see more of the map
at a time.  No problem, just make the window on my client larger and
keep around more information.  No more of the obnoxious problem of not
being able to see around corners once I've been there.  I could design
auto runaway, indeed, I could design auto-play.  Want to collect a
kagillion experience, find yourself a generator, wait in front of it.
Kill the monster, wait, kill, wait, kill, etc.  No person is likely to
have the patience to do this, but I can set up a computer to do it for
hours -- Lots of free experience, all I need is the create food spell.
That is the problem, even if you don't give the client any information
they shouldn't have, the clients can still do more intelligent things
than the X thing that is forced onto people's screens in the current
implementation. 

--
More responses:
Philip Brown <philb@soda.berkeley.edu> writes:
> >>>>[From Eric A. Anderson]
>     
>     Philip Brown <philb@soda.berkeley.edu> writes:
>     > The display code is disgusting. It should be rewritten in Xaw.
>     
>     Why Xaw?  The main thing Xaw seems to gain is a huge increase in the
>     size of the binaries.
> 
> I don't think you have shared libraries. It doesn't add that much.
Yea, I do have shared libraries, but I've also used machines which
don't, and the option of just use shared libraries may not be
available for those machines.  For example decstations running ultrix 4.x

>     Moreover, the problem with losing a display wouldn't be helped by
>     moving to Xaw, you still have to longjmp out of an error handler
> 
> So what? Problem fixed, because then the CLIENT dies, but the server can
> go on happily, after it has handled the socket error.
This assumes that we've also gone to client server at the same time.
I believe that client server will fix the problem of clients dying.  I
do not believe that Xaw will fix the problem of clients dying.

>     -- Now client server would fix a lot of the problems, but it would be
>     nice to have a stable version of the game out there so that people
>     don't lose interest.
> 
> People already have started to lose interest. crossfire has a lousy,
> buggy user interface.
People are losing interest because there have been no public
improvements to crossfire in many months.  As soon as improvements
start coming out, people will be willing to start playing again.

> 89.3 or whatever is stable enough for those purposes, as long as it has
> the fix for losing the display. The code needs rewriting before it will
> be "stable".
I agree that some amount of reorganization is neccesary.  However, we
also need to consider how easy it will be to support 10-100 people on
one server.  Someone compared crossfire to muds.  The main difference
from what I've seen is that crossfire has many more computer
controlled monsters.  Indeed, all of the generators guarentee this.
Hence, every time you add another person, you greatly increase the
load on the server.  There was a place down inside of Santo Diago,
that you got to past the giant beholder down into a hole, where the
second room you got into was packed with monsters.  This room by
itself could make my machine relatively slow.  Now it was doing both
the display and the monsters, but still, there were hundreds of
monsters that had to take actions more than once a second.
Crossfire's basic model may make it very hard to support lots of
people.
---
So there you go, those are my thoughts.  I'm willing to work on the
server and the client some, but I think we should watch how much we
jump for in a single hop.  We can start doing client server internally
in the server by just acting as though the two parts are separate, and
passing the information between the two parts with a function call.
Then the move to client server will be much easier.
          -Eric 
*********************************************************
"It seemed like a good idea at the time"
           -The Mad Hatter
"Yes, you're very smart.  Shut up."
           -In "The Princess Bride"
*********************************************************