This started out as an exercise in using sideways and shadow ram. I've been tinkering for several months on and off (mostly off) but with the acquisition of my old BBC B+ 128K from the loft I've had renewed enthusiasm. Having said that at the moment it is targeting the Master because the shadow ram is easier to work with. Currently it uses two banks of sideways ram to hold the monsters and dungeon pieces. This will increase to at least three with more planned graphics depending on how much disk access I want to use. There's also 900+ lines of BASIC driving the main logic and a small piece of machine code in main ram to interface between the basic and the sideways ram.
The game is a sort of light roguelike card battler based loosely on the guild of dungeoneering. Here are some screenshots but remember that this is very much placeholder graphics. I was even thinking about it becoming a space themed game as the last one I did was fantasy but we’ll see what happens. I wanted a large number of monsters and items hence the use of sideways ram. There are currently 40 different monsters and I expect there will be 50-100 cards.
The main screen is a top down maze view (that scrolls) with a map. There will be some sort of status display as well. There will be several dungeons that can be attempted multiple times. Once you meet a monster you go to the battle screen. The player has an inventory with items that give cards to use in the battle. The order the cards appear is random – but the player has a “hand” to choose from. Cards have effects like stun, damage, healing, shielding, or changing the size of the hand etc. The monsters just choose from the next card in their list. If you defeat a monster you can pick from an item of treasure that will change your deck. This is very much a first iteration of this screen. Once you “Finish” a dungeon (not sure how that will be determined yet) you’ll be able to upgrade your characters abilities back at “town” which will affect damage done and similar.
Things to do:
- Complete the battle logic. Monsters will have special abilities and the Player will have stats that affect their performance.
- Finish the battle screen to use sprites not predefined characters and introduce some animation.
- Finalise the inventory (types of item etc.) and do the Inventory screen.
- Create Cards and inventory items. This might mean moving some routines out of sideways ram. With shadow ram and crunched basic there should be a good chunk of main memory space. Ideally the BASIC will sit beneath the screen ram(&3000 upwards).
- Move the treasure storage into sideways ram.
- Move the map plot code to assembler.
- Create the town screen for upgrades and the map screen for dungeon selection.
- Store the screens in sideways RAM (probably using Tricky’s compression routine). I’m hoping because there will be quite a lot of blank space they will compress well. I'd like to leave a 4th bank free for soft loaded filesystems and the like if possible.
- Move the text display to my font routine. (Proportional spacing).
- Create sound/music.
- Create a story/final goal.
- Possibly implement a character save system.
- Add the niceties, loading screen, progress bars, pallet switching etc.
- Bugfix and balance.
- Convert to the B+