Tower of Rubble
How long can you survive on the lethal TOWER OF RUBBLE as it crumbles and rebuilds itself around you?
This is my first Atari 2600 game written batari Basic and DPC+ as a way of learning to code the Atari which I have recently returned to after a very long hiatus. I started coding just before Christmas so about 4 weeks worth of work so far.
Apologies to DionoiD who is also writing his own version of Tower of Rubble here - I initially saw the c64 version of the game late last year and was looking for something to start and didn't realise a version was already being created. I'm really looking forward to seeing what can be done properly in just 4k of memory and with some assembly skills! Good luck DionoiD!
How to play
Control the player with the joystick only (no fire button) moving left and right to run across the tiles and pushing up and down to climb. Learning to jump is key to surviving the tower and is essentially automatic:
- you jump off the edge and depending on whats in front of you, you will jump across and hang or drop and hang
- you can climb down backwards into a hanging position then move left/right to jump across (again depending on whats in front of you).
- there is a short jump (between 1 tile gap) and a long jump (between 2 tile gap).
State of the game
Currently a basic mechanics of the game is complete and the following is essentially complete:
- the player can run, jump, climb and hang around
- the main beam drops tiles randomly
- another beam destroys tiles and sends them crumbling into the water (moving from the outside-in)
- some basic sounds (walk, jump, death)
- pause game with Color/B&W button (press fire to continue)
- game currently ends and pauses for a period of time before returning to title screen (you can restart directly after a short pause here by pressing fire)
I've had to work around a few things to keep the frames from jumping (hopefully!)
There is still a number of things to finalise:
- test on real hardware (Harmony cart on it's way)
- balancing - game runs quite quickly ATM
- add some variation to the tiles (currently causing a few frame issues so not sure I will be able to do it)
- sound and music - always an issue for me but we'll see how I go!
- horizontal beam - will need to look at drawing this with the background (I believe?) - have about 900 bytes available in the bank I'm using for the beams.
- other beams - there are a couple of other beams which I need to investigate which drop and clear tiles slightly differently
- game over notification - still deciding on whether to add this as it will explain your death (would love to overlay but doesn't appear possible)
- any remaining bugs
- would love a 2 player version - I've partially coded it so this may be possible - not sure how may frames might be left though
Any feedback would be very much appreciated.
17/01 - Currently it appears the game doesn't work on real hardware when launching off the title-screen (frame overrun) - will investigate.
18/01 - A build has been tested by @cimmerian which has fixed the launching issue but I still have a minor overrun with the crumbling beam to sort through
21/01 - This build should now run on hardware without any frame overruns [TBC]
20190121 - all frame overruns should now be removed (Stella is showing no overruns) as I've fully split the game initialisation (start) and beam completion (ie. main beam - adding tile, crumbling beam - removing columns) over multiple frames. This should set me up for adding the next horizontal beam (fingers crossed).
towerofrubble.20190121.bin 32KB 43 downloads
20190117 - this release includes some sounds (Walk, Jump and Death), a number of optimisations to provide better/faster access to the ram bank, reduced cross-bank access (found 1 or 2 not required) and cleaned up a lot of no longer used code. The game runs a lot smoother and seems to have removed most/all frame overuns (finger crossed).
towerofrubble.20190117.bin 32KB 62 downloads
20190115 - Initial WIP release
towerofrubble.20190115.bin 32KB 60 downloads
Edited by mksmith, Mon Jan 21, 2019 6:38 AM.