Rocks'n'Diamonds with GDash game engine

Everything about the modern clones and remakes.

Moderator: Admin

altermaven
Member
Posts: 60
Joined: Sat Apr 24, 2021 6:26 pm
Location: Pennsylvania, USA
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by altermaven »

LogicDeLuxe wrote: Sun Aug 25, 2024 10:46 am The biggest difference on classic scheduling is between BD1 and BD2. In BD1, there is just a delay loop wasting a predetermined number of cycles, depending on the level, thus it is very dependent on what's going on in the cave. This is also the reason, intermissions are significantly faster, since those have the cavescan reduced to 12 lines, iirc.
From BD2 on, the delay is based on TV field counts. Most of the time, the engine can keep up with a delay of 5 or 6 to keep a steady timing. Less than 5 doesn't increase the speed any further, as this is about the time the game needs for the cave scan without a CPU turbo (interrupts included).
GDash calculates the proper delay from all of this when those classic scheduling types are in use.
This is also why a CPU turbo has a ridiculous effect on BD1 and barely any on BD2 onwards.
There are some measurements on that somewhere on this forum.
I can see now why in BD1, that some caves with a lot of elements (I, K, any cave with amoeba overgrowing) tend to result in slow movements. Does this problem persist in BD2, or is the routine fleshed out to effectively eliminate this?
Creativity is chemistry. Alchemystics Design.
User avatar
LogicDeLuxe
Member
Posts: 650
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by LogicDeLuxe »

altermaven wrote: Tue Sep 10, 2024 7:17 pm I can see now why in BD1, that some caves with a lot of elements (I, K, any cave with amoeba overgrowing) tend to result in slow movements. Does this problem persist in BD2, or is the routine fleshed out to effectively eliminate this?
Most of the time, BD2 indeed eliminated speed variations and present the cave with a steady timing sync'd to the field count. Slowdowns can still occur, though, ie. whenever the scan takes longer than the target field count. More likely to occur in higher levels due to the increased speed. Obviously, this is a big improvement compared to the BD1 scheduling nevertheless, which doesn't have a fixed target at all.
User avatar
igormakovsky
Member
Posts: 32
Joined: Mon May 08, 2023 6:06 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by igormakovsky »

Hello!

Is it ok, that rockford has to die when exiting room that makes him touch enemies that border the exit door?

This is the example:

Image

Taking opportunity, want to ask if the development of the RnD GDash goes well for this heroic move.
Also, will there be an iPad version update that will include GDash when it'll be released so I can teach my kids what I've been into their age? :D
— I.
artsoft
Member
Posts: 44
Joined: Tue Dec 09, 2014 8:26 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by artsoft »

Is it ok, that rockford has to die when exiting room that makes him touch enemies that border the exit door?
Good question! According to the cave scan algorithm, it probably has to work that way -- Rockford enters the exit tile and wins the game, but is then (next tile to the right is handled) killed by the enemy (but has already won the game).

If you swap both tiles (firefly to the left, open exit to the right), there's no explosion, as Rockford hasn't entered the exit tile when the firefly tile is scanned.

At least it works that way in the current GDash implementation (and therefore also in R'n'D).

Can anybody test how this works out using the original C64 version / engine?

As the game is treated as "won", there's no real reason why not to suppress this explosion, and just assume that Rockford is invulnerable once he has entered the exit.
Taking opportunity, want to ask if the development of the RnD GDash goes well for this heroic move.
It does, and the next (fourth and most probably final) pre-release with a lot of fixes and improvements will hopefully be released soon (either end of October or early November, I hope). :)
Also, will there be an iPad version update that will include GDash when it'll be released so I can teach my kids what I've been into their age? :D
That's in fact a good question! I do not create the iOS versions of R'n'D by myself, because I don't think that it's funny that I have to pay about 100 bucks just to be able to provide a game for free to anyone. Therefore, somebody else with such an account creates an updated iOS version of the latest R'n'D from time to time, and puts it into the app store.

If you should have an Android powered tablet available, there will always be a fresh app of the latest R'n'D available for it. And the next major release of R'n'D will finally make it easy to add level set zip files to it, without working around nasty limitations in Android regarding access to the app's data directory. (What I still have to add is updating existing level sets that way.)
Agetian
Member
Posts: 88
Joined: Sun Sep 19, 2021 10:14 am

Re: Rocks'n'Diamonds with GDash game engine

Post by Agetian »

artsoft wrote: Tue Oct 08, 2024 6:24 pm
Is it ok, that rockford has to die when exiting room that makes him touch enemies that border the exit door?
Good question! According to the cave scan algorithm, it probably has to work that way -- Rockford enters the exit tile and wins the game, but is then (next tile to the right is handled) killed by the enemy (but has already won the game).

If you swap both tiles (firefly to the left, open exit to the right), there's no explosion, as Rockford hasn't entered the exit tile when the firefly tile is scanned.

At least it works that way in the current GDash implementation (and therefore also in R'n'D).

Can anybody test how this works out using the original C64 version / engine?

As the game is treated as "won", there's no real reason why not to suppress this explosion, and just assume that Rockford is invulnerable once he has entered the exit.
Personally I'm in favor of leaving this implementation authentic to GDash, it's probably best not to interfere with the cave scanning order, even if in minor details like that. But that's my opinion, would be nice if some of the engine and CSO experts could provide some input here :)

- Agetian
artsoft
Member
Posts: 44
Joined: Tue Dec 09, 2014 8:26 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by artsoft »

Personally I'm in favor of leaving this implementation authentic to GDash, it's probably best not to interfere with the cave scanning order, even if in minor details like that.
I agree with you, and I will keep it that way in the R'n'D implementation of the GDash engine.

I'm currently working on the transition of the old 2010 version of the GDash engine (which is written in C and therefore easier to integrate into R'n'D) to the latest version of the GDash engine (which is written in C++ and therefore needs some more changes to be added to R'n'D). The main engine should already be 100% compatible with the latest GDash now (which means, among other things, that there are no unsupported game elements in existing cave sets anymore). In addition, the game engine is still fully compatible with the 2010 version of GDash. This means that any replay that was recorded with the 2010 version of GDash (for example, quite a number of replays for Dustin's cave sets) are still fully and successfully playable with R'n'D (which is not the case with the current GDash anymore, which was changed here and there to improve compatibility even further).

What's still left to do is check if there are any more changes to the cave loaders, which are only partially transformed to the new code version (like supporting scanned game elements in cave files).

I have also added a switch for the mentioned change of the teleporter to the engine and the editor now, which makes sure that all existing caves are always played as they were designed. Creators of newly created caves can choose freely which teleporter behavior they prefer, and the game engine will play the cave accordingly. This makes sure that all caves, old or new, are always played just as they were designed to be played.

I have also already added the "light boulder" game element, for those who like this game element. :)

I'm currently working on cave (set) information (like stories, descriptions and remarks) to be displayed correctly (before the game starts, and/or from the info screen menu), and I hope to be able to release an updated (4th) test version soon, which will then hopefully be the last pre-release version before finally releasing the new major release version with the shiny new BD game engine. :)
Agetian
Member
Posts: 88
Joined: Sun Sep 19, 2021 10:14 am

Re: Rocks'n'Diamonds with GDash game engine

Post by Agetian »

Awesome, great job thus far! 👍 Best of luck with finishing the project! Great effort!!

- Agetian
User avatar
LogicDeLuxe
Member
Posts: 650
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by LogicDeLuxe »

artsoft wrote: Tue Oct 08, 2024 6:24 pm According to the cave scan algorithm, it probably has to work that way -- Rockford enters the exit tile and wins the game, but is then (next tile to the right is handled) killed by the enemy (but has already won the game).
Exactly as on any C64 version. The win flag is set immediately when picking the outbox and nothing during the remainder of the scan can take it back. The win flag is only cleared when a cave is set up.

The cave scan shouldn't be interrupted when won. Although the game is already won, it is still possible to alter the score by collecting a diamond with another Rockfort, by a diamond falling onto a dummy if its collecting property is set, and also indirectly by collecting bonus time by another Rockford or by causing a time penalty.
User avatar
igormakovsky
Member
Posts: 32
Joined: Mon May 08, 2023 6:06 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by igormakovsky »

Been playing original Arno Dash levels and encountered a bug that makes it impossible to start a cave without dying:

This is the screencast of Arno Dash 02, 17th cave
https://igormakovsky.com/asmysl/arnodash-02-17.mp4

PS. Still waiting for new Bdash version patiently :oops:
— I.
artsoft
Member
Posts: 44
Joined: Tue Dec 09, 2014 8:26 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by artsoft »

Been playing original Arno Dash levels and encountered a bug that makes it impossible to start a cave without dying:
Thanks for reporting this problem! It is fixed now, and this cave is now playable! :)
PS. Still waiting for new Bdash version patiently :oops:
You are right -- it's really time for a new pre-release version (which hopefully will be the last one):
artsoft
Member
Posts: 44
Joined: Tue Dec 09, 2014 8:26 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by artsoft »

And here it is: I have just released the 4th (and hopefully last) test version of Rocks'n'Diamonds (version 4.4.0.0-test-4) with the new GDash engine improved even more, which contains the following additions and fixes:
  • added support for BDCFF game elements that were still missing
  • added support for tapes recorded with old or new GDash game engine
  • added color picker for selecting level specific colors for BD engine
  • added support for smooth movement using two-step directions in BD engine
  • added new game element “light rock” to native BD game engine
  • added level editor option for fixed or buggy BD style teleporter
  • added support for moving/pushing rock animations to BD engine
  • added support for BD game engine levels without time limit
  • added new (collectible) game element “rocket” to native BD game engine
  • added support for level specific information text messages from main menu
  • added support for optional level info (“story”) before starting the game
  • added showing full level and level set information for BDCFF levels
  • added setup option to show level info before game start (yes/no/once)
  • added setup option to save setup without “save and exit” menu entry
  • added missing editor graphics for some BD style game elements
  • added missing element descriptions for some BD style game elements
  • added using old BD engine for tapes from 4.4.0.0-test-3 and earlier
  • changed the BD engine to match the new GDash code at various places
  • changed allowing negative number of gems needed in level editor
  • changed graphics (and names) for BD style sand ball and loose sand
  • changed name of BD style “mega rock” to “heavy rock” (for “light rock”)
  • fixed clipping BD engine intermission levels in editor
  • fixed smooth animations for snapping in BD engine for non-black space
  • fixed using BD player pushing animation while stirring the pot
  • fixed using BD player pushing animation when moving to pushable tile
  • fixed broken BD player pushing animation when pushing an element
  • fixed graphical bug with snapping player drawn as moving into explosion
  • fixed bug with drawing diagonal player movement in BD engine
  • fixed use of smooth movement when elements are moving diagonally
  • fixed smooth movement for elements passing through slime in BD engine
  • fixed smooth movement for player pushing bladder (bubble) in BD engine
  • fixed showing number of BD diamonds needed if determined at run-time
  • fixed bug with handling player birth game elements before hatching
  • fixed smooth movement for elements in magic wall with no space below
  • fixed moving rock animations for BD engine when on conveyor belt
  • fixed pushing element from left side onto conveyor belt in BD engine
I have updated the download links in the first post of this thread accordingly.

I have also added a new version of the GDash level collection (version 0.9.4) to be played with the above version, which contains quite some changes (like game element name changes, and much more) and should be used to prevent broken graphics and other quirks.
User avatar
igormakovsky
Member
Posts: 32
Joined: Mon May 08, 2023 6:06 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by igormakovsky »

If I'd be Rockford, then I'd think I got to boulderdash heaven playing this new version! :D :D :D
— I.
Agetian
Member
Posts: 88
Joined: Sun Sep 19, 2021 10:14 am

Re: Rocks'n'Diamonds with GDash game engine

Post by Agetian »

Very nice job, grats on getting this pre-release out! Best of luck with finishing the final release! :)

- Agetian
artsoft
Member
Posts: 44
Joined: Tue Dec 09, 2014 8:26 pm
Contact:

Re: Rocks'n'Diamonds with GDash game engine

Post by artsoft »

OK, we're really getting nearer and nearer to the final release version. However, here's another test version of Rocks'n'Diamonds (version 4.4.0.0-test-5) with the new GDash engine, with a few more changes and fixes:
  • added editor graphics definitions for BD style firefly and butterfly
  • added support for (configurable) suicide key for BD game engine
  • added delayed game over if BD player can be re-created from effect
  • added color template bitmap functions to support color ranges
  • added sounds for BD style bubble when moving/pushing
  • added support for player dying sound for native BD engine
  • changed graphics for magic wall for native BD engine
  • changed graphics for BD style waiting rock when moving/pushing
  • fixed changing level colors before fading out game screen
  • fixed sound for BD style bubble changing to clock
  • fixed moving and pushing elements on conveyor belts in BD engine
  • fixed two crash bugs
I have updated the download links in the first post of this thread accordingly.

I have also added a new version of the GDash level collection (version 0.9.5) to be played with the above version, which again contains some changes (mainly fixed colors for the game element graphics in the level editor, and some fixed sounds) and should be used to prevent unexpected behavior, as always. I hope it's stable now.
Post Reply