November 29, 2012

Conway's Game of Good and Evil

Conway's Game of Good and Evil

Taking John Conway's Game of Life and infusing the words "GOOD" and "EVIL" within the void, a page (world) of ever-evolving text appears.

If you're unfamiliar with cellular automata or Conway's Game of Life, it essentially places a certain set of rules on displayed objects that determine whether or not they'll live or die in the next "step" of the program depending on how many "neighbors" each object has.

The Game of Life program has me hypnotized and amazed every time I open it. It's available for a variety of platforms and languages, but if you haven't seen it before, check out this page: Emergent Universe - Game of Life.

Textual Automata
I've altered the code found here to grab letters from an array, in this case the letters from GOOD and EVIL, and display those letters instead of simple pixels. What results is a fascinating, living, breathing, dying, evolving text that explores many ideas inherent in life.

As the text evolves, you get typical Game of Life patterns (blinkers, boats, gliders, spaceships, &c). In addition, you get a story that begins with a VOID, and fills this VOID with GOD, LOVE, and even EVE. Allow the story to self-evolve, and you may come across the VILE, the DEVIL, maybe an IDOL or two.


Moving beyond a story of creation, the text becomes populated with DOVEs, DOGs, even an occassional EEL. As the story progresses further, these concepts may be replaced by an attraction to GOLD or OIL.

These words LIVE, EVOLVE, and DIE like any other life as we know it. By adding equal parts GOOD and EVIL to the system, I find it fascinating to see the products of the blend of the two.

Stable Configuration

This program is available for Windows and can be downloaded here: Game_of_Good_and_Evil.exe

If you'd like to build the program yourself, the C++ code is here: Game_of_Good_and_Evil.rtf
Run the program and watch it evolve into a stable pattern. Run it again, and the void will be filled with a different pattern (they're created at random). Run it to read it or run it to stare. If nothing else, run it to create worlds.

-SRT

No comments:

Post a Comment