Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cheating & LOS
- To: crossfire (at) ifi.uio.no
- Subject: Re: cheating & LOS
- From: Jason Fosback <>
- Date: Thu, 14 Apr 94 14:36:40 -0700
> But that is just part of the perniciousness of client
> omniscience cheating. It is completely and 100%
> undetectable from the server side. Unless you look over
> the shoulder of every player all the time, you are never
> going to find out whom to lock out. And as that is so,
> every cheating player gets a free advantage. Honest
> players have no way of knowing if they are the only ones
> who labour under that disadvantage and so can rationally
> only decide to become cheaters as well. You'll end up
> with a system without LOS. As I've said before, if that
> is what you want, lets debate it before we go to all the
> trouble of implementing LOS algorithms which nobody will
> use in the end anyway.
Okay, I've been converted to LOS on the server, but NOT because of the
cheating issue. LOS on the server allows for updates in ONE place, rather
than bazillions of places. Also, it allows for cool effects like
torchlight and stuff like that. *I* wouldn't want to write those
algorithms. Sure, we could take the sources from one client and port them
to another, but it's much easier to do it in one place.
I don't buy the whole idea of LOS on the server reducing bandwidth. You
still have to say, "Here are all of the changes." This can encompass
squares all around you, not just in front of you. Take a look at the
Friendly Giant's Tower. The first floor with all of the Kobolds would
force updates in front of you as well as all around. The updates could
happen to about 3-4 lines behind you, including squares to your sides.
If I understand correctly, you'd have to transmit every VISIBLE square
every time you moved? Is this correct? Please, DON'T FLAME ME; there
have been so many suggestions and alternatives posted in the last few
days, it would be impossible for anyone to keep them all straight. I
think we each know how we would want it, and have a vague idea of how it
would be in everyone else's way.
Anyway :), it seems like you have a tradeoff: you could transmit some
unknown number of squares everytime you move, indicating the map section
to be displayed at a given coodinate, and hope that that number is usually
small; or you could transmit a fixed number of maps sections to be
displayed every time you move, along with a LOS mask. This way, you're
transmitting exactly 11 squares every time you move, and a coulple of
bytes which would represent the visibility mask.
This seems like a good solution to me. Of course, it doesn't get rid of
clients that would simply ignore the visibility mask, but if you want to
talk about tranmission and optimization, it seems to make a lot more sense
to work with constants. It would be easy to optimize the above method,
since you know exactly how much map information you would receive every
time you moved.
-jason
____________________________________________________________
Jason Fosback, Systems Engineer | No sir, I didn't like it
--- Paradigm Systems Corp --- | -R&S
Internet: | Star Trek:
NeXT mail: | The NeXT Generation...