Episode 4 - CSO effects with movements
So let's start the systematic investigation of CSO effects!
Chapter I - 2-element CSO effects over 1 frame
We will start our investigation with these two simplifications, so the CSO
effects discussed in this chapter are the "building stones" for more complex
ones (most CSO effects that can be seen in caves have more than 2 active
elements included and last for longer than just one frame.)
Definition of 2-element and 1-frame CSO effects: A given map M
includes two active BD elements A and B, where A is scanned before B. The
resulting map for the next frame is N. However, if B was scanned before A
while not changing the scanning order of any other active element in the map,
there would be a different resulting map N', which I call the inverted map.
We discuss the CSO effects with pictures showing the maps M, N and N'. As
an example, these would be the pictures of the two CSO effects we already
saw in episode 1:
The green and red line shall highlight which map is the real resulting map for
the next frame. As stated above, the inverted map N' is always different from
the resulting map N. For a striking CSO effect in a cave, it should be the case
that the cave was unsolvable if N' was the real resulting map, so that the CSO
effect is strictly necessary for the cave to work.
For example, how could caves be built around the two above CSO effects?
In the first picture, it's interesting to note that from map N, Rockford is
scanned before the gwall and can therefore move down again before the gwall
blocks him off! So we could think of a cave where Rockford needs to move
away from beside the gwall and then immediately back again. This is, for
example, implemented in the following cave (which I analyzed in detail in the
other CSO thread):
https://www.youtube.com/watch?v=l1k1UkszZTw&t=156s
starting from 0:17.
In the second picture, we could, for example, imagine a cave where the
butterfly would quickly kill a voodoo if it came out first.
I decided to categorize the material in terms of the type of action the involved
elements do. Moving (or growing) is the action that most active BD elements
can do, so we'll start with CSO effects where only movements play a role
(such as the above two CSO effects):
Sub-chapter I.1: Movements
First, let's see which elements can move and under which conditions they do
so:
Matters are simplest with the above four elements, which just move or grow
into the marked directions is possible. (However, I learned from LogicDeLuxe
that the gwall can't grow into both directions simultaneousely with the
BD2/PLCK engines, which might be a very nice detail for future episodes!)
Fire- and butterflies with a given facing direction can move into two different
directions and prefer turning left (firefly) / right (butterfly) over moving
forward.
Amoebas grow randomly into dirt or space, but as I prefer deterministic CSO
effects which don't rely on luck, I don't want to use the amoeba in this
chapter. (However, later on we'll of course see CSO effects that only the
amoeba can do.)
Rockford is the only character who can move into diamonds, but as we've
already excluded the amoeba for this sub-chapter, he's also the only one who
can move into dirt which makes him somewhat special.
We're going to divide the movement-related CSO effects into 2+1 categories.
Sub-subchapter I.1a): Movement competition
Definition:The initial map M includes two elements A<B ("<" means
from now on "is scanned before") which both try to move into the same
space. A wins and moves, while B is blocked off rests (or, in case of a fly, it
could still move into its second-priority direction).
Examples:
Left: A=boulder, B=firefly. The boulder blocks the fly off, which could, for
example, become important if there was a voodoo somewhere at the right
side which the firefly must not touch.
Middle: A=gwall, B=Rockford
The gwall blocks Rockford off, which could be used for a failure scenario.
Right: A= firefly, B=butterfly. Note that I made a mistake here - in the
inverted map N', there should of course be a bfly in the middle instead of the
bottom firefly.
I know that some of the cave ideas I give here sound quite vague so far. This
is just because in chapter I, we're just discussing the "building stones" for
more complex CSO effects which we will see in chapter II!
Sub-subchapter I.1b): Movement dependance
Definition (Type +): The initial map M includes two elements A<B. B
tries to move into A, so it depends on A moving away first. Luckily for B, A
does move away so B can immediately fill the gap A left behind.
Examples:
Left: A=boulder, B=Rockford
Rockford moves "into" the boulder. This can actually be used in BD1-cave I, if
Rockford wants to switch sides from right to left while the boulders and
diamonds are falling (see next picture)!
Middle: A=firefly, B=butterfly
Right: A=Rockford, B=gwall
The gwall immediately fills the gap that Rockford left behind, which means
that nothing can be "smuggled" through that gap!
The following picture shows the aforementioned scenario which might occur in
BD1-I or similar caves:
[/b]
If the player presses "left" here, Rockford can immediately move "into the
boulder", which means he's in time to escape the next boulder before it would
crush him!
Definition (type -): The initial map M includes two elements A<B. A
tries to move into B and thereby depends on B moving away first. B is indeed
ready to move away, but as A<B, A still cannot move (into B) immediately.
Examples:
[/b]
Left: A=boulder, B=Rockford
This example is very common not only for CSO fans!
If Rockford moves
under a boulder and then down, the boulder won't follow him immediately but
with a 1-space gap. This is actually a CSO effect!
Middle: A=gwall, B=Rockford
The counter-example of the right part of the "type +" picture. If Rockford has
a gwall on his left side and moves, the gwall cannot immediately follow him,
which means that here it's possible to "smuggle" a third element through
before it's blocked!
Right: A=boulder, B=firefly
Negative dependance is also the reason why Rockford can not switch sides
from left to right in the aforementioned BD1-cave I scenario!
Sub-subchapter I.1c): A special case - boulders/dias falling sideways
The attentive reader will have noted that so far, I (almost) excluded the
possibility that boulders fall sideways from other boulders, diamonds or brick
walls. This is because they deserve a special consideration as they have two
unique properties:
1. A boulder/diamond falling sideways needs empty space not only where it
wants to move, but also below that place (see the dots in the picture!).
2. Also, it needs a boulder, diamond or brick wall as an "underlay" below it.
This means two more detections than usual for the movement! This allows
two special types of movement-based CSO effects, as shown in the following
pictures:
The first one is a striking one: The boulder detects space to its right/left and
bottom-right/bottom-left side, so it moves right/left, intending to fall down
into the other empty space next frame. But simultaneousely, the bottom
space is blocked by another element, so the boulder cannot fall down next
frame. If only the boulder had known that before, it would never have started
moving!
Left: A firefly blocks the boulder, which means it is crushed next frame. (This
happens due to a slightly strange BD engine rule: when the boulder moves
right, it's already given the "falling"state though it hasn't really fallen yet!)
Right: A very funny effect with a gwall: the boulder just moved right, as if it
was pushed by a ghost! Thereby, it has moved away from the left border so
Rockford could now push it on to the right!
The next picture shows the other special CSO effect with boulders/dias falling
sideways:
This looks less spectacular, but it's still a CSO effect: The diamond falls
sideways from the boulder, which moves away in the same frame. Had the
boulder been scanned first, the diamond would no longer have its "underlay"
and wouldn't have acted the same way.
So that's it for the purely movement-based 2-element CSO effects! While
writing this, I got an idea for a new CSO cave, which I want to try out
immediately
See you in the next episode, where explosions will be the
main theme!
EDIT: Logic, I just noted that I had overlooked one of your posts, I'll answer it soon!