29
\$\begingroup\$

It is often said, that all programmers should be able to write a "hello world" program in any programming language after a few glances on that language (And quicksort after a few more glances).

As the Conway's Game of Life is Turing complete (so it qualifies as a general-purpose programming language), the problem is self-explanatory:

Create a "Hello World!" application using only Conway's Game of Life! The only valid entry is an initial state for the Conway's Game of Life, which:

  • does not contain any recognizable shape resembling the text "Hello World!"
  • will contain a recognizable shape resembling the text "Hello World!" within a reasonable number of cycles (it should not run for more than a couple of minutes on a good PC - this enables billions of cycles and should be enough)
  • the area where the "Hello World!" text will appear should be empty in the initial state! (Otherwise the problem would be way too easy) If no one manages to do it, we might reduce this requirement to "mostly empty"

Scoring:

The winner will be based on the number of upvotes in approximately one week after the first valid submission.

Guidelines for voting:

  • more elaborate and beautiful output should be worth more
  • output which is stable over many cycles should be worth more than one which fades away to be unrecognizable in the next cycle.
  • a solution locked into a perpetual cycle, or starting from an interesting pattern is worth the most, because it proves intelligent design of the state, and not just random trial and error with a reverse simulation.

The entry should be in a format readable by at least one of the notable simulators or an online simulator which the answerer links to. Links (to an animation or a simulator set to the initial state) are also accepted, even encouraged. If the output is not visible within a few cycles, the entry should specify after which cycle will the result be visible.


Edit:

There can be some slight tolerance in the phrase to be generated. It can be "Hello, World!", "hello, world" "HELLO WORLD!" etc.

\$\endgroup\$
9
  • \$\begingroup\$ shouldn't there be a comma somewhere in that phrase? \$\endgroup\$
    – ardnew
    Commented Jul 3, 2012 at 18:53
  • \$\begingroup\$ @ardnew: Which phrase? \$\endgroup\$
    – vsz
    Commented Jul 3, 2012 at 18:54
  • \$\begingroup\$ the phrase to be generated: Hello, world! \$\endgroup\$
    – ardnew
    Commented Jul 3, 2012 at 18:56
  • \$\begingroup\$ @ardnew: thanks, I edited an addendum. I deliberately left some slight vagueness, because ultimately the voters decide. If you think that you did not directly violate one of the main rules, and that the voters will like your interpretation of the minor details, feel free to do it in any way you wish! \$\endgroup\$
    – vsz
    Commented Jul 3, 2012 at 19:03
  • 1
    \$\begingroup\$ You can use my simulator (imports RLE and Plaintext). It's not good for developing, but at least it runs arbitrary big patterns at decent speed. I can also upload patterns and make them linkable if requested \$\endgroup\$
    – copy
    Commented Jul 3, 2012 at 23:33

1 Answer 1

58
\$\begingroup\$

My first attempt to this, a relatively simple solution. It fires a couple of glider barrels. Each pair of gliders turns into a block, which then form the text. This process takes about 16000 generations (you can set a frame skip or use the superstep button in my simulator).

Direct Link. Move around with right mouse, zoom with mouse wheel.

Link to .rle file (also works with Golly)

Image of the pattern 32:1:

Image of the pattern 32:1

\$\endgroup\$
7
  • 4
    \$\begingroup\$ If you have a canvas-supporting browser and don't see the starting pattern, zoom out with the scroll wheel. Took me a while to work that out. \$\endgroup\$ Commented Jul 5, 2012 at 6:30
  • \$\begingroup\$ Excellent! I was expecting you to post a solution to this challenge after I've seen codegolf.stackexchange.com/a/5946/3527 and your website. \$\endgroup\$ Commented Jul 5, 2012 at 13:33
  • 1
    \$\begingroup\$ @w0lf creating a pattern is a very different kind of challenge than simulation. But yeah, I'm having fun with this \$\endgroup\$
    – copy
    Commented Jul 5, 2012 at 19:57
  • 2
    \$\begingroup\$ Congratulations! Strange, that no one took the courage to submit another solution. Actually, if there was no solution posted, I would have done something very similar (gliders converging to form blocks), although much smaller and less detailed. May I ask how you did it? Generated with a program, or calculated the positions manually? \$\endgroup\$
    – vsz
    Commented Jul 11, 2012 at 6:19
  • 2
    \$\begingroup\$ @vsz The pattern is generated from a small python script. I think one week might have been a short deadline for some people (that's why nobody else tried) \$\endgroup\$
    – copy
    Commented Jul 11, 2012 at 13:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.