Over 3 years after starting this project I've finally managed to get together enough time (and to stop rewriting the game engine every other week!) to finish an approximation of a game; which I've very imaginatively titled "Jewel Rush".
As far as an actual game goes, I'm quite pleased with the results. It needs a little more polish (and some custom graphics, at the moment I'm using Arno's set from Boulder Remake, and I don't like the sounds either (I *think* they are from GDash), I much prefer the Atari's version.
However, as a true Boulder Dash clone it's probably never going to get there. All the core principles are in place I believe, but it's the minutiae that I'm never going to reach - my main problem is scheduling as each Boulder Dash game on each platform seems to have it's own model, and I don't have enough information to try and emulate these. Even the one I did have the info on [BD1 on C64] I couldn't get quite right. So all caves currently use a hard coded scheduling system and there's no way to influence that. Another issue I'm having trouble with is the random number generator. I'm using the C64 version that I converted some time ago with the help of the folks on this site, and it works, but I did notice that Cave E on BD2 (the slime one) everything is falling to a different pattern than the one in an true Atari playthrough I saw on YouTube. So YMMV I guess. Probably something subtle I'm missing as all random levels are generated correctly.
It also doesn't scroll like the original games, but always tries to keep the player in the centre of the screen. I have the Atari "approach the edge of the screen and watch it catch up" implemented but it felt wrong so it's currently disabled. I'll go back to this once I implement smoother scrolling instead of jumping one block at a time.
A couple of ingame screenshots:
As the game has been coded in C#, it requires the Microsoft .NET runtime 4.0 to play. But, as it's using OpenGL and OpenAL, that means that in theory I can use Mono to port it to other platforms such as Linux, Mac and even Android. This is something I'll look into once I actually have a non-BD game built on top of this engine!
One note on sound - you need to install OpenAL. If it's not installed, the game will simply inform you that no audio devices are available and disable sound in the games options. Should still be fully playable though.
I've tested this on Windows 7 Pro, Windows 7 Home, and also on a Windows XP Pro VM and it seems to work quite nicely on all these.
The current build of the game can be downloaded here. Just extract the zip and run jwldash.exe, no need to install and it won't modify your system.
http://binaryrealms.co.uk/downloads/info/jwlrush.zip (2MB)
Sorry for the 5MB download size, currently this is mostly taken up by the WAV audio files. I was more concerned with the engine more than the audio component, I'll be looking at using an OGG encoder for future builds.
The game currently only handles .BD files, but it doesn't support every single available option (for example one of the Firefox levels I was testing had dummies in it - whatever these are, they aren't supported). At this stage, only elements from BD1 and BD2 are supported. Such elements will be simply ignored and the cave will play as best it can. (Anything like this is logged into a log file in the executable's directory)
At this point, I'm not sure how much further I'll be taking the Boulder Dash aspects. I enjoy the game, and I'm really pleased with how the engine's progressing. But I'm pretty annoyed at the fact that I can't get it closer to a true Boulder Dash clone, therefore it's more likely that while I'll retain all the BDCFF support, I'll start taking it in a different direction and coming up with my own elements to make it a more stand alone game.
The only bug I'm currently aware of is if it's run on a read only device, it will crash on exit when it tries to update the config file. But, it hasn't been widely tested and so no doubt more bugs exist.
Well, I think that covers just about everything I wanted cover, if you got this far... well done!
On a final note, I'd like to thank Arno for having this site in the first place and the help years ago with the initial random number generator issues I was having, without that this project never would have progressed past where I had it! And this is quite a nice milestone for me, it's the first game I've actually wrote since leaving DOS behind in 1994 and probably the best one I've done besides.