Open Source *Game* Programming License
Seth David Schoen
schoen at loyalty.org
Thu Jan 18 11:43:06 UTC 2001
Ryan S. Dancey writes:
> From: "Henningsen" <peter at alifegames.com>
> > The game programming community has another big problem with the GPL:
> > Cheating is much easier when you have the code.
> Of course, there's another faction in the community who believes that by
> having the code, work can continuously be done to thwart/foil the hackers;
> most of whom are able to use the same debugging/profiling tools the
> developers have and can get at the internals of object-code only releases
> Openness is good for gaming just like it is good for cyrptography.
In a multiplayer network game there are at least three kinds of cheating
by modifying a client:
(1) Substantive deception by a client whose output is trusted -- for example,
falsely claiming not to have been injured by something, falsely claiming to
have unlimited resources, etc.
(2) Exposing too much information to the user when the client is trusted with
extra information to assure UI consistency -- for example, Quake servers
sent information about rival players' positions in order to let clients
produce realistic sound effects, but some clients rendered walls as
transparent to reveal the other player's locations. This is considered
cheating because the users aren't meant to have all the information sent
to their clients in this case.
(3) Augmenting human players' reflexes, stamina, patience, or decisionmaking
skills -- for example, by having an "autopilot", scripting features, or an
AI engine to calculate some player responses automatically. This is
considered cheating because other players think that a human rather than a
robot is at the other end. Also, a robot integrated deeply into the client
can make use of method (2) above to make use of information that might not
even be available to the human player.
Attacks (1) and (2) may be protocol design issues (which having the code
just makes easier to exploit), but attack (3) is fundamental and can't be
detected or prevented in general.
Seth David Schoen <schoen at loyalty.org> | And do not say, I will study when I
Temp. http://www.loyalty.org/~schoen/ | have leisure; for perhaps you will
down: http://www.loyalty.org/ (CAF) | not have leisure. -- Pirke Avot 2:5
More information about the License-discuss