
Show HN: Cell Automata Ventricle Puzzle in Elm and WebGL - paliilap
https://cgmnt-achilles-tortoise-piglet.netlify.com
======
anticodons
WARNING: SPOILER BELOW...

I don't know why the "cheat code" works, but it does?

I only discovered it with simple trial and error.

    
    
      [spoiler codec=rot13]ZCZZCZZCZZZC[/spoiler]
    

I haven't found the HAVOC codon yet.

Also, it's confusing that after you "beat the game" the alleles cease to have
an effect on the hypothetical organelle, so to speak.

EDIT: Never mind, just found the HAVOC codon. Actually, there seem to be
multiple HAVOC codons, or different combinations for the same result, after
you complete the initial challenge.

It's strange that previously disorderly combinations don't produce the same
results, after you initially encode the ORDER codon. Why doesn't the pump
revert to a chaotic state, when the gene inputs are returned to the default
state?

~~~
paliilap
You're on the right track! I think it's great how you're thinking about this.

Without spoiling too much, it's a cellular automata that you're manipulating
parameters for as it runs - so the genome itself doesn't specify how the pump
will beat, only how the state will change in the next generation (which will
depend on the current state). That's why a genome doesn't give the same output
every time - they only define how it will _change_ , not what it will be.

There are multiple genomes that will give you the "ordered" pump, but we can
guarantee there's only one Havoc codon that fulfils the criteria we specified.
The solution is revealed after you submit a correct answer, and it definitely
sounds like you're close (if you haven't found it already).

~~~
snodocitna
Okay, I think I get it now. Each four-sided polygon is a cell in the pump.
There are twelve nucleotides, corresponding to four codons, one for each side
of any hypothetical polygon cell.

The cells can only coordinate and synchronize, when at least one side of every
cell feeds into a resonating feedback loop. This way, through self assembly,
they can orient their facets to interface correctly and combine to create the
properly functioning organ.

This is the manner of any automatic cellular system. Each member cell
calculates its state according to the state of its neighbors for each round,
generation or temporal frame of reference.

Solving the problem flips a flag in the simulation, which is simply an
abstraction of the game system. Rolling the dice, to revert to the chaotic
state, returns the game to its initialized settings.

Normally, in other automatic cellular systems, the operational state of all
member cells is fully deterministic, but in this system, the evaluation to
compute status for each round or generation is not whether the cells are
healthy or not, but whether they’re capable of communicating an afinity for
participation in coordinated tasks. Once synchronized behavior is achieved,
the genome only modifies the already synchronized participation. Reversion to
chaos, as an abstraction, does not make sense in living tissue, and since
evolution solves for these realities, across iterative versions of tissue-
organized multicellular creatures, this game introduces debug affordances to
operate those concepts manually.

~~~
paliilap
You're pretty much spot on, and this is exactly the type of thinking we're
looking for during our puzzle hunt. There's a slight difference between our
system and what you've specified, but the overall picture is the same and I
think it's awesome how you've reasoned through it.

------
FrankDixon
I don't get what this is, but it looks amazing!

~~~
paliilap
Thanks! We're a student group running an open puzzle hunt for
medical/biomedical students who want to learn or practise coding. This is one
of our puzzles based on a simplified cell automata model of a single heart
ventricle.

We use Elm on our frontend and plan on using it to make other interactive
puzzles like this one - we originally got into Elm from HN and it's been a joy
to work with, so we wanted to share it back!

