# .font: font.text_2
2021-09-10 17:05 DarkStoorM  
# .font: font.text_1
The CKit doesn't want to cooperate with me on this one, gotta find a clue in a different way :D

# .font: font.text_2
2021-09-10 18:56 dustin  
# .font: font.text_1
i've taken this into account. the ckit can be helpful, but it won't tell you everything ;)

# .font: font.text_2
2021-09-10 21:45 nesdori  
# .font: font.text_1
clever! 365 mod 73 = 0 and 364 mod 13 = 0 :) also very cleverly designed because if i checked correctly, there's only one solution. ckit's new slime feature can indeed be helpful but you have to warp the spacetime :)

# .font: font.text_2
2021-09-10 22:41 dustin  
# .font: font.text_1
congrat,  nesdori ! to be honest, i didn't expect a solution on the first day! :d  
  
yes, 365 is the smallest slime number with the property that 1. there are impermeable slimes and 2. if you blast one slime, there are again impermeable slimes :d the number 365 is such a coincidence that my first idea was to make a kind of calendar where each slime represents one day of the year :d  
  
the intended solution is indeed unique!  
  
speaking of wrapping the timespace, i've recently seen a riddle which i like so much that i'm currently giving it to everyone who can't escape quick enough :d  
  
the riddle goes (it's got nothing to do with the cave):  
i'm the beginning of the end  
and the start of eternity.  
i'm the end of time and space.  
you can find me in yesterday,  
but nowhere in tomorrow.  
what am i?

# .font: font.text_2
2021-09-11 10:03 nesdori  
# .font: font.text_1
 dustin , ehh.. err.. exciting enigma to start with! :)

# .font: font.text_2
2021-09-11 13:08 dustin  
# .font: font.text_1
:d

# .font: font.text_2
2021-09-11 21:25 Arno  
# .font: font.text_1
just some thoughts:  
  
(don't read this if you are still puzzling, it may contain spoilers...)  
  
it matters whether the slime is destroyed from the left side or the right side, isn't it?  
  
when destroyed from the right side, the piece of slime is still scanned in the particular frame of the explosion, just before the enigne replaced it by "exlosion". in this case, the rng for next frame starts with a draw number which is still "the first modulo 365", like at the cave-start, so then, the solution could be found in the ckit, by just trying to remove each piece of slime and check wheter the remaining slimes below diamonds all become marked green/permeable.  
  
but since this is not the case (well, it seems so, unless i've missed something...), the slime must be destroyed from the left side. in this case, the frame of the explosion counts only 364 draws, so the last draw from the series of 365 will be used for the next frame. so, in order to simulate the behaviour after the explosion in the ckit, one must first remove the top-left slime, add an extra slime at the bottom-right, and then try remove each slime one by one...  
  
so far is this analysis correct?

# .font: font.text_2
2021-09-11 21:49 nesdori  
# .font: font.text_1
 Arno , the solution can be achieved by scanning the slime before or after the explosion. the difference is that if the slime is scanned before the explosion you have to explode it one frame earlier than if the slime is not scanned before the explosion. the result is same so you can explode the slime in whatever way you want. the problem is correct timing and of course exploding the correct slime :). this puzzle can be fully solved in ckit but like i said earlier: you have to warp the spacetime by adding some (slime) mass :)

# .font: font.text_2
2021-09-11 23:51 dustin  
# .font: font.text_1
 Arno , as i get it,  nesdori  mentioned something that you haven't focussed on yet, namely the fact that the timing is important!   
  
you can easily see that if you blast the same slime at the same place twice with different timings (let's say you delay the way for the firefly once). both attempts should give you different results in terms of which \\\ pass through.  
  
the rng has 73*13=949 different states.   
now normally, if the amount of slimes in the cave is neither a multiple of 73 nor of 13, each slime runs through every possible state during 949 frames. but if the amount of slime is a multiple of 73, then each slime will only run through 13 different states, and vice versa.   
  
as  nesdori  pointed out, it does make a difference from where you blast the slime, but this actually plays a subordinate role. you can solve the cave with both strategies.  
  
hope we lead you into the right direction without giving away everything ;)

# .font: font.text_2
2021-09-12 02:06 DarkStoorM  
# .font: font.text_1
I'm not sure, but brute forcing the solution might be extremely hard, because crushing the fly at the same spot with different delays actually does yield different results... or maybe I'm seeing things? :D  
  
I forced the slime destruction with Rockford on some random piece of slime in the following setup:  
  
RF.  
.S.  
...  
  
R - Rockford, f -  Fly, S - Slime  
  
I tried 1 frame delay, 2, 3 and 4, each run was different!

# .font: font.text_2
2021-09-12 09:02 nesdori  
# .font: font.text_1
 darkstoorm , understanding the rng and slimes math is the key to solve this cave. like  dustin  said, if the "number of slimes mod 73 = 0" like the case is with initial 365 slimes, the slimes will be checked with 13 different values until the cycle is repeated. this is because any (n * 73) * 13 is of course divisible by 949 (73 * 13). so, if you just randomly try to explode the correct slime, there's is 1/13 chance to solve this cave. although there are 13 timings to check, those checks can be done with ckit without actually playing this cave at all. and you don't have to check each slime separately; once you have set up the correct timing in ckit, you can clearly see the target slime. but how can you simulate differect timings in ckit? that's another problem: i would start by cloning this cave, setting the size to 100*100 to and shifting the actual cave in the middle. now there's a bigger slime universe where timespace warping can be done more easily :)

# .font: font.text_2
2021-09-12 11:03 nesdori  
# .font: font.text_1
now that i thought of it; i'm not sure what is  dustin 's intended way to solve this cave. although i prefer pure ckit-approach because it's more mathematical approach this cave can also be solved by playing the cave 13 times with a clear plan. you just have to make precise observations after each try :)

# .font: font.text_2
2021-09-12 12:39 DarkStoorM  
# .font: font.text_1
The amount of empty space the fly has is also not a coincidence, right? 12 + 1 for the turn? :)

# .font: font.text_2
2021-09-12 12:44 nesdori  
# .font: font.text_1
 darkstoorm , i'm not sure about that too if it's just coinsidence or intentionmal. the amount of space really doesn't matter but maybe  dustin  used it in his preliminary tests and just left it :)

# .font: font.text_2
2021-09-12 12:48 nesdori  
# .font: font.text_1
 darkstoorm , actually; i think it's intentional :D

# .font: font.text_2
2021-09-12 17:32 Arno  
# .font: font.text_1
i'm diving into this rng again and i have one question:  
  
what is the initial seed value at  krissz ' site for the rng of the slime behaviour?  
  
is it zero (0)?

# .font: font.text_2
2021-09-12 17:56 nesdori  
# .font: font.text_1
 Arno , IT'S 30 ($1e). c64 bd ckit uses the same initial seed.

# .font: font.text_2
2021-09-12 18:58 dustin  
# .font: font.text_1
the period length of the firefly (26=2*13) is indeed intentional. it's not strictly necessary, but it means that the timing does not depend on how many times the fly moves back and forth before you release it. it's just to subtract one practical difficulty from the cave, as there are enough theoretical ones ;)

# .font: font.text_2
2021-09-12 19:35 dustin  
# .font: font.text_1
s u m m a r y of the relevant facts we have discussed so far:  
  
1. the slime rng has a period length of 949=73*13. this means that if the amount of slime in a cave is a multiple of 73 or 13, then there will be impermeable slimes among them. (note that every slime gets a new number every frame, no matter if it carries a diamond or not!) the number decides on whether the particular slime is permeable in this particular frame or not.  
  
2. at the start, this cave has 365 slimes (5*73). every \ which does not fall through within the first 13 frames (2 seconds) will never do. this is true as long as there are 365 slimes in the cave, so the solution must be to destroy a slime.  
  
3. after destroying a slime, there are 364 slimes left, which is a multiple of 13. so again, there will be impermeable slimes! so it must be done in a way that n o n e of the slimes which carry a \ is impermeable.  
  
4. the timing is also relevant. as each of the 365 initial slimes gets 13 different numbers from the rng, there are 13 different timings in which each slime can be destroyed to get a different result.  
  
5. so all in all, as there are 320 relevant slimes in the cave (or let's say 320-48=272 if we subtract the slimes which carry a \), there are 272*13=3536 possible solutions. only one of them will make all \\\ fall through!  
  
6. of course, the idea is not to try them all out! instead, the new ckit function "show all impermeable slimes" can be very helpful. if you semi-clone the cave, use this function and take, for example, the last slime away, it'll show you which of the remaining slimes will be permeable afterwars. this picture will only slightly change if you take away another slime instead.  
  
7. now the picture of permeable and impermeable slimes doesn't really fit with your needs, i.e. you don't even get close to having all diamonds being above permeable slimes!   
why is this the case? it's the timing again. the ckit shows you which slimes are permeable if the cave s t a r t s with the given amount of slimes. this is only one of 13 different timings (and "of course" it's not the correct one :d)  
  
open question:  
in what way does a different timing affect the permeable/impermeable slimes as shown in the ckit? once you figure this out, you come a big step closer to the solution! don't think too complicated, the c64 rng was a very simple and l i n e a r one! :d  
  
another little hint: the slimes are counted by the rng in cavescanning order, i.e. row-by-row, each row from left to right. don't forget to count every slime including the "slime" letters!

# .font: font.text_2
2021-09-12 19:57 Arno  
# .font: font.text_1
 nesdori , thanks!   
  
just an observation:  
  
i see that with seed 30, there are first 26 initial draws before the series enters the 949-cycle.  
  
this is relevant for a cave like this, right?   
for the first 26 slimes in this cave, it is possible that they already swallow the diamond during the first frame, while they wouldn't do anymore after the rng has entered the 949-cycle...  
  
i guess  dustin  has taken this into account as well when designing the cave?

# .font: font.text_2
2021-09-12 21:32 nesdori  
# .font: font.text_1
 Arno , the values before the cycle aren't as relevant as you might think of in these kind of puzzles. with permeability 7 there's no difference because there aren't any values with 7 highest bits set to 0 either in pre-cycle values or among the last 26 values of the cycle which will replace pre-cycle values during following frames. and even if some other permeability is used where there might be difference it won't really matter in this particular puzzle. 26 first slimes will get two opportunies to LET AN OBJECT FALL but the puzzle designer just sees that AN OBJECT will fall with INITIAL 365 slime setup and techinically it doesn't matter if it fall during pre- or cycle period. but there might be a clever way to INTENTIONALLY use prevalues in some other CAVES.. :)

# .font: font.text_2
2021-09-12 21:32 dustin  
# .font: font.text_1
 Arno , ah no, i actually didn't ;) i wasn't checking whether the starting value is already part of the 949 cycle or not.   
however, it should not make a difference here, because it affects only the first frame.

# .font: font.text_2
2021-09-12 22:18 nesdori  
# .font: font.text_1
according to  dustin 's summary his intended way to solve this cave is different from both of my methods :D

# .font: font.text_2
2021-09-12 22:38 dustin  
# .font: font.text_1
slightly, yes. but i like your timespace wrapping method, which is visually very satisfying because you can clearly see a permeable slime under every diamond (except for those which already slipped through before the slime was exploded). :d

# .font: font.text_2
2021-09-12 22:43 nesdori  
# .font: font.text_1
 dustin , ahh! so you tried it :D i also like the visuality; it's very apparent which slime should be eliminateD :)

# .font: font.text_2
2021-09-12 23:10 dustin  
# .font: font.text_1
 nesdori , i only tried it after reading your comment ;)

# .font: font.text_2
2021-09-12 23:27 nesdori  
# .font: font.text_1
 dustin : here another puzzle for you (and for all other players still trying to solve this). it's possible to solve this cave without new ckit slime feature at all. you are allowed to clone the cave and modify it and then play the modified cave 13 times. after that you should be able to say with certainty that what timing is correct and which slime should be exploded. the method should not only work with this setup but it should also work if the slime in question is the first or last one or any between. so.. what to do? :)

# .font: font.text_2
2021-09-13 11:48 Arno  
# .font: font.text_1
i've found the correct slime using the timespace wrapping method!  
  
very enjoyable puzzle! great work  dustin ! :-D

# .font: font.text_2
2021-09-13 12:53 DarkStoorM  
# .font: font.text_1
I decided to go with "trial and error", I thought I had it, because with certain timing I ended up having only two impermeable slimes. I will experiment with CKit A BIT LATER :D

# .font: font.text_2
2021-09-13 20:09 dustin  
# .font: font.text_1
 Arno  and  krissz : congrat! :d  
 Arno : thanks for the flowers :)  
 darkstoorm : you're very close to the solution! all you have to do now is change the state of these two slimes. i'm quite sure that your two problem slimes are very close to your target slime (in order of cavescanning). so what can yu possible do to change the state of these two slimes without changing the state of all the other slimes?  
  
 nesdori : actually i started to make this cave before the ckit feature even existed :d i just made a cave with 949 slimes, checked which ones are impermeable, and had all the necessary information to make the cave :d but your idea is different; i'll think about it :)

# .font: font.text_2
2021-09-13 21:51 DarkStoorM  
# .font: font.text_1
 dustin , those two slimes are actually in the same row as my target slime, I have no idea anymore :D  
I don't know anything about the slimes math so I can't make anything out of the given clues, and I think  nesdori  has told almost everything that has to be done :D  
  
My target slime was col:13;row:10, but I don't think it's this one, it might be a slime next to it, no idea how to find this out :D

# .font: font.text_2
2021-09-13 22:32 nesdori  
# .font: font.text_1
 darkstoorm , you are very close! you should just adjust your crosshair to the direction of the impermeable slimes. and by direction i mean linear scanning direction :)

# .font: font.text_2
2021-09-14 00:06 dustin  
# .font: font.text_1
 darkstoorm , well if you want those two slimes to change their state, then just move your target past those two slimes!  
  
you don't need to know anything specific about the math.

# .font: font.text_2
2021-09-14 00:44 DarkStoorM  
# .font: font.text_1
Oh my God! It would be impossible for me to figure this out :D  
  
I had to exhaust all the clues!

# .font: font.text_2
2021-09-14 01:08 dustin  
# .font: font.text_1
congrat  darkstoorm  and thanks for testing my new high-security lock! i'll go and sell it to the highest-bidding bank tomorrow! :d

# .font: font.text_2
2021-09-14 02:23 dustin  
# .font: font.text_1
 nesdori , i think i solved your extra puzzle ;)

# .font: font.text_2
2021-09-14 08:47 Arno  
# .font: font.text_1
congrat  darkstoorm ! now time to reveal i guess...

# .font: font.text_2
2021-09-14 08:55 nesdori  
# .font: font.text_1
 dustin , ok, let's compare our methods :) this is how i would have solved this puzzle without ckit slime checker:  
  
if you explode the last slime of the cave with correct timing the effect you will see is that during the next 73 frames, slimes scanned before the target slime will drop \:s and slimes after target may or may not drop \:s. if the target slime is one of the first slimes you really reliable can't say which timing is correct by trying all 13 of them. because the target slime consumes one rng value, the slimes just before the slimes with \:s on top of them and which are scanned after the target slime become permeable during the next 73 frames. because most of them don't have nothing to pass through we just don't see it. it we would, it would help us to confirm that the timing is correct. so let's fix it by cloning the cave and by adding \ (or |) to the top of each slime preceding a original \ slime and also make space below them. if the preceding slime already has a \ or it's part of the "slime" text then just skip it. now if we try playing the modified cave and again explode the last slime with all 13 timings, one of timing will produce a result where one of \:s from each \-pairs will fall. in pairs scanned before the target slime, the right side \ will fall and after the target, the left side \ will fall. NOW IT'S trivial TO SPOT THE TARGET SLIME AND CONFIRM THAT THE TIMING INDEED IS CORRECT :)

# .font: font.text_2
2021-09-14 12:45 nesdori  
# .font: font.text_1
 darkstoorm , if you are interested to know the more theoretical solution to this using ckit slime checker here's how i did it.  Arno  and  dustin  also did something similar but i'm not sure if they did it in exactly same way.  krissz 's method is still a mystery :)  
  
so, to test each timing with slime checker you need to setup a offset for rng value cycle. because the cave initially has 365 slimes, the offset for each 13 timings is n * 365 where n = 0-12. because the cycle length is 949, offsets bigger than 949 can be divided by 949 and just take the modulo. you need to "pad" the cave putting this many slimes before the actual cave field. i did it by setting the cave size to 100*100 and shifting the actual cave in the middle so that there's is space for both pre-pad and post-pad.  
  
pre-pad values (n * 365) mod 949) for each timing are:  
  
0: 0  
1: 365  
2: 730  
3: 146  
4: 511  
5: 876  
6: 292  
7: 657  
8: 73  
9: 438  
10: 803  
11: 219  
12: 584  
  
when one slime is exploded from the actual cave, we end up with 364 slimes. this is the amount of slimes we should use in ckit slime checker. but because of the pre-pad slimes, there will be more slimes than that. therefore we need to fix the rng cycle sync. we can do it by adding post-pad in such way that the total number of slimes is 949 + 364 instead of just 364. one full round of rng cycle values is consumed on padding slimes so the actual cave slimes get exactly the same rng values like they will if there would be only 364 slimes.  
so the post-pad amount for each timing is 949 + 364 - prepad - 365 = 948 - prepad. notice that any slime is not removed from the actual cave yet. but the postpad amount is decremented by one to "virtually" remove one slime so that the effective number of slimes is 364. it's basically the same as removing the last slime from the actual cave slimes.  
  
here's the post-pad table:  
  
0: 948  
1: 583  
2: 218  
3: 802  
4: 437  
5: 72  
6: 656  
7: 291  
8: 875  
9: 510  
10: 145  
11: 729  
12: 364  
  
so you should put "post-pad" number of slimes after the actual cave. after doing both pre-pad and post-pad, the slime checker feature should work and you can check each timing. timing 0 paddings are actually not necessary because the pre-offset is 0. you can achieve the same by just removing the last slime and not doing padding at all. so timing 0 is what you get if you just clone the cave and remove one slime and use the slime checker.  
to save time, i'll reveal that the correct timing is 6. try it out and you'll see what beautiful visuality we are talking about which reveals the correct target slime :)

# .font: font.text_2
2021-09-14 13:13 DarkStoorM  
# .font: font.text_1
Thanks  nesdori ! That was the "adding slime mass" part I did not understand :D I will definitely try that out later

# .font: font.text_2
2021-09-14 21:35 dustin  
# .font: font.text_1
so here's how i made the cave (and, accordingly, how i thought it could be solved with enough knowledge of the rng):  
  
1. semi-clone the cave and show impermeable slimes.  
  
2. remove one slime (for example, the bottom-right one) so as to simulate the situation after destroying one slime.  
  
3. now, unfortunately, there's a weird mix of permeable and impermeable slimes among the important ones (which carry a \). however - and this might be the trickiest part - there's a pattern: the sixth-next slime after a \-carrying slime is always permeable!  
  
4.to clarify this, it's useful to take away the six last slimes in the cave and, as compensation, place six slimes at the very beginning of the cave (i.e. at the very top row). after this, indeed every \-carrying slime is permeable! ...aomost.  
  
5. that's because the pattern breaks on the 11th slime row. from there on, no longer every \-carrying slime is permeable. but there's a new pattern: the slime directly before a \-carrying slime is always permeable!  
  
6. this can be fixed by putting back the bottom-right slime (which we removed at the beginning just because we didn't know better) and remove the first slime on row 11 instead.   
  
7. now we've got it: e v e r y \-carrying slime is permeable! and this gives the solution: the first slime on row 11 must be destroyed 13n+6 frames after the cave start, for an arbitrary whole number n. that's it! :d

# .font: font.text_2
2021-09-14 22:24 dustin  
# .font: font.text_1
and here's what is needed to know about the rng in order to understand the solution (at least it's what i used):  
  
the slime rng produces a set of two numbers between 0 and 255 every time a slime is scanned. the result decides about whether or not this particular slime is permeable in this particular frame. it does not matter whether the slime does actually carry something to swallow! for example, the slimes forming the word "slime" also get a set of numbers every frame.  
  
now the period length of the rng happens to be 949, which is 13*73. that's the very reason for the strange effect that if the number of slimes in a cave is a multiple of 13 or 73, there are impermeable slimes.  
  
how exactly the pseudo-random numbers are calculated is irrelevant. it's only relevant that the rng has 949 different outcomes before the cycle restarts. some of these 949 outcomes make the slime active for the frame, others don't.  
  
from now on i should distinguish the terms "active" and "permeable". a slime is "active" if it can swallow a | or \ in a particular frame, and it's permeable if can swallow something in some arbitrary frame.so in short, a slime is impermeable if it's never active!  
  
as mentioned above, the rng creates sets of two numbers between 0 and 255. however, it's far easier to assume it creates sets of numbers (n, k) where n is between 1 and 73 and k is between 1 and 13. allowing every pair of (n, k) values, this makes a total of 949 different pairs, which is exactly what we need.  
  
let the first outcome of the rng be called (1, 1), the second (2, 2), then (3, 3), ... (12, 12), (13, 13), (14, 1), (15, 2), ..., (72, 7), (73, 8), (1, 9), .......in other words, both n and k move on by 1 every step until they reach their limit, and then restart from 1. this way, all 949 possible pairs are reached before the cycle restarts at (1, 1).  
  
now let's assume for simplicity that there are only two pairs which make a slime active: let these be (2, 2) and (3, 4). so all the other 947 pairs lead to passive slime!  
(indeed this is not the case with permeability 7. to find out which pairs are actually active, you can make a cave with 949 slimes and show the impermeable slimes!)  
  
now what happens in this cave with 365=5*73 slimes? in the first frame, the first slimes has (1, 1) and is therefore passive. then the other slimes get number pairs, but let's focus on the first one. when the scan of the first frame is over, the rng has calculated 265 pairs. so at the start of frame 2, the first slime gets the 366th pair, which is (1, 2) because 366 mod 73 = 1 and 366 mod 13 = 2. again a passive one!  
in the third frame, the first slime gets (1, 3), then (1, 4) and so on. see the pattern? the slime runs through all 13 k values, but it won't ever change its n value! and the same goes for all the other 364 slimes in the cave!  
  
now we can easily see which slimes are permeable, namely the ones which have n=2 or n=3, because we assumed that (2, 2) and (3, 4) are the only active numbers. that means, the 2nd, 3rd, 75th, 76th... slime are the only permeable ones!  
  
now what happens once a slime is destroyed? there will be 364 slimes left, which is no longer a multiple of 73. this means that the slimes no longer have a constant n value! but, as 364 is a multiple of 13, now the k values will no longer change!   
  
so that's the chronological order:  
1. at the start with 365 slimes, every slime has constant n value but changes its k value every frame. only slimes with n=2 and n=3 are permeable.  
2. once a slime is exploded, every slime will now rotate its n value. however, now k is constant, which means that every slime now has a fixed k value, and it is the k value the slime had at the moment of the explosion.  
that's the reason why there are exactly 13 different timings for the explosion: one timing for each k value!  
  
after the explosion, there will be new permeable slimes, namely the ones with k=2 and k=4 (in our example). it depends on the timing which exact slimes these are, but you can always divide the 364 slimes into 13-slime-blocks such that in every block, only the 2nd and 4th slime is permeable. so the permeable slimes have a pattern which repeats after 13 slimes!  
  
yeah, that's basically all :d with this knowledge, it's possible to make similar caves ;)

# .font: font.text_2
2021-09-15 22:30 dustin  
# .font: font.text_1
 nesdori , i had the same idea but didn't think through it as carefully. i just wanted to explode the last slime with all timings without modifying the cave. it would work here, but probably not if the target slime was one of the first in the cave :d