Untitled Dungeon Game

Got a programming project in mind? Tell everyone about it!
Post Reply
User avatar
ChrisB
Posts: 35
Joined: Wed Oct 05, 2011 9:37 pm
Location: Surrey
Contact:

Untitled Dungeon Game

Post by ChrisB » Mon Feb 10, 2020 11:00 pm

Introducing the "Untitled Dungeon Game".

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.
dungeon.png
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.
battle.png
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.
inventory.png
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+

User avatar
davidb
Posts: 2598
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Untitled Dungeon Game

Post by davidb » Mon Feb 10, 2020 11:21 pm

Looks intriguing! :D
ChrisB wrote:
Mon Feb 10, 2020 11:00 pm
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.
It might be worth looking at zlib6502 if you have some free memory for workspace. I converted the assembly language into Ophis syntax in my fork. I'm sure it would be easy to convert it for use with whatever assembler you are using.

User avatar
Lardo Boffin
Posts: 1779
Joined: Thu Aug 06, 2015 6:47 am
Contact:

Re: Untitled Dungeon Game

Post by Lardo Boffin » Tue Feb 11, 2020 7:22 am

Looks good. I enjoyed the Guild of Dungeoneering - good fun concept.
Atom, issue 5
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
tricky
Posts: 3904
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Untitled Dungeon Game

Post by tricky » Tue Feb 11, 2020 10:03 pm

Looks very interesting.

My compressor isn't great, except at repeated patters close together, but it is small and fast ;) and good if your data nearly fits!
It is 72 bytes, needs 5 bytes of ZP and can decompress over the compressed data with I think max two bytes of compressed sticking out of the end.
Nearly all my games are compressed with it as they are usually 16-18K and after compression leave at least 1/2K for a ROM header and fit in 16K (usually quite a bit less).

User avatar
lurkio
Posts: 2362
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Untitled Dungeon Game

Post by lurkio » Wed Feb 12, 2020 9:41 am

ChrisB wrote:
Mon Feb 10, 2020 11:00 pm
Introducing the "Untitled Dungeon Game" ...
I approve of this.

:wink: =D> =D>

Post Reply