Re: P30 Self replicating Geminoid
Posted: April 14th, 2019, 12:40 pm
@dvgrn I wonder who was the first to actually implement this design pattern? I would guess my Serizawa gemini was the first "true gemini" which also used the design of two copies. Oddly enough this is the first such design in CGOL. I wonder if the P30 could also use some of the other designs? I didn't gave much thought to it, I just used the well established design pattern I used everywhere else, and solved all the small details for it (like two directions are merging completely using same lane arms).
Anyway attached a working Remini (until a better name would be found I'll stick to it). It's just below 8M ticks.
I've also committed everything to github).
------------------------------
A short overview (please notice it's all with hardcoded local absolute paths):
P30(...).c - are the files that were used for glue search the arm movement and shoot.
*.lua are scripts that take the output from the glue and find the interesting recipes (glue is stopped when any block is created in any location, while the lua scripts are checking the block is in correct location).
reipce_optimizer.py - is a golly script that given an input state from this message will output move.recipe.txt file, with movement recipes of [-100, 100]
recipe_reader.py is just taking the shoot recipes from arm_shoot_collection.mc of all valid P30 arm shoots and creates shoot.recipe.txt - a file with 4 types of glider output needed for the construction.
slmake_recipe_reader.py A script that takes slmake outfile.mc and reads it into an E/O notation. Copying it to clipboard.
Remini.py Is the file which creates the Remini. It uses the recipes from shoot.recipe.txt and move.recipe.txt. Notice it uses hardcoded the path (if you want to use - change the path here.
P30_result(..).txt The outputs of the glue search.
This message is part of the documentation.
Anyway attached a working Remini (until a better name would be found I'll stick to it). It's just below 8M ticks.
I've also committed everything to github).
------------------------------
A short overview (please notice it's all with hardcoded local absolute paths):
P30(...).c - are the files that were used for glue search the arm movement and shoot.
*.lua are scripts that take the output from the glue and find the interesting recipes (glue is stopped when any block is created in any location, while the lua scripts are checking the block is in correct location).
reipce_optimizer.py - is a golly script that given an input state from this message will output move.recipe.txt file, with movement recipes of [-100, 100]
recipe_reader.py is just taking the shoot recipes from arm_shoot_collection.mc of all valid P30 arm shoots and creates shoot.recipe.txt - a file with 4 types of glider output needed for the construction.
slmake_recipe_reader.py A script that takes slmake outfile.mc and reads it into an E/O notation. Copying it to clipboard.
Remini.py Is the file which creates the Remini. It uses the recipes from shoot.recipe.txt and move.recipe.txt. Notice it uses hardcoded the path (if you want to use - change the path here.
P30_result(..).txt The outputs of the glue search.
This message is part of the documentation.