[net.games.rogue] SPOILER: Cheating at Rogue SPOILER

ARPAVAX:reeds (07/31/82)

SPOILER :: How to Cheat at Rogue :: SPOILER


I have written a paper describing a fairly effective way at cheating at
all versions of rogue that I know about.  I will send copies of nroff
source to anyone who mails me at

	reeds@ucbarpa
or at
	ucbvax!ucbarpa!reeds

Here is one of the Berkeley rogue score files.  At least 5 of these 10 scores
were obtained by my method:

Top Ten Rogueists:
Rank	Score	Name
1	36386	Cheater: quit on level 10.
2	16968	peter: quit on level 28.
3	37856	Quentin Quasitbane (aka the Clri Kid).: quit on level 1.
4	14281	T. P. Mustystump: A total winner on level 26.
5	12563	Frankenstein: A total winner on level 26.
6	11966	Frankenstein: A total winner on level 26.
7	6194	Leonardo: quit on level 20.
8	6141	Fsck the Yeti: A total winner on level 27.
9	4937	Rogue Runner: quit on level 19.
10	3645	The King of Beers: killed on level 16 by an invisible stalker.


Here, as a further come-on, are a few of the opening paragraphs:


General Idea of Cheating at Rogue

     This method of cheating works on all versions of  rogue
that  support saved game files.  The author has tried it out
on versions 3.6, 4.22, 5.2 and 5.25C  of  rogue  running  on
4BSD  VAX  UNIX.   The  general  idea is to forge saved game
files.  This is easiest done by  taking  an  existing  saved
game file and altering it to suit the cheater's convenience,
much the way a check forger (for reasons of  his  own)  will
take  an  existing  check  and alter the amount the check is
made out for.

     The cheating is carried out by a program which  I  call
rascal.   You use it this way. Suppose you have been playing
for a bit and decide to cheat.  Save the current  game  with
the  capital  S  command, say in file savegame.  You are now
talking to the UNIX shell again.  Type the command

        % rascal savegame

You will be asked what you want your score to be, and possi-
bly  some  other  questions too.  Answer them.  Now the file
savegame has been doctored.  Resume your game with

        % rogue savegame

and away you go!

     This is a simple score-inflating use of the rascal com-
mand.   Another use is as follows.  Suppose you have come to
a tight spot in the play of  the  game.   You  do  not  know
whether  to  attack  or  to retreat.  Save your game in file
savegame, and execute these commands:

        % cp savegame s1
        % cp savegame s2
        % rascal s1
        % rascal s2
        % rogue s1
        % rogue s2

This way you can explore two  "parallel  universes",  having
your  cake  and eating it too...

     This program is targeted at a given version  of  rogue.
If  a new version of rogue comes out, rascal must be rewrit-
ten.  The bulk of this report is devoted to showing how this
rewriting should be done.

     The steps are explained in successive sections of  this
report.  They are, briefly:

1    The saved game file is an encrypted version of the data
     space  of the rogue command at the moment you saved the
     game.  You must break the encryption scheme.

2    The layout of the data in the saved game file  must  be
     discovered  so  that  you  will  know  which entries to
     forge.  This task is  made  much  easier  by  having  a
     source  listing and name list for the current verson of
     rogue.  In any case it is very easy to find  cell  loot
     which contains the players current fortune.

3    Rogue contains code guarding against the kind of cheat-
     ing described here.  You must defeat this code.

     All of these steps take about an hour or two  to  carry
out.   Appendix  B contains a sample source for rascal suit-
able for cheating at one of the versions of rogue  available
on the Berkeley campus.