Welcome to DX-Diggem
written by Steffest

Please visit the DX-Diggem homepage at http://www.steffest.com/boulder for:

- the latest release of DX-Diggem
- extra levels
- extra spritesets 
- more info 


This is a Beta release, it contains still several small (and big) bugs and a lot will change
in the future.
It's not unthinkable DX-Diggem might crash from time to time.


Game controls:

Navigate thru the menu using your mouse, joystick or arrow keys and enter.

the game starts in pause mode: press any key to exit pause.
'p' to pause the game.

Arrow keys: control character .
Control + arrow Keys:	'Grab' an object .
Keep Control pressed a short time for placing a Dynamite (When you have one)
(or use your joystick)
(the joystick routine is rather rudimentary, so it's possible it won't work too well ...)

'Esc' to return to the menu.
'r' or 'q' to restart the level

when finished a level, press any key to start the next one (except escape). 
when you die, press any key to restart the level (except escape).

press 'm' to display a full screen map of the level at current status.


If you want to skip levels, enter your name as 'Steffest' and you will be able to
select all levels.


Thanks for playing !

All Bug-reports are more than welcome !!
 
Send all comments and ideas to boulder@steffest.com

Thanks in advance.



History	
V0.45 alpha
	Finally picked up the source code again. (after a 3 years break!)
	Spend a freaking whole day to persuade the thing to compile on Delphi 5 !
	Switched to a 2 bytes per object levelformat (because there are more than 256 objects now)
	This makes the levelmaps twice as big, but well .... computer specs are also more than twice they where 3 years ago.
	Wrote my own imagelib editor, since it seems the DGC compononts are discontinued ... 
	Coolies!! made the window stretchable.
	activated "Wait for vertical blank" I didn't noticed that 3 years ago, but on modern computers it ran waaaaaaay too fast in window mode.

	Bugfixes
	Spring moving left
	fixed annoying textout bug

V 0.44 alpha
	Renamed the game to DX Diggem, this for copyright reasons on the name 'Boulderdash'.
	Added Gametypes to levelmaps and Spritesets. These are also visible in the Selection boxes.
	Added a 'Default' animation map file.
	Changed behaviour for Snik-snaks (They really turn left !!)
	This one never got released.

V. 0.43 beta
	Fixed open Border problems.
	Fixed Grab-bug (Display + count)
	Amoeba turns into C64Diamond and C64Boulder now instead of plain diamond and boulder.
	Fixed Escape key bug.
	Fixed Spinning Wheel bug
	When a player dies, the screen won't scroll to the top left anymore, 
	but stays fixed on the location of the tragic death.
	Fixed left collect bug
	Fixed Intermission bug
	Fixed Frozen life bug
	Fixed Pass_thru door bug
	Fixed yam content bug
	Fixed escape key bug
	Implemented Locked Tubes (Red,green,blue,yellow). These behave like doors, (hu? I did ? nah)
	except that you walk thru them like tubes (Needed for Rocks'n'Diamonds where doors behave differently)

V. 0.43 alpha
	Implememted Display area to alter the visible area in the game.
	Maximum Diamonds to collect is now 32767 (was 255)
	Implemented 2 player mode with split screen display (Some bugs left)
	Fixed Diamonds collect bug - Quicksand bug
	Blue and red pipes are inexplodable now, as are switchgates and time gates
	fixed explosion bug (resulted sometimes in black inpassible space)	
	Fixed Utility disk Bug
	Implemented Balloons,Shield,Extra Time
	Implemented Brown,Black,White and Purple keys and doors (EMV6 objects)
	Implemented Spring,Well (very nice object with lots of potential !) Stitch (android)(EMV6 objects)
	Changed Firefly and Butterfly behaviour a bit to match original C64 behaviour 
	(You can now move up to the left of them without being killed: not very logical, but following 
	the c64 gameplay. )
	Implemented Wind (affects balloons) + according buttons.
	Added support for many "rockfords" like found in many C64 and Boulderoid Caves. 
	(Rockfords are all player 1, they move all together).
	Added C64-Diamond and C64 Boulder: this to achieve full C64 Boulderdash compatibilty: 
	They behave slightly different from normal Boulders and Diamonds.
	Added "dumbford": some sort of external life, that you have to protect from enemies. 
	(C64 object: I got them all now). 
	Made "Start game" the default button at startup.
	Added Configurable Keyboard settings.
	Added Robot and Stitch Attraction to the closest player.
	fixed some hekp-screen bugs.
	Started to convert the FruityCaves sprites by Kevin Saunders to a DX Boulderdash Spriteset
	Added more "Advanced Graphics": dirt,rocks,stone walls and steel walls now can have random appeareances: 	very nice !
	Various 2 player mode bugfixes
	 

V. 0.42
	Fixed Diamond Grab Bug
	Added Hatch (C64 BD feature)
	Added Maximum Amoeba Spread (C64 BD feature)
	Added possible Trapped Amoeba to Diamond Conversion (C64 BD feature)
	Implemented Firefly (C64 BD object): looks like ship but with slight differences.
	Implemented Butterfly (C64 BD object): looks like bug but with slight differences.
	implemented Slime (C64 BD object).
	Added Animcount check
	Added Hidden Exit
	Added Pacman (Rocks'n'Diamonds object)
	Added Intermission level (always goes to next level, even if you didn't reach the exit)
	Fixed door bug, nut bug
	FINALLY implemented decent Amoeba Drop,falling at half speed
	Redrawn some sprites in the EmeraldBig-Spriteset
	Pearls crash when they fall
	Replaced some sounds

V. 0.41
	Disconnected DirectSound initialisation from Directdraw intialisation
	Added "Map" funcion: press "m" in a game to display a map of the level:
	works with all sprite-sizes,resolutions and level-sizes.
	Added new objects: tubes. (all kinds of shapes) these can be connected to
	form a pipeline. Little fellow can walk thru it (he's invisible while he's
	in the tubes offcourse)
	Rearranged keys + automatic restart/nextlevel
	Added new resolutions: 400x300 and 512x384 
	Re-arranged the scrolling routine in the new (experimental)drawing routine.
	:a bit faster (but still some display bugs).
	rewrote the DirectX-component to also support a non DirectX drawing output
	(standard windows gdi) just for testing: this is REALLY slow!
	Added an internal module-player, making use of the excellent Midas digital 
	sound system.
	Fixed Speedbug
	added lots of new objects: (most of them from DC2 by Peter Elzner):
	switchgates,conveyor belts,Landmines,timed gates
	Re-implemented animation-routines (supports speed,loops,links and repeatcounts)
	Expanded LevelMap-Format: included Description, Status, Last level detection, minimum Imagelib needed.
	Added "Advanced Graphics" option: this is an attempt to make the game less static-looking:
	Meaning: the dirt,stone walls and amoeba(slime) have all appropriate rough edges + some things are 	constantly animated.
	this is only in the big spritesets like EmeraldBIG.iml .
	Since this takes a lot of processing power, you can turn it off on slower machines.
	Fixed Scrolling bug, Fixed Rockbirth bug
	Added Imglib version check
	Expanded help
	Added objects help
	fixed scrolling bug in windowmode 
	

V. 0.40
	Added joystick support.
	Re-added sound support (now with sound-card detection)
	If a sound card doesn't support DirectSound,it's not disabled automatically, though. 
	fixed quicksand bug, Magicwall bug (oops), CoX and CoY bug.
	Started adding missing Boulderoid objects: added Expending Walls (Horizontal, vertical
	and both directions)
	Added independant Menu and Game screen resolutions. 
	(super low game resolution of 320x240 is now supported: for slow computers, or for people
	looking for a better Amiga 500 look :-) )
	Also you don't have to restart the game anymore to switch resolutions: it's done on the fly.
 	Added "moves" counter
	Added DirectX window-mode! Well, it's still experimental and a bit unstable, especially 
	when switching to/from full screen. 
	Fixed Amoeba bug

V. 0.39
	Added some more errorchecking (Dx-Boulder shouldn't crash anymore at initialising, even
	when all data files are missing)
	Added support for different screen resolutions
	Added speed-option
	Added Keyboard control for frontend and menu (some details still missing).
	Finally catched up with the MagicP spriteset: all objects are now (more or less) present.
	Changed game keys: 	Press 'Esc' for return to menu
				Press 'q' to restart the level. If the level was completed,it will
				also return to the menu. 
	Fixed little Yamcontent-bug. 	

V. 0.38
	Fixed Time Score. (now fully BD4 compatible)
	Fixed Game.rec error checking (a bit): You can now play back BD4 recorded
	game files, but since the engines are still not quite compatible, your
	game probably wont replay the same.
	Replay routine rewritten. (who said Ascii files were easier then Binary ??)
	Fixed diamond collect bug: when you grabbed a diamond and took the empty
	space right after, you got double score. (also for Keys-Dynamite-emerald)
	Fixed Scroll Bug: Scrolling was not automatically reset after a game (Oops).
	The levels are all shifted down 1: so the first level is level 0 instead of 1.
	Added Recording and playback file select Dialog.
	Ha! The Drand48 is functioning !! : very good news !
	chain reactions are not right yet  ....
	Changed Yam code (to BD4 routine)
	Added SpriteSet and LevelMap File Requesters. (very basic)
	Found a little inconsistancy in the Rock Fall routine (not the last one I should think)
	(under investigation and under construction)
	Fixed some display bugs.
	Hiscore and Playerlist are now saved encrypted.

V. 0.37 release 2

	(It is not called V0.38 because I haven't fixed any bugs yet)
	Added missing Supaplex objects : 
	Snik Snaks, Electrons, Utility Disks, SupaBomb, Traps, Gravity Ports.
	Changed random-number routines (Finally found Drand48, but not fully functioning yet).
	The animation-frame file format needs changing : 
	2 bytes a frame + an editor frame needs to be included.
	Added Level-names in the level format, but they don't show yet. 
	(set to default: "Level X")


V. 0.37
	First Beta release (only the player, not the editor)

	changed Bug and Ship Code (now different codes for different directions: Needed frame-room 
	for turn animations).
	Yams eat Blue Diamonds now
	Keys and dynamite made zappable.
	Game.rec checking seems broken   hmm...  : don't delete this file !!!
	(also don't delete opt.bdi)
	Disabled some problem causing routines: Backdrop, Transparancy, sound.

V. 0.36
	redesigned Frontend

	Added Acid (splashes when something falls into Acid yet to do)
	Added different start directions for Bugs, ships and Yams (Finally) (Yams under construction)
	Added Gray doors (Finally)
	Added different players
	Basic navigation in Highscore and Player tables
	Added some Error Checking (mostly for file integrity, but still very limited)
	Changed the recordingfile format: it was necesary to include the full Levelmap name, 
	So: it's no longer BD4 compatible (I should fix that)
	
	
	Started decoding Diamond caves compressed levelformat : see DC-Format.txt
	Maybe I should put the level conversion routines in the game itself instead of only in the 
	Level Editor.		



V.0.35
	OK: Have to rewrite the game a lot for Wil's BD4 compatiblilty: the goal is to achieve a
	100 % compatibility so you can exchange and playback recorded games. Also the score should
	be compatible. Things Changed: 
	- Objects reacts faster when falling down. This is much better: better feel and better action
	- Falling objects tumble different
	- Bombs retimed: actually now I have to have another supaplex-style bomb ... 
	Animation map is extended (Level format should also be extended ...)
	Added some things of Emerald mines/Bd4: Robots (aliens) 
						Quicksand	
						Keys and doors
	Added record and playback of games.
	Added HighScore Tables

	the palette handling of DGC-image library editor is horrible: Started to write a Sprite-editor.
	current features: 	- DGC Image library compatible
				- can import BMP and IFF (not limited to 256 colors)
				- simple edit functions (under contruction)
				- can import Sprite Maps (under contruction)
				- Palette rearange functions (under construction) (very important)


V.0.34

	Got a pretty good working Boulderdash and Supaplex Game now: 
	Still some miner tweaks (see to do).
	Gravity option in Supaplex can be expanded even further to form an entire
	platform game (Magic Pockets Spriteset)
	But this requires some major adjustments in the program structure: 
	An option is needed to control the main charactar either tile-based 
	(like Boulderdash) or not (platform games like Donkey Kong etc etc etc).
	Very interesting Idea !! (but actually hard to implement: extra collision detection)
	But indeed: the levelformat has to be adjusted: 256 different object codes are
	not enough: 2 bytes (65536 object codes) should be sufficient, 
	but you would need a pretty fast computer to check them all (allthough a lot
	are dependable on settings like Gravity, tile based and a lot of 'Background' 
	objects don't require checking).
	Peter Broadribb's proposal for a BDCFF is pretty good, it only lacks multiple layer
	support. (If I only could contact him ...)
	Also the Animation Map needs extension.

	 





Ideas
	- light sources (like torches): in 256 color mode this requires a small palette
	  like 16 or 32 (Most bitmap brother games are in 16: Wauw !!) so you can draw 
	  a sprite in a ligther or darker palette. Before starting the game, each sprite has
	  to be copied and remapped to a darker palette a few times.

	- Multiple layers would indeed be nice (and for true platform games necesary)
	  (The background can be in high color I presume)
	  Maybe some Amiga-like copper effects would be nice 






