Jump to content
IGNORED

Dragon's Descent - Action/Roguelike for the 7800 (ported from the 2600)


Recommended Posts

At this point, just more wow. 

When you think you've seen all the board layouts, all the enemies, sooner than later you're surprised with something new.

 

 

The play sample above is a 'tad' on the defense-health heavy side, but that's just another great aspect/option of the game.

There is a lot crammed into that 48K footprint, yet the game is so well balanced and a pleasure to play.

Excellent work, Revontuli.

  • Like 4
Link to comment
Share on other sites

3 hours ago, Trebor said:

The play sample above is a 'tad' on the defense-health heavy side, but that's just another great aspect/option of the game.

Totally a valid strategy - I imagine you might go for mix of more offensive power as you gain practice and learn the maze layouts.  That said, I find "tanking" on health is still a very valid strategy even with knowledge of what's ahead.  While not powering up your fire breath means you don't have to worry about ammo when it gets dark, you -do- have to worry about tougher monsters! 

3 hours ago, Trebor said:

There is a lot crammed into that 48K footprint, yet the game is so well balanced and a pleasure to play.

Thank you! ?  I wanted to give a player valid choices throughout the game, taking into account one's skill and tactical philosophy, be it tank, glass cannon, score hoarder, or some mix of the three.  How to balance the new encounters and features as one gets further in the game was also something I deliberated a long time on - I'm glad that all came through in the gameplay!

 

A few design/philosophy notes I was thinking about as I watched (not criticism of your game play, which was impressive, as much as my justifications for adding certain mechanics):

-The dark is sort of a "hurry up," a soft time limit partially to make sure people don't camp on a level to farm points, and partially to keep things interesting. :evil:  If you're stuck in it and start panicking, remember it goes away if you manage to get to a new level.

-I admit the dark can very nasty in a new, unfamiliar level, but the levels are persistent and can remembered or mapped.  Even selecting "random" levels will give you their seed number so you can play them again if you want, and their room layout will be the same if you do.  

-While you didn't go this route in the video, I added limited ammo for stronger fire breath to give folks another reason to hunt enemies (they can drop ammo as well as health on occasion), while making sure players are careful with the power they gain.  You still have your starting fire breath if you run out, but you'll likely encounter scenarios where you really miss that extra punch.  And there's always that next treasure room to work your way back up...

-As a designer, I wanted to give players a reason to continue to delve deeper into the maze - Things like the dark, the higher scoring enemies, the one-treasure-room-per-level, all were meant toward that goal.

 

Awesome video - it's great (and helpful!) to see a full-length session like that, thank you for posting!

Edited by Revontuli
  • Like 1
Link to comment
Share on other sites

I just discovered this thanks to Trebor posting footage on YT. Didn't know about the 2600 version, but now I'll be waiting for the 7800 cart release. This looks fantastic!

 

What I really like about this project is seeing a game make the jump from the 2600 > 7800. I really wish that more games had done that (Adventure, Yars' Revenge, Haunted House, River Raid, Pitfall II, etc.) to take advantage of the hardware. 

  • Like 5
Link to comment
Share on other sites

3 hours ago, gambler172 said:

checked the game with my savekey...

it works great

Awesome!  I currently don't have the hardware to test the saving, so this helps a lot!

2 hours ago, Shaggy the Atarian said:

What I really like about this project is seeing a game make the jump from the 2600 > 7800.

With Batari Basic and 7800Basic it was pretty straightforward!  Mechanically, the games are nearly identical, down to much of the code.  While I like the 7800's specs, being in that interesting transitional phase of hardware, 7800Basic gave me the impetus to actually start coding for it.  Porting an existing project also gave me a good excuse to learn without starting a whole new game from scratch.

 

What would people recommend for testing the game on actual 7800 hardware?  My Harmony cart serves me well in developing for the 2600, but I'm not sure what the best 7800 equivalent would be.  It sounds like there are a few devices that are comparable, but each has their quirks and most are hard to find nowadays. 

  • Like 1
Link to comment
Share on other sites

5 hours ago, Revontuli said:

Awesome!  I currently don't have the hardware to test the saving, so this helps a lot!

With Batari Basic and 7800Basic it was pretty straightforward!  Mechanically, the games are nearly identical, down to much of the code.  While I like the 7800's specs, being in that interesting transitional phase of hardware, 7800Basic gave me the impetus to actually start coding for it.  Porting an existing project also gave me a good excuse to learn without starting a whole new game from scratch.

 

What would people recommend for testing the game on actual 7800 hardware?  My Harmony cart serves me well in developing for the 2600, but I'm not sure what the best 7800 equivalent would be.  It sounds like there are a few devices that are comparable, but each has their quirks and most are hard to find nowadays. 

PM cpuwiz and inquire about the DEVCART he had created. 

Link to comment
Share on other sites

52 minutes ago, Jinks said:

Was funny  to watch when Trebor finished the dark time out and got to the next stage and fired the whole time thinking it would go dark.. ??

 

21 hours ago, Revontuli said:

...remember it goes away if you manage to get to a new level...

 

LOL, I didn't realize that is the impression a portion of the video provided (Seemingly, I didn't know the darkness stops after level advancing).  Truth be told, it was a coincidence of sorts.  A few times while playing, I contemplate holding down the fire button as it is continuous firing against enemies.  Not surprisingly, when the darkness occurs is when it makes me lean more towards rapid/constant fire may be an advantage over more controlled shots, as I'm forced to do it during the darkness.

 

I start thinking though, it distracts too much (I really do like the background/theme melody), and there really is not much difference between constant firing and more controlled shots, as the enemy attack is not 'robotron/smash tv' in nature...but then, I think how the enemies require multiple hits, so it might be better afterall...then back to - that melody *needs* to be heard dominantly. Oh, the dilemma.

 

I blame Revontuli.  The game could have no background melody or crappy TIA sound, but nooo...has to go off providing some TIA sound magic. ??

  • Like 3
Link to comment
Share on other sites

2 hours ago, Trebor said:

A few times while playing, I contemplate holding down the fire button as it is continuous firing against enemies.

This was one of the reasons I added ammo to higher levels of firepower - I found myself simply holding down the fire button at one point in testing, and realized I had no reason let go of it.  The thing is that I like the autofire rhythm/fire rate that's there, but to me there should also be a reason to -not- fire, under at least some circumstances. ? 

 

2 hours ago, Trebor said:

The game could have no background melody or crappy TIA sound, but nooo...

I'm really glad people seem to like the music/sound - I wasn't sure I'd be able to pull something off with the TIA. 

 

A lot of the credit goes to the music tracker included with 7800Basic - the tracker and sound system took care of a lot of stuff like sound priorities and pitch tables that are otherwise hard to get right or are a pain to code on your own.  While the 7800 has the same sound chip as the 2600, you tend to have more space in ROM and cycles to play with, and that makes a lot of difference.

 

The musical pieces I used are different public domain tunes I found and then arranged for TIA - For now I'll leave folks to guess what they might be...it might be a strange listening experience once you know what the tune originally was.  While the tunes I chose are somewhat thematically appropriate, they were chosen more for sounding decent after being transcribed (you should hear what's on the cutting room floor...)

 

I'll admit some folks have done amazing musical arrangement with TIA's various voices, but for my part (and limited musical skill) I really only like using voices 4 and 12 - the best voices for pitch range and the closest the TIA has to standard musical notes.  I then added an echo to the notes - that, combined with the musical tracker's priority system means you can often hear "chords," and the echo seems to help "smooth" the hard edges you might get just using a pure tone.  It's the chiptune equivalent to singing in the shower!

 

As much as I dig on the TIA, I actually like its interface in its ultimate simplicity, you can do some cool stuff with it.  To put things in perspective, I started programming on an Apple ][, where all I could do was click the speaker!

 

  • Like 4
Link to comment
Share on other sites

16 hours ago, Jinks said:

PM cpuwiz and inquire about the DEVCART he had created. 

Cuttle cart 2 works well,but hard to find

Mattheos Carts also till 128k games,also hard to find

Concerto works till 128k games,with small problems by some games,same problem to find one

and my very special multicart,not released,works great too,

but a friend made only one for me ?

 

hope this helps

and for developers,CPUWIZ devcart works very well

Link to comment
Share on other sites

15 hours ago, Karl G said:

It's making me consider possibly doing a 7800-enhanced version of my game. 

It was a blast!  It's surprisingly straightforward, as any code logic can be moved over more or less as-is.  For me the -hardest- part was updating the collision detection (especially converting playfield->tiles, but I did a lot of odd stuff with the playfield originally), and the -longest- part was updating the graphics.  I really spent more time tinkering with the art and music than wrestling with the code, which I think is how it should be.

 

Surprisingly, there -are- things you might miss from the 2600 - not being able to mirror sprites, for instance, especially since I was pressed for graphical space in the beginning.  Collision detection is a trade off - the 7800 is more in line with my experience on pretty much any other platform, but having designed a game to take into account the 2600's pixel-based collision (to say nothing of the built-in scaling/doubling/tripling sprites and rolling over the screen edges) meant I had to manage some stuff that I took for granted on the older machine.  Again, it's stuff I would have to do on pretty much any other platform, it's not too hard to implement, and ultimately works better for most things, but going from 1 line of code to 30 lines meant some extra work.  This was mainly on the playfield/tile end, so if you're just concerned with sprites hitting sprites it's much more straightforward.

 

The temptation for feature creep is very much there (you have so much more space to play with, although it fills up faster than you think...), but aside from adding in an easier mode, saving high scores (which is frankly harder to -not- do when you have the hssupport module), and music I think I managed to keep things under control.

 

I'd say go for it - the Basic syntax is identical between the two machines, and it gives you a chance to learn about the quirks of the 7800 machine without the larger work involved with making a game from scratch.  You also get a sense of liberation when you see how much RAM/ROM/cycles you have after squeezing a game into a 2600 ROM space.

  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...

I've been working on a lot of game-related stuff besides/around the code - cover art, instruction manual, things like that.  I just posted this in my 2600 thread, and it's tentatively for my 2600 version, but this is a potential cartridge art design that might be shared between the 2600 and 7800:

 

large.DragonsDescentCartridgeDesign.png.1b7af5bc9ac09f37e2b538181b0b1689.png

 

The above image is basically what happens when I listen to too much power metal while looking through archives of early 80's arcade marquee art.  I'm not a good enough illustrator to properly mimic the classic Atari oil/airbrush/montage style the company used for a lot of their titles, although I might try making an "Activision rainbow contrail" style cover version for fun and see how it turns out.

 

As far as my aesthetics and inspiration for the game go, I imagine "Dragon's Descent" as a the type of game that would have been released and forgotten about in the arcades during the Great Videogame Crash of '83, one of the last of the "Second Generation" games, an instant before scrolling graphics and the genres that used them came to dominate.  While there were a lot of bad games, hardware, and decisions at the time, there were also a lot of unique games and ideas that were floating about.  The 7800 seems placed in that same spot (even if it's technically a 3rd gen console, in design and paradigm it's in an odd transition between the NES, SMS, and the earlier Atari/Coleco/Intellivision systems), a strange place of possibility, forgotten potential, and roads not taken.

 

While I might be making a few adjustments, most likely on the music, feature-wise I feel like I'm in a beta/bug testing phase at the moment.  I still don't have a good way to play the game itself on an authentic 7800 myself - the closest thing I'm doing currently is testing with a genuine controller, 9-pin adapter, and MAME running a7800 on my dev machine or a RetroPie.  I'll hopefully be having a few friends test the game in similar circumstances soon.

Edited by Revontuli
  • Like 7
Link to comment
Share on other sites

  • 5 months later...
On 1/4/2020 at 8:41 PM, MrBeefy said:

So did I read correctly that this one and the 2600 one are identical minus the graphics?

The 7800 version has an option for non-lethal walls (the 2600's walls will always damage you, like in the game Berzerk).  There wasn't really enough room for me to program proper wall collision handling on the 2600 version, but there is here on the 7800.  The 7800 version also has the addition of music.  That said, the game mechanics, enemy behaviors, level layouts, etc. are all pretty much identical, with allowances for changes in resolution and slight adjustments in speed.   

  • Like 4
Link to comment
Share on other sites

6 minutes ago, Revontuli said:

The 7800 version has an option for non-lethal walls (the 2600's walls will always damage you, like in the game Berzerk).  There wasn't really enough room for me to program proper wall collision handling on the 2600 version, but there is here on the 7800.  The 7800 version also has the addition of music.  That said, the game mechanics, enemy behaviors, level layouts, etc. are all pretty much identical, with allowances for changes in resolution and slight adjustments in speed.   

I assume many people are anticipating getting your 7800 version on cart. Adding those options is awesome. Kudos to you for this great game. Can't wait for a release!!!

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

New test build:  DragonsDescent_1_3_2020_CollisionTest.bas.a78

 

I'm in bug testing mode for the game right now.  This version is adjusting the collision detection a little bit - it's been possible to get stuck in walls in certain circumstances, and I'm trying to narrow down when/how this might happen.  Slamming into the sides of room entrances and corners (especially in treasure rooms) are likely places to get stuck.  

 

I'm currently trying to find ways to test the game on physical Atari 7800's myself - in the meantime, if anyone has that ability (i.e. with a Flash Cart or similar device), I would appreciate feedback on how the game plays on actual hardware, even comparing differences to how it plays in something like MAME A7800 (the emulator I'm currently using to test, as it seems to be the most accurate).

  • Like 1
Link to comment
Share on other sites

On 1/10/2020 at 2:14 AM, Revontuli said:

New test build:  DragonsDescent_1_3_2020_CollisionTest.bas.a78

 

I'm in bug testing mode for the game right now.  This version is adjusting the collision detection a little bit - it's been possible to get stuck in walls in certain circumstances, and I'm trying to narrow down when/how this might happen.  Slamming into the sides of room entrances and corners (especially in treasure rooms) are likely places to get stuck.  

 

I'm currently trying to find ways to test the game on physical Atari 7800's myself - in the meantime, if anyone has that ability (i.e. with a Flash Cart or similar device), I would appreciate feedback on how the game plays on actual hardware, even comparing differences to how it plays in something like MAME A7800 (the emulator I'm currently using to test, as it seems to be the most accurate).

will check it out at weekend

Link to comment
Share on other sites

4 hours ago, gambler172 said:

checked the latest version....plays very well...but there are many colission bugs.Especially in Level 2

and 5...my dragon stucks suddenly in the wall.

Can you remember which rooms (for instance, what shape they are) and where in them specifically you get stuck?  If you can message me screenshots or pictures of where, that would also help - thank you!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...