Big Dig

Subject: Big Dig
From: Christopher Tumber <christophertumber@xxxxxxxxxx>
Date: Sun, 10 Oct 2004 00:07:06 -0400
Remember this? It's my "first" 2600 game (I stopped in the middle of it to do Space Instigators) and principal coding is now done. 

This thing is hideously complex and a big PITA - The routines to, for example, select groups of same-coloured blocks is (often) too long to complete in a single frame (your basic travelling salesman problem) so many routines had to be made modular and re-entrant so they can be executed over the course of several frames. And of course with the RAM restrictions, recursion is... difficult (I wound up using brute force instead of recursion - The potential RAM requirements were way to high, and it would have been really difficult to make it possible to execute multi-frame). But, I finally came up with a routine dispatch system that could handle it (only took, what 2 years?)

Currently the "virtual-playfield" extends two rows above the visible playfield, so blocks can scroll up a couple lines and then come back onscreen. I may be able to extend this a couple lines as I have some RAM left. However, that might mess up the cpu time the various block-handling routines take, I'm not sure how much leeway I have there. I'm not sure it's such a big deal anyway.

The game:

- You're an archaeologist so pick-up the artifacts (which don't re-spawn yet).
- Button+Direction removes a block except brown blocks.
- Blocks will fall without support.
- Blocks are sticky and will group with blocks of the same colour and will support each other.
- Blocks which fall and form a group of 4 or more will disappear.

- Blocks falling on you will kill you (not implemented yet)
- In the "source material" there's a timer, a timer may be implement later. If so, collecting an artifact will add time.

There's probably bugs, etc, but the scanlines seem solid which was the big concern.


Attachment: bigdig.bin
Description: Binary data

Current Thread