Jump to content
Revontuli

Dragon's Cache - Vs. Puzzle Drop Game [WIP] - First Beta Released!

Recommended Posts

OK - I figured if I have cryptic instructions for Battle Mode I could take a stab at help for the other modes.  Hopefully the instruction screens aren't too intrusive - if folks find them annoying I can take these out, but the infrastructure was in place, so I'll see what people think.  It's just one more button press, and won't repeat unless you return to the title screen.

 

DragonsCache_3_06b_2020.bas.a78

DragonsCache_3_06b_2020.bas.bin

 

RaceInstructions.png.3edfd55e3a408f8e57144f474d2abf15.png

  • Like 3

Share this post


Link to post
Share on other sites
Posted (edited)

The instruction screen is a very good idea! 👍

Do you think another scoreboard for race mode is possible (with best times instead of points)?

And might there be some space left for a nice title screen? Maybe a neat pixel art pic with 2 dragons and gems? 😉

 

 

Edited by ongikong

Share this post


Link to post
Share on other sites
6 hours ago, ongikong said:

Do you think another scoreboard for race mode is possible (with best times instead of points)?

And might there be some space left for a nice title screen? Maybe a neat pixel art pic with 2 dragons and gems? 😉

 

 

The issue with the High Score system is that it's a separate module that I haven't written, and it would be very hard for me to change it while making sure it still works.  While it's very handy for tracking high scores, its other function is that it can be used with external save hardware for the Atari like the AtariVox and SaveKey, and it wants the score formats in a particular way.  

 

I've been thinking about adding more graphics on the various title and menu screens, but there are multiple "spaces" I might have to deal with - even if I have ROM space, my title menus end up taking a lot of screen space, so fitting more stuff without crowding can be tricky.  We'll see :)  

 

Thank you for your help and feedback!  Let me know if you play any more 2-Player modes - I still need to subject Battle Mode to more field testing!

Share this post


Link to post
Share on other sites

HiScoreDragonsCache.png.94a51928a1a2e773121ec0fc2eaef01c.png

 

New build:

 

DragonsCache_3_18_2020.bas.a78

DragonsCache_3_18_2020.bas.bin

 

After a lot of reading up on assembly, I customized a bit of the high score module, partially to make it fit more with the resolution and aesthetic of the game, partially to learn more about the save system, and partially to learn more on how assembly works :)

 

I *do* need folks with access to hardware like the Save Cart and AtariVox to make sure the scores still save properly.  I shouldn't have changed code that specifically saves/loads from the cartridge, but I can't promise that I didn't make a mistake somewhere.  The actual scores and intials *should* save/load properly, but I've no way of knowing without some brave soul trying it :P  There's an encoding/decoding of initials, so if they are garbled after saving/loading, I know where to start looking for a fix...just don't get too attached to a personal best save score just yet.

 

The current plan it just to save the scores themselves.  I've too many variants of the Race Mode to store them all, and rewriting the score system to account for times instead of numbers is out of my current expertise (and a little precarious with the score saving system as it's currently written).  

 

This feels close to completion, hopefully it's just details left.  I still want to adjust how the title screen and leaderboard transition.  I want to make sure the "attract mode" cycles in a way to prevent screen burn-in while still feeling nice - If I could change one thing about the 2600 Dragon's Descent, it's changing how the title screen it just a single, static high contrast image that might be on a CRT for hours at, say, a place like PRGE.  It makes the title sequence feel more "arcade-y" as well.

  • Like 3

Share this post


Link to post
Share on other sites

Sorry for the late answer... I played the game with another friend in battle mode a few days ago... 

It all worked fine but one thing i got really annoyed by was my opponent's extensive use of his attack blocks activation.

He didn't really care about the power meter and pressed both buttons everytime he got a single attack block, often 3 or 4 times in a row... This resulted in a quick disappearance of my new falling gems every second and i felt pretty helpless about that. 

Is there any other attack "happening" you can think of instead of the gem disappearance? Maybe adding single gems to the opponent's side?

And would it be more fun/challenging to increase the speed in this mode after a few rounds as well - we both were not sure about it!? 

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
51 minutes ago, ongikong said:

It all worked fine but one thing i got really annoyed by was my opponent's extensive use of his attack blocks activation.

He didn't really care about the power meter and pressed both buttons everytime he got a single attack block, often 3 or 4 times in a row... This resulted in a quick disappearance of my new falling gems every second and i felt pretty helpless about that. 

I was wondering how much of an issue that might be - I'm thinking of moving the "destroy opponent's attack block" to halfway up the meter, or maybe removing it entirely - I'll try and post a build with some changes soon.  Thanks!

Share this post


Link to post
Share on other sites

New builds that experiment with the Battle Mode mechanics - the 3_25 build removes everything but the full-meter effect of adding a layer of blocks (and removing other player's gems, but only at the full meter).  The 3_26 build will speed up the opposing player's gems until the gems are placed.  The higher the meter, the faster the gems drop.  A full meter will 1) add a layer of blocks 2) remove the opposing player's gems and 3) have their NEXT gems drop at a very fast speed!

 

Give these builds a try, let me know what you think, and as usual note any odd bugs.  Thanks!

 

Minimal Battle Mode:

DragonsCache_3_25_2020.bas.a78

DragonsCache_3_25_2020.bas.bin

 

Speedup Battle Mode:

DragonsCache_3_26_2020.bas.a78

DragonsCache_3_26_2020.bas.bin

 

Edit:  I still need to change the instructions, so don't be misled!

Edit Edit:  The files seem to work on both MAME and BupSystem (the high score support can be tricky with some emulators) - in case you wanted some variety in emulators again!

Edited by Revontuli
  • Like 2

Share this post


Link to post
Share on other sites

These battle mode changes sound good! 👍

Due to the coronavirus restrictions here in Germany it might take a few weeks until I can playtest the new build with a friend again.

But I will post our opinion here as soon as we are "free" again... (hopefully soon)

Share this post


Link to post
Share on other sites
Posted (edited)

DragonsCache_5_17_2020_b.bas.a78

DragonsCache_5_17_2020_b.bas.bin

 

Hey hey, new build!

 

-Biggest change to gameplay - I was a little unfair on higher levels.  It's still pretty mean fast, but you can move the gems side-to-side more quickly at higher levels.  This also requires a lighter touch at higher levels, but allows you to maneuver the gems a little better as they drop faster.  I set it up in a way that will likely have me messing with the values over the next few builds.  

 

-Some changes to the title screen/high score "attract mode" - it's still an ongoing process.  The title should be closer to the box design that's in the works :)

 

-The easter egg is no longer simply cosmetic.

 

DragonsCache_5_17_2020b.thumb.png.8f72f697bb3c1c6819e1ac2b6839ea4b.png

Edited by Revontuli
  • Like 4

Share this post


Link to post
Share on other sites

I've kept an eye on this, but hadn't taken time to play it until now.  It's coming along VERY nicely.  These kind of games are difficult to get right and be fun.  I like Tetris, but don't care so much for Columns.  This is fun.  You've got a much better formula here than I was expecting.  I look forward to seeing this finished and buying a copy.  Great work!  :)

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

Really a good puzzle-game "Revontuli", i played it over one hour yesterday in the BupSystem emulator. Makes fun and the graphics and used colors are also great. Good job.


One suggestion - when you have finished this game, you could use parts of this here and create a similar game with it, but with the gameplay of "Puyo Puyo", which i like even more on the type of parts and stacking. I guess, alot of this program here, can be used also for "Puyo Puyo", cause it's not so different. Would be superb, having additionally a "Puyo Puyo" too for the Atari-7800. Then we have two new great puzzlers for this system.

 

The Atari-7800 could use a few more good puzzlers. Great would be, when sometime also a "Bust a Move (Puzzle Bobble)" or "Dr. Mario" variant would come out for this system. Aaaaah so many good puzzlers, which would be great to have on the Atari-7800.   :)

 
Edited by AW127
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

Another build - It's mainly just me playing around with the title screen/attract mode:

 

DragonsCache_5_22_2020.bas.a78

DragonsCache_5_22_2020.bas.bin

 

This is also an implicit test to see how scrolling something vertically-by-tile looks, and at what speeds it looks right (spoiler: only when it scrolls fast, and only looks right in a "blink and miss it" kind of way :) )

Edited by Revontuli
  • Like 4

Share this post


Link to post
Share on other sites

Revontuli, I found someone on Artstation who can be commissioned for box art for when Descent and Cache are finally done.

  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, SlidellMan said:

Revontuli, I found someone on Artstation who can be commissioned for box art for when Descent and Cache are finally done.

Cool - I'll PM you to see if this could work out...

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

My highscore so far.

 

highscore.thumb.png.6f9df03a6bcb35b292821a227a4e106f.png

 

 

3357 points and Level 8. In the beginning it needs long until the gameplay gets faster and the game was very easy, almost it starts getting boring a little bit, because i felt no difficulty-increase within the first 10 minutes. I knew that it gets a little bit faster from level to level, but one level needs something to long in my opinion. But then suddenly, around level 7 or 8, the speed goes up very rapidly, too fast then in only one step, for my taste. It's like, the game then wants to say to the player, "okay enough, we want to end your game now".  :)

 

Maybe the speed-increase should be balanced a little bit more in future versions? Faster speed-increase from the beginning on in constant steps (or levels should be shortened a little bit), but these steps are only small. And these constant small steps then should go on like this, also in later levels. Not such a big speed-increase in only one step around level7 or level8. That would be my suggestion. Game itself, when it comes to gameplay, music and graphics, is really great and makes fun, only on some subtleties should still be worked a little bit. And of course, we already wrote about that, a CPU enemy would be fantastic. But when technically not possible, like you explained, we can do nothing here sadly.

 

 

 

And one strange behaviour of the game, i also found out, but i am not sure if the problem here is the game itself, or if it could be some kind of incompatibility in the BupSystem emulator? I have no real Atari VCS-7800, so i can not test it on the real console.

 

When "Dragon's Cache" starts and the player does nothing when the game-menue is shown, the game then, after a short time, goes into the highscore-screen where the five best scores are shown. And when the game once is in that screen, i can press whatever i want on my controller or on the keyboard then, it will not go back to the menue again and strangly stays in that highscore screen with the music go on playing.

 

When i realized, that pressing the buttons don't help, I once waited around 2 minutes, if the game automatically returns to the game-menue, but it don't. The player then can not start a new game and not return to the menue, only resetting then helps. Strange. Is this behaviour also on the real console?

 

 

Edited by AW127
  • Thanks 1

Share this post


Link to post
Share on other sites

AW127, Thanks for playing!

2 hours ago, AW127 said:

Maybe the speed-increase should be balanced a little bit more in future versions?

This, along with 2-player stuff, is my focus as I'm trying to finalize the game.  I'm trying to adjust some of the speed as the levels increase to feel more balanced.  I'm also trying to see if I can get the speeds roughly similar in PAL mode as well, so ideally I'll be fixing two things at once!  The tricky part is to try and find ratios of pixels-per-frame that work without strobing or artifacting too badly.  

2 hours ago, AW127 said:

When "Dragon's Cache" starts and the player does nothing when the game-menue is shown, the game then, after a short time, goes into the highscore-screen where the five best scores are shown. And when the game once is in that screen, i can press whatever i want on my controller or on the keyboard then, it will not go back to the menue again and strangly stays in that highscore screen with the music go on playing.

Emulators seem to have an issue with the high score screen - notably this is one of the few places where I modified existing assembly code, and didn't stick with 7800Basic.  MAME A7800 seems to still work, though, and for the moment that's the emulator I'm ultimately using to test compatibility with hardware. BupSystem is much easier to install, but it (and ProSystem) have odd glitches with the high score.  I'm not sure of the exact sub-emulator Retroarch uses, but it seems to run the game pretty well.  

 

All that said, I'd ask anyone playing on a 7800 right now to let the "attract mode" of the title screen and high score board cycle, and try to get back to the title by pressing a button in the high score screen.  It seems to work on MAME, but that's likely the most vulnerable place, code-wise.

 

2 hours ago, AW127 said:

CPU enemy would be fantastic. But when technically not possible, like you explained, we can do nothing here sadly.

I'm sure someone could prove me wrong, but the approach I was using wasn't going to cut it.  It was turning into one of those programming problem holes I didn't want to fall into, the kind that turn weeks into months and make me want to break equipment (and I've fallen into enough holes like those over the years to try and avoid them :P ).  It's probably possible, but wouldn't be trivial.  I imagine a working approach would involve the CPU "thinking" of its next move across multiple frames, which can get very complicated, and still be pretty slow.  The way I programmed the game, evaluating two human players at once is pushing its limits.  All that said, perhaps someone with a new approach, or doing some low-level assembly code magic might be able to pull something off.  Maybe for another project...

 

Also:

 

Not shilling, I swear, but I think I found a pretty straightforward solution for network multiplayer using a combination of Retroarch and Parsec (I want get more 2-player testing done, quarantine or no!) - I'll probably make a specific post about it soon!

  • Like 3

Share this post


Link to post
Share on other sites
Posted (edited)

Thanks for explanations. Because of the highscore problem, it could maybe also not be a bad idea, to get in contact with "TailChao", the BupSystem programmer, and tell him, what "Dragon's Cache" technically does in that problematic moment (you, as the programmer, are the best person for that, cause you exactly know it) and that "BupSystem" has a problem with that and then hangs.

 

This could bring improvements in two things, (1) "BupSystem" maybe gets an update, in which this incompatibility is fixed and (2) maybe another solution could be found together, for the way the game saves the score. A solution, which maybe is less problematic for some of the emulators? Not that i want, the games should adjust to the emulator, normally the emulator should adjust to the games by getting updates until he can play them perfect, but in this case many emulators at once have problem with the score-saving, so maybe it is only a small thing here, which causes these problems and then this could be identified?

 

18 hours ago, Revontuli said:

Not shilling, I swear, but I think I found a pretty straightforward solution for network multiplayer using a combination of Retroarch and Parsec (I want get more 2-player testing done, quarantine or no!) - I'll probably make a specific post about it soon!

Sounds good, when this will work, i will give "Retroarch" a try. I really have alot of emulators for different systems here on my PC, but "Retroarch", i have not installed so far. Maybe i will then.

Edited by AW127

Share this post


Link to post
Share on other sites
Posted (edited)

New build - Adjusting the level speeds.  I also put in some code to adjust the speed if the game detects PAL mode!  The music is the obvious part, but the game logic speed should be adjusted as well.

 

DragonsCache_5_30_2020.bas.a78

DragonsCache_5_30_2020.bas.bin

 

It speeds up a little faster, but the "middle speeds" should be a little more distributed, and level 9 isn't as mean.  I still need to see how this feels in 2-player battle mode, where "attacking" bumps up the other's players level temporarily to the 5-9 range, depending on the power meter.  I might end up doing a parallel set of values.

 

I'm also tempted not to speed up the gems each level-up, but bias the speeds for "smoothness".  It would still get progressively faster, but not necessarily every single level.  Right now I have gems dropped x-pixels/y-frames, so while the general speed might be slower or faster, some values are a little more jittery.  A gem dropping 3 pixels per 2 frames is more choppy than a gem dropping 2 pixels per 1 frame, for instance.  There isn't quite the pixel resolution to have all drop rates equally smooth, but I'm curious how playing the game reads with the speeds I currently have.

 

48 minutes ago, Muddyfunster said:

Not sure if you were aware mate, but Dragon's Cache was featured in April's edition (Load 206) of Retro Gamer magazine.

Sweet!  I think I saw a headline online, but didn't realize it was also in print!  Although I'm not sure about that download address...

Edited by Revontuli
  • Like 5

Share this post


Link to post
Share on other sites
On 5/29/2020 at 3:17 AM, Revontuli said:

Emulators seem to have an issue with the high score screen - notably this is one of the few places where I modified existing assembly code, and didn't stick with 7800Basic.  MAME A7800 seems to still work, though, and for the moment that's the emulator I'm ultimately using to test compatibility with hardware. BupSystem is much easier to install, but it (and ProSystem) have odd glitches with the high score.  I'm not sure of the exact sub-emulator Retroarch uses, but it seems to run the game pretty well.  

 

All that said, I'd ask anyone playing on a 7800 right now to let the "attract mode" of the title screen and high score board cycle, and try to get back to the title by pressing a button in the high score screen.  It seems to work on MAME, but that's likely the most vulnerable place, code-wise.

So, @RevEng contacted me regarding this issue when it first popped up. At first I thought it could be an issue in either my RIOT implementation or how the controllers themselves are interfaced with it and the TIA.

 

BupSystem drives all the controller inputs high or low depending upon if a button is pressed (which is how my adapters and some other controllers work). The joystick on an actual ProLine leaves the inputs open or shorts them to ground depending upon its position. Some software uses really bogus AtariVox / SaveKey detection which doesn't account for an input stuck high or low, which can happen with either style of input but is more easily triggered with the former.

 

I watched what Dragon's Cache was doing in terms of setting up SWCH(A/B) and SW(A/B)CNT to see if there was anything off there - it looked okay. But I didn't investigate what it was doing with any of the reads. Leaving the High Score screen by pressing [PAUSE] bothers me since this could be caused by either a fault in the emulation or a happy accident in the game which still works on the hardware and A7800.

 

As of writing I don't know which it is :(

 

 

12 hours ago, AW127 said:

Thanks for explanations. Because of the highscore problem, it could maybe also not be a bad idea, to get in contact with "TailChao", the BupSystem programmer, and tell him, what "Dragon's Cache" technically does in that problematic moment (you, as the programmer, are the best person for that, cause you exactly know it) and that "BupSystem" has a problem with that and then hangs.

BupSystem's development is on hiatus, but I'm still keeping a tracker. Any issues should go in its thread.

 

  • Thanks 2

Share this post


Link to post
Share on other sites
Posted (edited)

We'll be checking out Dragon's Cache on tomorrow's (Sun May 31) ZeroPage Homebrew stream LIVE on Twitch at 11AM PT | 2PM ET | 6PM GMT! Hope everyone can watch!


Games:

 

(SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

 

 

Edited by ZeroPage Homebrew
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
13 hours ago, TailChao said:

The joystick on an actual ProLine leaves the inputs open or shorts them to ground depending upon its position.

 

Sounds interesting, somehow similar to the problem, when a Sega Mega-Drive controller is used on a Atari-2600, C-64 or Amiga.

 

13 hours ago, TailChao said:

I watched what Dragon's Cache was doing in terms of setting up SWCH(A/B) and SW(A/B)CNT to see if there was anything off there - it looked okay. But I didn't investigate what it was doing with any of the reads. Leaving the High Score screen by pressing [PAUSE] bothers me since this could be caused by either a fault in the emulation or a happy accident in the game which still works on the hardware and A7800.

 

As of writing I don't know which it is :(

 

I am sure, you both will find out. You know, what your emulator exactly does and "Revontuli" what his game exactly does in the problematic moment, when the player enters the highscore-screen.  ✌️

 

  • Like 1

Share this post


Link to post
Share on other sites

A few responses, but first, new build:

 

DragonsCache_5_31_2020.bas.a78

DragonsCache_5_31_2020.bas.bin

 

I was able to play with some friends online using Parsec.  Some network/streaming issues aside, I was able to get some good feedback.  Taking what I learned form those games, I'm testing the addition of some graphical effects to the Battle Mode - the dragons flash in color when they're being "attacked" by their opponent when their gem drop rate is momentarily faster.  I added in a sound effect for when you get a full meter (or make a match with a full meter to remind you that you can, and probably should, attack!)  

 

@TailChao I appreciate your recent help and info in these threads (and awesome work in general)! - let me know if there's anything you might want me to test on my end.  

 

5 hours ago, ZeroPage Homebrew said:

We'll be checking out Dragon's Cache on tomorrow's (Sun May 31) ZeroPage Homebrew stream LIVE

Thank you, welcome news as always!  I'll try join in the stream tomorrow morning!

  • Like 4

Share this post


Link to post
Share on other sites
Posted (edited)
5 hours ago, Revontuli said:

@TailChao I appreciate your recent help and info in these threads (and awesome work in general)! - let me know if there's anything you might want me to test on my end.

Thanks, and no problem.

 

I think your current recommendation of having testers ensure the high score screen works on their consoles is best for now. Even if it's a happy accident - that's still the behavior which emulators should replicate. But the high score screen getting stuck thinking it's been spuriously paused is a little suspect of an incorrect read, write, or mask which happens to work.

Edited by TailChao
  • Like 2

Share this post


Link to post
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.

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...