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 Word!"
  • 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.

  • shouldn't there be a comma somewhere in that phrase? – ardnew Jul 3 '12 at 18:53
  • @ardnew: Which phrase? – vsz Jul 3 '12 at 18:54
  • the phrase to be generated: Hello, world! – ardnew Jul 3 '12 at 18:56
  • @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! – vsz Jul 3 '12 at 19:03
  • 1
    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 – copy Jul 3 '12 at 23:33
up vote 48 down vote accepted

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

  • 4
    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. – Peter Taylor Jul 5 '12 at 6:30
  • 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. – GolfWolf Jul 5 '12 at 13:33
  • 1
    @w0lf creating a pattern is a very different kind of challenge than simulation. But yeah, I'm having fun with this – copy Jul 5 '12 at 19:57
  • 2
    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? – vsz Jul 11 '12 at 6:19
  • 1
    @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) – copy Jul 11 '12 at 13:54

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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