Newsgroups: comp.ai.games
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!gatech!newsxfer.itd.umich.edu!news.mathworks.com!news.ultranet.com!news.sprintlink.net!in2.uu.net!ncrgw2.ncr.com!ncrhub6!daynews!falcon!news
From: Dick Menninger <Dick.Menninger@DaytonOH.ATTGIS.COM>
Subject: Re: Cheating by AI in games
X-Nntp-Posting-Host: 149.25.99.44
Message-ID: <DFJ0nM.Goz@falcon.daytonoh.attgis.com>
Sender: news@falcon.daytonoh.attgis.com (News administrative Login)
Reply-To: Dick.Menninger@DaytonOH.ATTGIS.COM (mennid)
Organization: AT&T Global Information Solutions
X-Newsreader: DiscussIT 2.5.1.3 for MS Windows [AT&T Software Products Division]
References: <448rul$asd@ixnews4.ix.netcom.com>
Date: Tue, 26 Sep 1995 18:57:22 GMT
Lines: 83


There are actually several issues here.
There is a difference between having different
players have different advantages (rules, if you will)
and cheating.  The problem with computer players
is that one set of rules is published and computer
gets unpublished exceptions (what we call cheats).
These can be of the form of full information in
a limited information game, better economics,
better battle powers for seemingly the same stuff,
better initial conditions, etc.

Most of us want the rules to be known.
Many of us would like them to be equal or
explicitly selectable at some level of detail.
The cheats are crutches to make up for
not knowing how to get the computer player
up to snuff.  To provide reasonable opponents,
most game companies are quite willing to
use cheats because it is definitely the less
expensive way to get seeming competence.
I got tired of that in strategy games and
I have some that I have not even bothered to play.
Currently I am playing an older RPG (my
sleeping pill in the evening).

So, work on getting the player good while
using the human rules.

The issue of humans cheating by save/restore
tricks is a separate issue that applies mostly
to games where one human plays against
the computer.  Proper game design can
greatly reduce the efficacy of this trick.
The key is often proper random number management.

Shed the foolishness that came out of the
old memory tight past and use a scheme that
allows for distinct random variables (separately
packaged classes with mills, prime mod, actual
range, and offset--if you use C++).  Picking
the right random variables removes many of
advantages of save/restore, or at least
changes them to be mostly knowing what
kinds of things happen, what things
look like, and finding the right way to handle
something.

An example of fixing a piece of an existing
game to eliminate a major save/restore
case occurs in Wizardry 7.  When you acquire
the necessary experience to go up a level,
the game gives the player a random number
of random increases to stats that are under 18.
If you do not like the result, you can restore
and fight another battle to get different results.
There is very real incentive to do that (I will
skip that explanation here).  First, if the
number of stat increases were its own random variable,
then the number received for a given level
increase would be an invariant through restores.
The fix to which stats to increase could go
two ways.  To better match the startegic nature
of character development, the player could
be given the ability to choose the stats to increase.
That would be my choice.  But if you wanted
to preserve the current randomness, then make
the stat choice its own random variable.

This example shows that much of the
ability of humans to cheat (without
explicitly modifying saves with cheat
programs) is actually designed into
games by game companies.

Personally, I would like to see more
effort to reduce both forms of cheating
and I think both have many readily
achievable aspects.

Good Day
Dick

