# .font: font.text_2
2024-04-20 19:55 dustin  
# .font: font.text_1
remark: the original is maybe historically the first cave with a "dormant ΘΘΘ". however, the bd1 engine had no special setting for such an ΘΘΘ, so that the ΘΘΘ is silent at the start, then after a short random time, it suddenly makes some noise and then converts into ΑΑΑ. does anyone know hoe this works? :d  
  
i extended this cave for an extra Θ, to emulate the original behaviour (except for the sudden noise).

# .font: font.text_2
2024-04-21 01:51 dustin  
# .font: font.text_1
i guess  krissz  used some kind of "home advantage" for the highscore :d

# .font: font.text_2
2024-04-21 14:00 dustin  
# .font: font.text_1
ahhh no, i forgot to reduce the ΘΘΘ time, that's why :d

# .font: font.text_2
2024-04-21 15:16 dustin  
# .font: font.text_1
fixed - the ΘΘΘ is now 1 and the ΘΘΘ should (almost) always convert after a few seconds, true to the original. it should be (practically) impossible to reach the ΘΘΘ before it converts and make it bigger (although i have pictures in my head of  darkstoorm  trying it) :d :d

# .font: font.text_2
2024-04-21 19:15 DarkStoorM  
# .font: font.text_1
Haha, not sure if I want to try :D :D

# .font: font.text_2
2024-04-24 18:24 nesdori  
# .font: font.text_1
 dustin , this "dormant amoeba randomly converts" is an interesting phenomenon. I tried this with the very original bd1 engine and the behaviour is the same. there seems not to be specific code to do this. this seems like a strange side effect of something and basically looks a like another bug. the amount of time to conversion is random but is dependent of how my pieces of amoeba there are. the more, the faster the average conversion time is. if there would be only one piece of amoeba on this cave, ^ can sometimes reach the bottom ||| before the conversion and free the amoeba. So the phenomenon has something to do with the amoeba enclosure check with each piece of amoeba. it might be possible that this also affects the case where the amoeba initially is free and then when enclosed, there sometimes might be a delay of an extra frame before the conversion if this phenomenon is activated during the enclosing frame. i have never seen it happened but it might be to difficult to spot this live because this happens rarely and a delay of one frame is hard to notice if you aren't actively looking for it.  
  
i might take a deeper look at this later and by using code execution breakpoints try to find out what are the actual conditions when this happens and is it really a bug or something else.

# .font: font.text_2
2024-04-24 21:06 dustin  
# .font: font.text_1
 nesdori , that's very interesting! with all the given facts, i have a kind of theory what's gouing on - not a full explanation, just an idea in which direction the phenomenon might go:  
  
first of all, the sound-making of such a dormant ΘΘΘ in the bd1 engine is interesting:  
| at first, it makes no sound at all.  
| then, after a random time, it suddenly makes noise shortly (for only 1 frame, i guess)  
| and then it immediately converts into ΑΑΑ.  
  
why does the ΘΘΘ not make any sound at first? a plausible explanation could be that the engine does not "know" that there's an ΘΘΘ in the cave! this idea could be tested further, for example, by checking if a dormant ΘΘΘ can be converted by ΛΛΛ - this shouldn't be possible if the engine doesn't know about the presence of the ΘΘΘ.  
  
so maybe there's a kind of checkmark "ΘΘΘ is in the cave" programmed in the bd1 engine, which regulates the ΘΘΘ sound and maybe other things as well (ΘΘΘ timer, ΘΘΘ overgrowth counter...). the checkmark can be triggered in two ways:  
| if a piece of Θ is scanned and it has a chance to grow, the checkmark is triggered for sure.  
| if a piece of Θ is scanned which can not grow, there's a small random chance that the checkmark is triggered.  
  
note that this theory also would explain your observation that the bigger the ΘΘΘ is, the quicker the conversion happens!  
  
as soon as the checkmark is activated, the ΘΘΘ sound is hearable. then the engine immediately realizes that the ΘΘΘ is trapped and triggers the "convert into ΑΑΑ" checkmark.  
  
some experiments which i would find interesting to make:  
| as mentioned above: can a dormant ΘΘΘ be converted by ΛΛΛ?  
| does the ΘΘΘ timer run when the ΘΘΘ is still dormant?  
| any differences if the dormant ΘΘΘ instantly crushes a Η (for example, a 5x5 dormant ΘΘΘ with a Η in the middle, so that there's still ΘΘΘ there).

# .font: font.text_2
2024-04-24 21:10 dustin  
# .font: font.text_1
p.s.: maybe it sounds a little contradictous to say "the engine doesn't know an ΘΘΘ is there" after an Θ was scanned. what i mean by that is that some specific ΘΘΘ properties (sound, extra timer, counter...) aren't yet activated. perhaps we could replace "the engine doesn't know" by "the engine doesn't care" ;)

# .font: font.text_2
2024-04-24 21:51 nesdori  
# .font: font.text_1
 dustin , i tried your theory with a mw and dormant amoeba. it indeed doesn't convert when | is dropped into mw although buggy conversion conditions are met (the amoeba is located below the mw). so it seems that at least in this case, the engine "doesn't care" about the amoeba :)  
  
but the interesting question is: why it suddenly cares and why is the moment of caring related to the rng (at least it seems so)? the engine doesn't use rng to check for amoeba enclosements but it certainly uses it to when it determines a direction where the amoeba tries to grow. so the offset of direction which is checked might sometimes be corrupted and it checks wrong location. but if this is the case, then why amoeba doesn't sometimes randomly grow on locations it shouldn't :)

# .font: font.text_2
2024-04-24 22:25 dustin  
# .font: font.text_1
 nesdori , yessss cool, i would have been very surprised and disappointed if the ΛΛΛ could have converted a dormant ΘΘΘ! :d  
  
another proposal for an experiment to check your "wrong location check" theory: how about a cave where there is no dirt and empty space at all? then even if the engine checks the wrong location, it should never find a possibility to grow for the ΘΘΘ and the dormant ΘΘΘ should never "wake up"!?

# .font: font.text_2
2024-04-24 22:58 nesdori  
# .font: font.text_1
 dustin , i actually thought about the same thing after writing my comment; filling the entire cave with titanium wall and see if the dormant amoeba still converts after a while.  
  
Well, i tried it and tadaa! the amoeba is not anymore converted but it stays dormant! :D we are getting there.. :)

# .font: font.text_2
2024-04-25 00:00 dustin  
# .font: font.text_1
 nesdori : wow, cool! congrat, that was a good educated guess! :d  
now i thought this through for some 20 minutes, but i still have more questions than potential answers in my head.   
  
at least i think i have a plausible explanation for why an ΘΘΘ never grows into a wrong spot - there mustbe a difference between the check "can the Θ grow?" and the check "the rng says that this Θ wants to grow. in which direction?". i think whenever a (not necessarily dormant) Θ is in the scan, the engine has an algorithm like this:  
1. check if the Θ can grow (necessaryto check if a normal Θ is trapped, and maybe also for a dormant Θ to wake up at the beginning, activating some ΘΘΘ-specific stuff)  
2. generate a random number to check if the Θ wants to grow.  
3. if so, choose the desired direction of growth randomly.  
4. check if the Θ can grow into the desired direction; if so, grow, if not, not.  
maybe only (1.) is buggy but not (3.). then the Θ would never grow wrongly. still, if (1.) is buggy, a trapped ΘΘΘ should sometimes not convert immediately. also, as you pointed out already, it's by no means clear why (1.) should have anything to do with randomness...  
  
still a lot of open questions! :d