Cave scanning order effects or "Safely touch fireflies!

Everything about the various Boulder Dash tools, and other stuff created by the fans.

Moderator: Admin

User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Cave scanning order effects or "Safely touch fireflies!

Post by Dustin »

Episode 0 - Intro and motivation

Arno's actual articles about "dancing fly formations" have inspired me to try and write something similar about the effects of the cave scanning order in BD. For example, I used to be afraid when I had to release a firefly surrounded only by dirt because I had to come so close to it that the danger of exploding was really high! Well, if you have similar issues with certain advanced BD caves, then this thread may help you, showing what the safest and the worst ways of releasing such a trapped firefly are! While touching a firefly without dying is perhaps the most striking effect of the cavescan order, it is by far not the only one, as we shall see!

However, I don't think that this thread will be as "scientificly precise" as Arno's DFF articles. I've never programmed a BD engine, nor have I read the code of one. So everything I'm writing down here will be based on my experience with BD and my logical conclusions on how the engine must work in order to give the effects it gives! Physicians like me have gotten very used to this experimental method... ;D Of course, this also means that sometimes I might be mistaken, so feel of course free to correct me if necessary!

Everything is based on the following
Basic Rule of BD cave scanning
In each frame, the elements in the cave are scanned first from left to right, then from top to bottom.
A "frame" is the shortest time unit - for example, Rockford needs one frame to move one step into any direction.
For example, in case of a 5x5 cave, the elements are scanned in the following order. from A to Y.
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
This order becomes relevant whenever two elements interact, which is quite often the case!

In episode 1, I'll try to figure out how each classical BD element works, i.e. what happens when it is scanned by the BD engine. Based on this, I will then move on to show several surprising effects you can get when playing BD and explain them with the cavescan ordering. I hope you'll enjoy this thread and perhaps also learn something! :)
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

Post by Arno »

Wow more research! Fantastic that you pick up another topic! :D
User avatar
shredder
Member
Posts: 13
Joined: Wed Mar 06, 2019 5:23 pm
Location: Poland

Post by shredder »

Great topic! Can't wait for more :)
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Thx Arno and Shredder! :) So here we go.

Episode 1 - cuddling with fireflies!
I switched plans - at first I wanted to start with "heavy theory" and only then move on to striking effects, but now I think it's more fun to do it vice versa - first see some unexpected results of the cave-scanning order and thereby see why this issue may be interesting at all! :D

Our first experiment is a quite "explosive" one.
Experiment 1 - run directly into a firefly!
DDDDD
DDDDD
RDFDD
DDDDD
DDDDD
D=Dirt, R=Rockford, F=Firefly
Move right in this scenario! What happens? Well...er...Rockford explodes. Wow. OK, admittedly this was rather stupid. However, there's one little thing to note - it's actually not Rockford who explodes, but the firefly! It's the firefly who is in the centre of the 3x3 explosion. Admittedly this doesn't help Rocky much here, but let's keep it in mind and move on to our next experiment, which looks only slightly less insane!

Experiment 2 - try to walk past a firefly!

The "!" stands for "looks stupid, doesn't it?" :D Let's see.
DDDDD
DRDDD
DDFDD
DDDDD
DDDDD
Move right! *BOOM*

DDDDD
DDDDD
DDFDD
DDDRD
DDDDD
Move left! *BOOM*
Have you actually tried it out? :D If you have, then a tiny difference between the last two scenarios might not have slipped your attention. What is it? Try out and see whether you get it!
OK, so here's the tiny difference. In the first scenario, the firefly {not Rockford, as we have already noted!} explodes immediately when you press right, while in the second scenario you see Rockford and the fly next to each other for a moment before the explosion happens. Still not too excited? OK, let's move on!

DDDDD
DDDDD
DDFDD
DRDDD
DDDDD
Move up!
...
...
What is that? Rockford survives!! He walks past the firefly as if it was his friend, not his enemy, and the fly is free and even moves away from Rocky in order not to frighten him too much :D This is by far the safest way to release a firefly that is surrounded by dirt! But how does it work? Let's see, and don't forget the basic rule from episode 0, we'll need it now!

Frame 0 - initial situation
In the scenario you can see above, the BD engine makes its usual cave-scanning. While scanning dirt is not very exciting, it becomes more interesting as soon as it comes to scanning the fly or Rockford.
1. The fly is scanned first. The engine checks whether it should explode. Rockfort does not {yet} directly touch the fly, so alright, no explosion. The engine also checks whether the fly will move, of course, but at the moment this is obviously not possible.
2. Second, Rockford is scanned and moves up because we want him to. Now Rockford is next to the fly, but the cave-scanning for this frame is already over, so still no explosion. Let's see what happens in the next frame!

Frame 1
DDDDD
DDDDD
DRFDD
DXDDD
DDDDD where X=empty space.
This looks dangerous, doesn't it? However...
1. Now Rockford is scanned first due to the cave-scanning order. The engine does note "uh-oh, there's a firefly next to you!" but remember? It's the firefly who explodes, not Rockford! So RF does not explode when he is scanned, and the engine asks the player what to do. We say "up", so Rockford keeps moving upwards!
2. Now it's the firefly's turn. It would explode now if Rockford was still next to it, but as RF has already moved away, there's no explosion! So the engine checks if the firefly moves. There's empty space to its left {where RF has just cleared the way} so there's a 50-50 chance whether the FF comes out immediately {this depends on the firefly's initial facing direction - let's ignore it for now and believe me it's 50-50}. Let's assume the "worst case scenario", i.e. the fly does come out immediately, which still looks threatening.

Frame 2
DDDDD
DRDDD
DFXDD
DXDDD
DDDDD
Probably you already got it - Rockford still does not die despite being next to the fly!
1. RF is scanned first and we continue moving up.
2. The FF is scanned when RF has already moved out of the way. So it does not explode but turns to its left and moves downwards, because this is how fireflies behave.

Frame 3
DRDDD
DXDDD
DXXDD
DFDDD
DDDDD
Clearly we're out of danger! Whoa! :D

Some notes to this scenario.
1. This method can be extended with as many fireflies as you like, for example
DDD
DFD
DFD
DFD
DFD
DFD
RDD
Just move upwards - RF survives!
2. If Rockford wants to release a butterfly instead of a firefly, it is more dangerous because in frame 2 above, the butterfly would not turn to its left but to its right and thereby chase Rockford, so he would still have to find a way to escape it.
3. Placing yourself to the firefly's lower-left corner and moving up is the only way to walk past a stationary firefly without dying. In any other case, there would be a frame where the firefly is scanned while Rockford is next to it, so it would explode. For example, let's reconsider the first two scenarios.
Scenario 1 - frame 0
DDDDD
DRDDD
DDFDD
DDDDD
DDDDD
when we move right.
1. The engine scans Rockford and he moves right.
2. The engine scans the firefly. Rockford is now directly above it, so it explodes. This explains why Rockford is killed immediately here, without even a frame to spare.
Scenario 2 - Frame 0
DDDDD
DDDDD
DDFDD
DDDRD
DDDDD
when we move left.
1. The FF is scanned and nothing happens.
2. Rocky is scanned and moves left. He is next to the fly now, but as the fly has already been scanned, Rockford at least survives this frame.
Frame 1
DDDDD
DDDDD
DDFDD
DDRXD
DDDDD
1. The firefly is scanned. It's next to Rockford, so that's it...
So in this scenario, Rockford has survived one frame but still had no chance to escape.

Now that we've figured out the best way to cuddle with a firefly, let's consider the case that this is not possible, e.g. in the following scenario.
DDDDD
DDDDD
DWFDD
DDDDD
DDDDD
W=Wall
How should you best release this firefly? In this case, snapping is the only method. For example, Rockford can move to the right of the firefly and snap left.
Frame 0
DDDDD
DDDDD
DWFDR
DDDDD
DDDDD
1. The fly is scanned, nothing happens.
2. Rockford is scanned. We snap left.
Frame 1
DDDDD
DDDDD
DWFXR
DDDDD
DDDDD
1. The fly is scanned first. It can move right and has a 50/50 chance again to do so. Let's consider it does, i.e. the worst-case scenario again.
2. RF is scanned. The FF is next to him, yet he doesn't explode, as we already know. But he has to move away immediately, or else he'll be crushed in the next frame.
So this is the "standard" method of releasing a firefly by snapping and immediately running away. It also works from almost any other position. However, there's one way you should not do it!

Experiment - how not to snap a fly free!
Frame 0

DDDDD
DDDRD
DWFDD
DDDDD
DDDDD
I claim that if you snap left in this scenario, there's a 50/50 chance that Rockford dies without a chance to escape!
And this is a perfect exercise for everyone who wants to check whether he/she has understood everything!

Exercise 1 - prove my claim by checking what happens in each frame in the above scenario!
Exercise 2 - So we've just seen the worst way to snap a firefly free - but there's also a best way! Let's consider this scenario again.
DDDDD
DDDDD
DWFDD
DDDDD
DDDDD
If you place Rockford in a specific point in this diagram and snap into a specific direction in frame 0, then you can even do nothing in frame 1 and only run away in frame 2 {even in the worst-case scenario that the FF comes out a.s.a.p.!} Where must Rockford be placed and in which direction must he snap?

Solutions in the next episode! Have fun! :D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

Post by Arno »

Very interesting episode, thx Dustin! More please! :D
User avatar
V-12/Tropyx
Member
Posts: 42
Joined: Tue May 29, 2012 7:32 am
Location: Poland
Contact:

Post by V-12/Tropyx »

Cool thread. Would be also cool to see some videos :)
Boulder Dash XII (1999) [own reverse engineering of BDI]
Boulder Dash 2000 (2000)
Fantasy Boulder Dash I (2001)
Zulder Dash (2009)
Power Dash (2012)
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Episode 2 - Solutions to the exercises and video references
First of all, thanks for the very positive feedback! :D
Could you solve the exercises? If so, you already have understood all the cavescan order basics!

Exercise 1
Here I asked you for a frame-by-frame analysis of the following situation.
DDDDD
DDDRD
DWFDD
DDDDD
DDDDD D=dirt, W=wall, F=firefly, R=Rockford
I claimed that if Rockford snaps left here to free the firefly, there's a 50/50 random chance that he'll explode without a chance to escape. Now let's see why! Again, keep the cavescanning order in mind - each frame, the cave is scanned first from left to right, then from top to bottom! See episode 0 for refreshment!
Frame 0
Situation see above.
1. Due to the cavescan order, our hero Rockford is scanned before the FF. So he does what we want him to do, that is, he snaps left.
2. Now it's the fireflies' turn. First, it checks whether it should explode - it does not, because Rockford does not touch him. The fly now has the possibility to move upwards, and as we've seen in the last episode, it has a 50/50 chance to do so immediately. Let's assume it does move, as this is obviously dangerous for us!

Frame 1
DDDDD
DDFRD
DWXDD
DDDDD
DDDDD x= empty space
1. Now, the firefly is scanned first. It checks whether it should explode, and does so because Rockford touches him. So that's it - Rockford has no chance to escape!

So the only chance for Rockford to survive is that he gets lucky and the firefly does not move immediately in frame 0. Anyway, that's the worst way to snap a firefly free because it depends on luck! Snapping from any other direction relative to the ffly does not require such luck if Rockford immediately runs away.

Exercise 2
I gave you this scenario...
DDDDD
DDDDD
DWFDD
DDDDD
DDDDD
...and asked you to place Rockford somewhere in the dirt, so that he can snap the firefly free, then even wait for one frame and still survive by 100% certainty!
And here's the solution. Rockford must be placed to the lower-left side of the fly and snap right. Here comes the frame-by-frame-analysis.
Frame 0 - initial situation
DDDDD
DDDDD
DWFDD
DRDDD
DDDDD
1. The firefly is scanned first. It has no reason to explode, and it can't move either, so nothing happens.
2. Now it's Rocky's turn, and he snaps right.

Frame 1
DDDDD
DDDDD
DWFDD
DRXDD
DDDDD
1. Again, the firefly is scanned before Rocky. It still has no reason to explode, but it can now move down. The chances are again 50/50 - let's assume it does move.
2. Now it's Rockford's turn. The firefly is now beside him, but as we've learned in the previous episode, Rockford does never explode when he touches a ffly - this only happens vice versa. So we're free to move or snap, but we do nothing.

Frame 2
DDDDD
DDDDD
DWXDD
DRFDD
DDDDD
1. Rockford is scanned first - luckily, because if the ffly was scanned in this scenario, it would of course explode. So Rockford now definitely has to move away, but then he can still escape!

So this way we snapped into the fireflies' area in frame 0, did nothing in frame 1 and still escaped the firefly!

Summary - how to release a firefly that is trapped from all sides?
1. The very safest way to do so is to place Rockford to the flies' lower-left side and move upwards three times in a row, as we've seen in ep.1. Of course, this assumes that there are no obstacles in the way.
2. The best way to snap a firefly free is again to place Rockford at its lower-left side and snap right, as we've just seen in exercise 2.
3. The absolutely worst way is to place Rockford at the flies' upper-right side and snap left, as we've seen in exercise 1. The attentive reader might have noted that compared with 2., the firefly and Rockford have switched places here!

Summary - what happens when Rockford / a firefly is scanned?
Whenever Rockford is scanned by the BD engine, he acts according to the player's input.
Whenever a firefly is scanned, the engine checks two things.
1. Should it explode? This is the case if Rockford - or a piece of amoeba - is next to the fly.
2. If not, should it move and if yes, in which direction?
To move, the firefly of course needs empty space next to it. We haven't yet discussed in detail under which conditions and in which direction the firefly actually does move, but for those who want to know this in more detail, I can highly recommend Arno's articles about Dancing Fly Formations, where the details of firefly movements play a central role!

Also, I should mention that the same element can never be scanned twice in the same frame, as you will probably already have noted! ;D

Video references
I've made a lot of small caves where the cavescan order plays a decisive role for the solution, and Arno has uploaded them on his YouTube channel - thanks Arno!

Caves 1-10
https://www.youtube.com/watch?v=l1k1UkszZTw&t=4s

Caves 11-20
https://www.youtube.com/watch?v=7-3oOxrxLD8

I want to explain all these caves by frame-by-frame analysis in future posts, but let's first have a look at the first five caves of video 1 and see what happens there!
Cave 1
The boulder must fall down to kill the firefly, but there's a growing wall trying to block the boulder's way. Rockford places himself two units below the boulder and snaps upwards, then the boulder falls down before the growing wall can block the way. Why does it work this way and only this way?
Cave 2, starting from 0:14
Rockford initially blocks a growing wall. If this wall would grow right, it would influence a firefly in such a way that it would kill the voodoo in the corner, which of course must not happen. When the firefly below Rockford forces our hero to move, he quickly moves up and down again before the growing wall can grow. How is this possible? And why can the two fireflies block the growing wall forever in the end?
Cave 3, starting from 0:34
At the left side, Rocky snaps down so the left boulder falls and frees the diamond, at the right side Rockford moves down and up again so that the right boulder falls and frees the diamond. Why does it work like this and only like this?
Cave 4 from 0:46
The solution shows the only way that Rockford can force the five-diamond-stack to fall in such a way that they come to lie in a row so the leftmost one can fall through the slime and free the exit. How does this work?
Cave 5 from 1:04
The cave looks symmetric, yet the solution is asymmetric and unique.
1. Only the right butterfly can be released without the growing wall blocking its cage.
2. Rockford touches the butterfly from above for several frames and survives.
3. Only via the left side, the butterfly can be lead into the lower half of the cave before the growing wall blocks it off.
4. Only via the right side, the boulder can fall down before the growing wall blocks it off.

So how does all of this work? It all has to do with the cavescanning order, which decides, if two BD elements try to move into the same space, which one is allowed first. In the next episode, I'll give detailed frame-by-frame explanations of these five caves, but perhaps you feel like trying to work it out by yourself before? :D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
zsom
Member
Posts: 84
Joined: Sat Apr 10, 2010 5:46 am

Post by zsom »

Good morning
I read your article with great interest.
Will it be continued?
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Hi zsom!
Thx for your interest! Well, I had a lack of motivation during the last weeks/months. But now that you requested, I think I'll continue it this weekend! :D
Cheers
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Episode 3 - Repetition and Cave 1 analysis

So, as it's been a while since my last post - I was a bit unmotivated - let me first repeat/ summarize the rules of cavescanning by the BD engine:

Rule #1: In each frame (=BD time unit), the engine scans the whole cave unit by unit, first from left to right, then from top to bottom. That's just the same order in which texts are written and read!

Rule #2: When the engine scans a BD element, it checks whether this element should now move/grow/explode according to how that specific element behaves.
I'll describe exactly how each BD element behaves during this and the following posts whenever we look at a new one.

Rule #3: An element is not scanned if it already moved/grew during the same frame. This prevents, for example, a firefly to move more than one step per frame.


Now, let's see how this works in some of the caves 1-10 (link to the YouTube video see above!):


Cave 1

What do we see?
The boulder must fall down to kill the firefly, but there's a growing wall trying to block the boulder's way. Rockford places himself two units below the boulder and snaps upwards, then the boulder falls down before the growing wall can block the way. Why does it work this way and only this way?

How does it work?
To understand this, I'll first give the behaviour of the involved BD elements when they're scanned by the BD engine:

Scanning dirt or empty space is not very thrilling - nothing happens and the cave scanner just moves on to the next unit according to rule #1 above.

When the engine scans a boulder, it checks basically if there's empty space below the boulder. If so, the boulder falls by one unit and thereby becomes a "falling boulder" which, unlike a "boulder", can kill flies and Rockford. If there's no empty space below the boulder, nothing happens.
(Remark: Of course, a boulder can also fall from another boulder or a diamond, but as this is not relevant for our cave 1, I'll skip this for now.)

When a horizontally growing wallis scanned, the engine checks whether there's empty space to its left and/or right side and if so, the wall grows accordingly. If the wall can't grow, nothing happens.

When Rockford is scanned, he acts according to the player's input.

So, back to the cave. Let's first analyse the obvious try. Rockford places himself below the boulder and then moves away. Will the boulder fall? Let's see by a frame-by-frame analysis:

Frame 0
DDDDD
DDBDD
DDRGD
DDDDD
D=Dirt or perhaps empty space, after all Rockford must have digged some dirt to get below the boulder ;D
R=Rockford
B=Boulder
G=Growing Wall.
That's where it becomes interesting. Rockford has just moved below the boulder and will now go away. What happens? Let's see, following rule #1 above.
1. Beside the unimportant dirt/space, the first element to be scanned is the boulder. It cannot fall down yet because Rockford is still blocking the way, so nothing happens.
2. Next, it's Rockford's turn. As we said, we want to move away, let's say to the left.
3. Now the G-wall. Can it grow? Yes! Rockford has just moved out of the way, so there's empty space to the left of the G-wall, and it immediately grows there.
So what do we have now?

Frame 1
DDDDD
DDBDD
DRGGD
DDDDD
Hm, that's bad. The boulder is now blocked by the G-wall and cannot fall down anymore. So that's why this strategy fails!

The correct strategy
Rockford places himself two units below the boulder, like this:

Frame 0:
DDDDD
DDBDD
DDDGD
DDRDD
What happens now?
1. First, it's the boulder's turn again to be scanned. It cannot fall, so nothing happens.
2. Next, it's the G-wall. It cannot grow either.
3. Finally, Rockford. Moving upwards would lead to the failure situation above, but what if we snap upwards? Let's see:

Frame 1:
DDDDD
DDBDD
DDSGD
DDRDD S = empty space.
The cavescanner starts newly:
1. According to rule #1, first comes the boulder again. Ah! There's empty space below it! So it falls down and becomes a falling boulder.
2. The falling boulder would now be scanned again - and thereby kill our hero! - if it wasn't for rule #3 above, which forbids exactly that. That was close! :D
3. It's the G-wall's turn. It can NOT grwo here because there's a falling boulder to its left! So nothing happens!
4. Finally, Rockford again. We should quickly move out of the boulder's way, let's say to the left.

Frame 2
DDDDD
DDSDD
DDBGD
DRSDD
We did it! The boulder has just magically passed the G-wall and will now fall down further so it can kill the firefly and the cave is solved.

So that's why cave 1 can only be solved the way you see in the video! Excited? Then more of this stuff will follow soon! And this time, really soon! :D
Last edited by Dustin on Sat May 23, 2020 9:41 pm, edited 1 time in total.
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
Arno
Site Admin
Posts: 2826
Joined: Sat Mar 17, 2007 2:26 pm
Location: netherlands
Contact:

Post by Arno »

Thx Dustin! Even though I knew this trick already, it was still very pleasant and interesting for me to read such a full explanation based on the BD mechanics! :D
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Thx Arno! ;D

Episode 4 - Cave 2 analysis

Here's once again the link to the YouTube video I'm referring to, so you needn't scroll up:
https://www.youtube.com/watch?v=l1k1UkszZTw&t=4s

Cave 2, starting from 0:14

What do we see?
Rockford initially blocks a growing wall. If this wall would grow right, it would influence a firefly in such a way that it would kill the voodoo in the corner, which of course must not happen. When the firefly below Rockford forces our hero to move, he quickly moves up and down again before the growing wall can grow. How is this possible? And why can the two fireflies block the growing wall forever in the end?

How does it work? Part 1/2
How can Rockford move away from the G-Wall in a way that it doesn't grow? Let's make an interactive exercise out of it! Here's the initial situation:
Frame 0
TSSS
TGRS
TSSS
T=Titanium wall/ cave border
S= empty space
R=Rockford
G=Growing Wall
In the cave, there's also a voodoo in the upper left corner and a firefly below Rockford, but they're not relevant for this analysis. Rockford will now move up and then in the next frame immediately move down again. If you read the previous episode carefully, you'll now be able to do a frame-by-frame analysis yourself and figure out why the growing wall doesn't grow! Try it if you like! :D

How does it work - Part 2/2
Now let's switch our attention to the end of the cave. There we see two spinning fireflies - Arno calls this a vortex in his DFF articles, so I'll also use this word for it - and this vortex stops the growing wall forever, even though there are visibly frames where the vortex does not block the growing wall. How is that? Let's do this frame-by-frame analysis together again:

Frame 0
TSSSS
TSSFS
TGFSS
TSSSS
F=Firefly
This is a slightly simplified version - in the actual cave, the growing wall has already grown bigger, but again, this is irrelevant for the following analysis.
The cave is scanned, as always, according to rule #1:
1. Scanning titanium walls or empty space changes nothing, so the first relevant element to be scanned here is the top firefly. It moves one unit to the left and thereby keeps spinning in a 2x2 area together with the other firefly.
2. Now it's the G-wall's turn. As it is still blocked by the bottom firefly, it cannot grow, so nothing happens.
3. Finally, the bottom firefly itself. It will move right and thereby also keep spinning in its 2x2 area.
Remark: As I haven't clearly said it before - all this happens simultaneousely within one frame! The ordering happens, so to say, only inside the BD engine and is not visible for us!

Frame 1
TSSSS
TSFSS
TGSFS
TSSSS
The cavescan restarts:
1. The top firefly is first. It moves down to keep spinning.
2. Now the G-wall, and here it becomes interesting. From the picture, it seems that the G-wall can grow. But! In the previous step 1, the top firefly has just moved in the G-wall's way! So the G-wall is actually blocked by that fly and can NOT grow!
3. Finally, the bottom firefly. It moves up.

Frame 2
TSSSS
TSSFS
TGFSS
TSSSS
That's actually copy-and-pasted from frame 0 above - it's the same picture again! The fireflies have switched positions, but this doesn't matter. So the situations given above repeat eternally and the G-wall can never grow!!
Whoa! I was astonished when I saw this for the first time - fantastic, isn't it? :D

What has happened here? In frame 0, the G-wall was scanned before the bottom firefly could move out of the way, and then in frame 1 the G-wall was scanned after the top firefly has come to block it! That's a pattern we will see more often here!
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
zsom
Member
Posts: 84
Joined: Sat Apr 10, 2010 5:46 am

Post by zsom »

Hey
Thank you very much for continuing this topic.
Although I have been playing Boulderdash for almost 25 years, I sometimes found these tricks in the game.
But I didn't delve into it.
Now I see that learning this principle is the basis of Boulderdash.

I am asking for more tricks that the game offers.
On the video I really liked the trick of amoeba when Rockford blocks it without stones.

greetings
zsom
Member
Posts: 84
Joined: Sat Apr 10, 2010 5:46 am

Post by zsom »

Hello
Dustin, have you thought about spending all your "Cave Scanning Order" 1-10, 11-20 and 21-30 under the Gdash engine?
On the internet I found 30 such caves made by you.
Very good job.

Please :)
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

Hi zsom,
my latest GDash release "Dustin's Boulder Dash 13", is downloadable on the Game Base. Here, cave O is a compilation of some of the cave scanning order tricks.
You can also find the solution video of this cave on Arno's YouTube channel:
https://www.youtube.com/watch?v=DLXDvgsTpAE

Have you thought about joining Krissz's Boulder Dash site? That's where all the caves on Arno's YouTube channel were designed. You can find the infos in the thread in "Games: Remakes" here on this site. On Krissz's site, you could also still play all my "cave scanning order" puzzles 1-34 - yes, meanwhile I've made four more of them ;D

Otherwise - you're right, I could really think about making GDash versions of each cave. I could then send the caveset to you via email and also for me, it'd be a nice, compact compilation ;D I could pm you when it's done - it may take some weeks. Yeah, I really like the idea! ;D

And yes, there're always new things to discover in Boulder Dash - I've been playing it from my childhood and still - cavescanning order tricks, dancing fly formations... it never grows old! ;D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
Post Reply