
                      Digger - back and digitally remastered
                      ======================================

                      The really long digger file - 7/6/1998

                        by Andrew Jenner
                        with thanks to Windmill Software

Included in the distribution is the game itself, this document, and a Windows
icon (but see Known bugs and issues for information about running Digger under
Windows).


Contents
--------

The story so far...
Digger pages on the web and other versions of Digger
Technical details
The keys you need to play the game
Known bugs and issues
Help! It runs too fast (or too slow)
Extra levels
Command line invocation
Record/playback
Top scores
Ideas for future enhancement
Scoring system
Maximum scores
Music
Feedback


The story so far...
-------------------

Finally, after 3 years of (on and off) hacking, Digger is back! This game, for
those who don't know it, was one of the best games available for the XT - the
CGA graphics were beautifully drawn and animated, and the sound effects and
music were state of the art.

It wouldn't run on modern PCs, of course. The CGA graphics directly accessed
hardware registers that the VGA didn't have (and wouldn't have looked so hot on
today's high resolution monitors anyway), the background music and sound
effects just didn't sound right and the whole thing just ran far too fast.
Also, you probably didn't want the game to access the disk directly and save
your high scores in an arbitrary place (probably overwriting some other file)
or to reset your computer just to exit the game.

I was extremely disappointed to discover all these things when we replaced the
family PC1512 with a brand new multimedia 486, so I set about re-writing it. It
was a big job - all the code had to be disassembled, the necessary routines
re-written and the whole thing put back together again. I finally finished the
project in easter 1998, having decided not only to fix all the compatibility
problems but also to convert all the graphics to VGA standard, redrawing
them. This is the result!

Unfortunately, I have not been able to contact the original author of the game,
as all I know is the copyright message on the title screen "(C) Windmill
software 1983." I have head one rumour that the author died shortly after
completing the game, but if you know otherwise, or, indeed, if you are the
author, please get in touch.


Digger pages on the web
-----------------------

http://homepages.enterprise.net/berrypark/andrew/digger.html
The latest HTML version of this document is available at my own site. Check
back here often for updates.

http://home.worldonline.nl/~terdudio
Reinder Kraaij of Holland has started a rewrite of Digger in Java. The graphics
are as in the original, but the game itself is being rewritten from scratch.
What is there is playable, but it's just not the same as the original. Sadly,
Tser hasn't replied to any of my emails.

http://www.wynde.com/~steve/perl/wwwboard/messages/30.html
The Cheesy Software Discussion Group have been having a lot of discussion about
Digger and the arcade game Dig-dug, which it may or may not have been based on.

ftp://ftp.torget.se/pub/games/reader_files
This game plays nothing like the original Digger, although it does have certain
game elements in common. Don't be fooled by the 4Mb installation or deliciously
rendered title screen, the game itself is simple, slow and fairly boring. It
does, however, attribute itself to the original Digger so I include it here. To
download, get both digger_1.zip and digger_2.zip and use PKUNZIP with the -d
option.

http://www.rinet.ru/~mikel
Mikel Lavrentyev of Russia has written a "patcher" for the original Digger
which fixes most of the problems. The loader also has a level editor and many
sample levels. This package is highly recommended, although the patcher does
have some unwanted side effects - the controls seem "sticky", the background
music isn't quite right, and the speed seems to be always either too fast or
too slow. The levels from Mikel's version of Digger are available for use with
this version of Digger - see my homepage for more details.

Know of any more? Get in touch!


Technical details
-----------------
The dissassembly was done using Microsoft's DEBUG utility and lots of QEdit
macros. The new code was completely written by me, from scratch, in assembler.
The old code is taken directly from the original game. I wrote utilities in
Borland's Turbo C 2.0 to extract the graphics data and put it into a format I
could use with CHARDES, my personal favourite sprite editor. I used this
program to redraw all the graphics in glorious 16 colour 640x400 VGA. With more
utilities I wrote, I turned the new sprites back into assembler code (DB
statements) so it could be easily linked with the code. Finally, I assembled
everything with A86 and Turbo C, linked it all with Borland's TLINK and
compressed it with PKLITE (it's now smaller than the original!)

Note: the high scores are now saved in an actual file, DIGGER.SCO, and *not* on
an arbitrary sector of the disk in drive A:, as the original did. If you're
clever, you can hack into this file and make your scores apparently arbitrarily
large. Please don't do this, it's very antisocial. Don't do it on Minesweeper
or Freecell, either.


The keys you need to play the game
----------------------------------

The keys you need to play the game are (might be considered spoiler): Left,
Right, Up, Down (or 2, 4, 6, 8 on the numeric keypad) to move Digger, F1 to
fire, Space to pause, F7 to toggle background music and F9 to toggle all sound.
On the title screen press Esc to toggle one or two player mode. To exit either
press F10 or hold down Alt and Ctrl and press Delete (no, your computer will
not reboot, I changed it to simply exit the to the operating system).


Known bugs and issues
---------------------

Most of these have arisen because of the way the original game uses the
hardware, and I that want to keep it as similar to the original as possible, in
terms of sound and gameplay)

* Crashes on level completion when running under Windows (3.1 enhanced mode
  or 95) when sound is on. I consider this to be a bug in Windows, not a bug in
  the game, the music just wouldn't be right if I didn't reprogram the timer.

* Very occasionally crashes on exit when Smartdrv is running and you got a high
  score on your last game. This is because Smartdrv delays saving the high
  score table for a second or so, and gets confused if you try to exit while it
  is doing its stuff. Solution: disable write-caching before running the game,
  or, if you get a high score and want to exit, wait until the scores have
  saved. If it does crash, run Scandisk immediately, or you may lose all your
  high scores.

* The screen goes all speckly when you get a high score. Let me know if this
  is a problem for anyone.

* When you get a game over and no high score, the screen flashes between its
  two colour schemes for a while. I have no idea why it does this. It didn't in
  the original and I didn't program it to. Weird. I think it was originally
  programmed to do this, but was disabled (either deliberately or by a bug) and
  I accidently put it back. It did take ages to get back to the title screen,
  so I changed the number of times it flashes from 20 to 10.


Help! It runs too fast (or too slow)
------------------------------------

This version of Digger calibrates the speed of your computer when you run it,
so it should run at the same speed on all machines.

You can, however, speed up or slow down the game depending on your personal
preference. To do this, simply specify the speed on the command line. The
default is 40, higher numbers give slower speeds, lower numbers (1 being the
lowest) give faster speeds.

If you're good at the game you might like to try playing it at a faster speed.
I, for example, prefer to play it at speed 20.

If you use a really slow speed like 500, you may have to hold the keys down for
longer to get it to do anything.

Note that the music and sound effects are independent of this speed setting.


Extra levels
------------

An extra 31 sets of levels are available from my website. To use these, unzip
the file into directory where you installed Digger, and make sure that this is
the current directory when you run the game.

To play a different level set, just specify its name on the command line when
you play the game.

Note that the scores are now saved in the same files as the level data, not in
separate .SCO files as in the previous version (although the DIGGER.SCO file is
still used if no .DAT file is specified). If you have old .SCO files, email me
for the conversion utility.


Command line invocation
-----------------------

Comand line options are:
  /S:n    = set speed to n
  /L:name = use level file "name"
  /C      = Use CGA graphics - these are faster than VGA but this is only
            really noticable if you have a slower computer or are playing at
            high speeds.
  /B      = Use CGA graphics with BIOS palette functions (try this if the
            palette doesn't work properly with the /C option, but be warned: it
            might cause a crash if you get a high score)
  /Q      = Quiet mode (no sound at all) - use this if you're running under
            Windows.
  /M      = Turn background music off. Curiously, if you complete a level and
            no music has been played since you started the program, if makes a
            different noise. Who knows what other mysteries Digger holds...
  /R:name = Record game to file "name"
  /P:name = Playback game file "name" and restart program
  /E:name = Playback game file "name" and exit program


/S and /L are optional (you can just specify a name and/or number) but are
harmless, and will help to prevent confusion (especially if you have a level
data file called something like "20.dat")

/Q and /M don't completely disable sound and music, you can still toggle them
with the F9 and F7 keys.

See the next section for information about /R, /P and /E.


Record/playback
---------------

This is fairly self-explanatory to use, although because it slows the game down
somewhat, you have to switch it on beforehand - you can't save or replay a
great stunt you've just done (maybe in the next version...)

Simply start Digger with a command such as "DIGGER /R:DIGGER.DRF" Then,
everything that appears on the screen will be saved to this file (in this case,
DIGGER.DRF, although it can be anything you like). Recording finishes when you
exit, either with F10 or Ctrl-Alt-Del. The recommended extension is .DRF
(Digger Recorded File).

To playback the file, use either the /P or the /E option:
"DIGGER /P:DIGGER.DRF" or "DIGGER /E:DIGGER.DRF". The only difference is that
when the playback is finished, the /P option restarts the program so you can
play normally, and the /E option exits to the operating system.

At the moment, no sound or music is recorded. Again, this may be implemented
in a future version.

If you specify both /P and /R (or /E and /R) on the command line (/P or /E
first), the playback itself is recorded, so some elementary editing of recorded
game files can be done. Not enough to make it look like you've done better than
you have, of course, but the hackers among you will probably produce your own
recorded files by hand anyway.

To playback a file at a different speed, put the speed on the command line
first. Command line arguments are processed in order. You can even play back
multiple files at different speeds with the same command, such as
"DIGGER 20 /P:DATA1.DRF 10 /E:DATA2.DRF" (plays DATA1.DRF at speed 20, then
DATA2.DRF at speed 10, then exits).

No information about the speed at which the record was made is kept, nor
whether it was recorded with CGA or VGA graphics, so any file can be played
back at any speed or resolution.

Recorded files can get quite big (order of hundreds of kilobytes per level) but
compress to about 1/5th of that. But these do keep a lot of information: every
detail of your game, with timing to the split second. Please *don't* send me
your recorded files (compressed or otherwise) unless I ask you for them,
otherwise my email could get jammed.

If you downloaded a new version of Digger and your old .DRF files don't work,
sorry - I've changed the format. However, the changes I've made should ensure
that .DRF files recorded with the latest version should work will all future
versions. Email me if you're desparate for a conversion utility.


Top scores
----------

My highest score is 47,300 - I reached level 9 using a speed of 20.

Marc West of Syndey, Australia's best is 56,200, also on level 9.

Vincent Nunes of Brooklyn, New York City has achieved 91,840.

Aycan Gulez of Turkey (who has also reviewed Digger in the "Shareware World"
section of the Turkish edition of Ziff Davis' PC Magazine) reached 119,975
(1 emerald away from an extra life!)

John 'Top Dig' Robinson's top score is about 157,000.

Mikel Lavrentyev of Russia claims to have mastered the game and reached the
maximum possible score of 999,999 in 7 hours of continuous play.

If you can beat my score or even equal Mikel's, get in touch and, if I believe
you, I will list you here.

I'm planning to make Mikel's feat impossible in a future version, by making the
game faster as it progresses.


Ideas for future enhancement
----------------------------

Please email me and tell me which of these you'd particularly like/hate or if
you have any better ideas.

* Level editor, graphics editor, background music editor etc.
* Simultaneous two player mode, either split screen or both on the same
  screen (so two diggers can help or fight each other as they see fit) -
  perhaps wil an option for network play.
* Change game speed during game
* Windows version (don't hold your breath!)
* Cheats - I'm pretty sure there currently aren't any.
* More than two players


Scoring system (may be considered spoiler material)
---------------------------------------------------

* Emerald: 25 pts.
* Eight consecutive emeralds (octave): Extra 250 pts.
* Gold: 500 pts.
* Killing Hobbin or Nobbin by shooting or hitting with gold: 250 pts.
* Bonus: 1,000 pts.
* (In bonus mode) Eating Hobbin or Nobbin: 200 pts. for first, 400 for 2nd,
  etc. (doubling each time) - still 250 for other methods of killing, though.
* At every multiple of 20,000 pts. you get an extra life.


Maximum scores
--------------

The maximum possible score on completion of level 1 is 8650 plus 3150 for every
life used. I can repeatably obtain 8650.

I haven't bothered to calculate similar statistics for the other levels, but I
will if anyone's interested...


Music
-----

The background music for the main part of the game is called "Popcorn", and was
a hit for the group "Hot Butter" in the 70s. There's more info at
http://www.cam.org/~lafranc/popcorn/origin.html.

The background music for the bonus is the William Tell Overture by Rossini.


Feedback
--------

That's about all I can think of to put in the the really long Digger file for
now. Let me know if there's any other Digger information you urgently need, you
want the source code or you want to be put on an email list to be told whenever
a new version comes out.

If you have access to email that is the best way to contact me - my address is
  amj25@cam.ac.uk

If not, you can snail-mail me at:
  Andrew Jenner
  Queens' College
  Cambridge
  CB3 9ET
  ENGLAND


