# .font: font.text_2
2020-06-15 02:01 DarkStoorM  
# .font: font.text_1
Referring to the "CSO 40" cave, I had an idea for a remix of "Acceleration of Gravity", where you were required to build 3 stacks of boulders and chain explode the FFlies in a way that the second explosion aligns the falling diamonds.  
  
In the first test cave, syncing two FFlies by hand while testing was so annoying, that building the rest of the solution to properly test the cave would probably take me a couple days.  
  
I know I can first build the solution in the CKit and then move things around, but I haven't spent enough time in the game yet to be sure, so I decided to make a hacky slime alignment. Maybe someone will come up with an idea for a cave with something similar :D

# .font: font.text_2
2020-06-15 02:08 DarkStoorM  
# .font: font.text_1
Oh, and the demo is free, it's just a test cave anyway :D

# .font: font.text_2
2020-06-15 02:16 shredder  
# .font: font.text_1
nice show! :)

# .font: font.text_2
2020-06-15 09:25 nesdori  
# .font: font.text_1
darkstoorm, i once wondered if boulder dash is turing complete ( <a href="https://en.wikipedia.org/wiki/Turing_completeness" target="external">https://en.wikipedia.org/wiki/Turing_completeness</a> ), so that it's possible to build a cave to simulate any computer and any program ran on it. i think it is. one way to prove that is to prove that boulder dash dynamics can be used to simulate all logic gates and interactions between them (wire crossings and bit syncs) so i decided to build a 4-bit adder using a boulder dash cave. the electric current was replaced by the gravity of boulders and on each "wire", a falling boulder means 1 and empty wire means 0. i quickly realized that even single gates and interactions between them are so complex that 100*100 cave is not big enough for 4-bit adder circuit. i built few gates and wire crossings and bit sync methods successfully and i think i could have completed the full 4-bit adder if i had more space for it. this cave resembles some of the methods of which i used to accelerate and slow boudlers to sync "bits" so that they'll reach the next gate at the same time :) if  krissz  will extend the maximum size of the cave even more some day, i'll finish my 4-bit adder project; it's a funny thought that if boulder dash really is turing complete, it's possible to build a cave that simulates c64 and bd1 game played on it :D

# .font: font.text_2
2020-06-15 09:49 DarkStoorM  
# .font: font.text_1
That's really interesting,  nesdori . I'm wondering what are the minimum requirements of the cave size for that to work.  
  
The only problem I see is the persistent data - if it's possible to rearrange objects at the target location without destroying the environment or other objects in the process - you can't recreate them in other way than crushing the butterfly, but you also can't create them either. I'm really curious

# .font: font.text_2
2020-06-15 13:35 nesdori  
# .font: font.text_1
 darkstoorm , my first version was simplified with no real memory but it just had a separate input state and output state. even that would require a vertical size of maybe over thousand. if real memory cells are used it would probably require vertical size of several thousands. you are right that data persistency is indeed a problem because you can't create objects. the way i thought it would work is that there initially is a big pile of boulders which are used as cycles for different jobs: logic, memory cell state, memory poll and memory write. so there's continous stream of falling boulders for each job and memory is written and polled continously so that there's no need to create and destroy a poller/writer. another persistency problem is that logic gates are easier to do in such way that they can be used just once. so to reach turing completeness they must be done in persistent way or there have be another stream for each gate: gate fixer! :)  
  
because of finite number of execution cycles i'm not sure if such machine can be called turing complete because neverending endless loops can't be done. but turing machine also has infinite memory and real computers don't and still they are called turing-powerful machines. the reasoning is that if a computer runs out of memory, you can just add more memory. the same reasoning would work with "bd machine": if it runs out of execution cycles, just add more boulders :) and real computers really also can't produce endless loops; eventually all energy in the universe will be consumed (or actually be in the non-applicable form) and the computer will halt (or most probably some component will be broken before that :)

# .font: font.text_2
2020-06-16 12:59 dustin  
# .font: font.text_1
interesting stuff! perhaps this can even be extended to a complete row of side-by-side-falling boulders?!

# .font: font.text_2
2020-06-16 13:55 DarkStoorM  
# .font: font.text_1
Of course  dustin , it can be packed even more! GOnna try that later :D

# .font: font.text_2
2020-06-16 14:03 DarkStoorM  
# .font: font.text_1
Now that I look at it, I think a modified+extended this will be the last cave of the story! :D  
  
Extremely difficult and annoying, perfect idea for a new cave! :D/

# .font: font.text_2
2020-06-16 14:04 DarkStoorM  
# .font: font.text_1
as a*  
  
argh, can't edit the typos out :D