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