WISkunst

Game of Life

Your browser does not support the HTML5 canvas tag.
to create a pattern click on the cells
predict next generation, if ready click Step
Game of Life
Game of Life, ook wel kortweg Life genoemd, is in 1970 bedacht door John Conway.
Het woord 'Game' is enigszins misleidend omdat er geen winnaars of verliezers zijn.
Het bestaat uit een tweedimensionaal raster van vierkante cellen die elk levend of dood kunnen zijn.
Life werkt met generaties om te bepalen of een cel in de volgende generatie geboren zal worden, overleeft of sterft.
Het is vaak verassend om te zien hoe celpatronen zich ontwikkelen. Het is bijvoorbeeld wonderlijk om te zien hoe uit
een gewoon vierkant iets tevoorschijn komt dat sterk doet denken aan een Keltisch Kruis met vier Kronen eromheen.

Kies een celpatroon (menu links) en start het generatieproces (klik op Start). Er zijn allerlei bijzondere patronen.

Voor enthousiaste spelers is het een uitdaging om zelf een patroon te ontwerpen (met Clear en Create, zie de Helptekst).
Maak bijv. een Still Life, Oscillator of Spaceship. Voor de betekenis van deze namen: zie hieronder bij Indeling in Groepen.

Of test je kennis van de Life spelregels door de volgende generatie te voorspellen (met Predict, zie de Helptekst).

Spelregels
Buurcellenelke cel heeft 8 buurcellen om zich heen:
links, rechts, boven, onder en 4 diagonaal
Geboorteeen dode cel met exact 3 levende buurcellen komt tot leven
Overlevingeen levende cel met 2 of 3 levende buurcellen blijft in leven
Dood door eenzaamheideen levende cel met 0 of 1 levende buurcel(len) gaat dood
Dood door overbevolkingeen levende cel met 4 of meer levende buurcellen gaat dood

Om de nieuwe generatie te bepalen worden bovenstaande regels gelijktijdig voor alle cellen toegepast.

Voorbeelden
geboorte  ➙
overleving  ➙
dood door eenzaamheid
dood door overbevolking


Historie
Conway heeft de spelregels destijds zorgvuldig ontworpen volgens bepaalde criteria:
-  de bevolking van levende cellen mag niet explosief groeien
-  de bevolking van levende cellen mag niet te snel uitsterven
-  celpatronen moeten de mogelijkheid hebben om zichzelf te reproduceren
-  de spelregels moeten zo eenvoudig mogelijk zijn.

Hoewel de spelregels eenvoudig zijn is het veelal zeer complex om te voorspellen hoe een patroon er na een aantal generaties
uit zal zien. Sinds de komst van computers is de populariteit van dit spel enorm toegenomen.
De patronen werden gaandeweg steeds groter en ingewikkelder. Creatieve spelers bleken in staat om bijv. een pi-calculator,
logische schakelingen (EN-, OF- en NIET-poorten) en de priemgetallenzeef van Eratosthenes te maken met Life.

Indeling in groepen
De vele patronen die inmiddels bekend zijn worden ingedeeld in groepen. Hoe een patroon zich tijdens het generatieproces
ontwikkelt bepaalt in welke groep het patroon thuishoort. Elke groep heeft specifieke kenmerken. Hieronder een kort overzicht.

Still Lives
Zoals de naam al aangeeft bewegen deze patronen tijdens het generatieproces niet. Het aantal cellen blijft constant.

Oscillators
De ontwikkeling verloopt in steeds terugkerende cycli. Zo'n cyclus bestaat uit een vast aantal generaties en wordt de periode
van het patroon genoemd. De cycli herhalen zich eindeloos. Zie bijv. Clock 2 of Roteightor.

Gliders
De glider is het kleinste Spaceship en 'wandelt' diagonaal over het scherm.
Kenmerken:   cellen: 5     periode: 4     snelheid: c/4 diagonaal
-  Periode: de Glider evolueert in een zich herhalende cyclus van 4 generaties, zo'n cyclus wordt periode genoemd.
    De 5e generatie ziet er weer hetzelfde uit als de 1e,  de 6e is gelijk aan de 2e,  etc.
-  Snelheid: per periode schuift de Glider 1 cel diagonaal op, in dit voorbeeld naar rechts omlaag.
    De 'snelheid' van een Glider of Spaceship wordt gedefinieerd als:
    c/p, waarbij c = aantal cellen translatie en p = periode, in dit geval dus c/4.
Gliders zijn belangrijk in Life omdat de synthese van diverse gliders een nieuw interessant patroon kan opleveren.
Anderzijds kunnen Gliders ontstaan als bijprodukt van een grotere patronen, zoals Glider Guns.

Bewegingsrichting Gliders
Gliders bewegen altijd in een diagonale lijn, afhankelijk van hun stand in de ruimte.

Spaceships
Een Spaceship beweegt zich doorgaans in een horizontale of verticale lijn door de ruimte.
Uit een botsing van bijv. 2 Lightweight Spaceships kunnen 2 Gliders ontstaan.

Methusalah
Een Methusalah is een patroon dat pas na vele generaties stabiel wordt of uitsterft. Stabiel wil zeggen dat het niet verder
aangroeit of uiteen valt, maar veranderd is in een aantal losse objecten in de ruimte, bijv. een aantal Still Lives of
Oscillators.

Eaters
Een Eater beweegt niet, het is een Still Life. Maar een Eater is in staat een naderend object 'op te eten' zonder daar zelf
schade van te ondervinden. Op deze manier kunnen ze 'afval' opruimen.

Rakes
Een Rake beweegt zich door de ruimte en laat tijdens zijn reis 'schoon afval' achter in de vorm van Gliders.
Per periode legt de Rake een vaste afstand af op en produceert een Glider. Dit herhaalt zich eindeloos, het aantal cellen
groeit dus naar oneindig.

Guns
Een Gun is een patroon dat bij herhaling een Glider of Rake uitzendt, meestal een Glider. Elke periode komt er een Glider bij.
Deze Gliders bewegen zich veelal in een diagonale lijn van de Gun vandaan.

Images
Het is vaak verassend hoe zich uit een eenvoudig patroon, bijv. een lijn of driehoek, mooie, regelmatige patronen kunnen
ontwikkelen.

Spacefillers
Een Spacefiller groeit oneindig door, waarbij de snelheid exponentieel toeneemt.

Stretchers
Een Stretcher strekt een lijn van patronen, bijv. Ants (mieren), vastgemaakt aan één van de uiteindes.

Puffers
Een puffer trekt voorbij in een rechte lijn en laat een wolk van patronen achter, zoals een stroomtrein.
X
Het spel spelen
De spelregels van Life vind je onder de Life-knop (linker menu).
De celpatronen worden verdeeld in groepen, zoals Still Lives, Oscillators, Gliders, Spaceships en vele anderen.
Elke groep gedraagt zich op een karakterestieke wijze, voor meer daarover: klik op de Life-knop.
Het linker menu toont een aantal voorbeelden. Kies een patroon en klik op Start om het generatieproces te starten.
De Info-knop onderaan geeft achtergrondinformatie over het gekozen patroon.

Of wees creatief en bedenk zelf een patroon, klik op Create en op Clear. Door op de cellen (vierkante vakjes) te klikken
kan een eigen patroon worden ontworpen. Voor de geoefende speler is het een uitdaging om het patroon zodanig te ontwerpen
dat het generatieproces een bijzondere of opvallende ontwikkeling laat zien. Dat blijkt in de praktijk niet altijd mee te vallen.
Als het patroon gereed is kies dan uit één van de kleurencombinaties (zie Colors) en klik op Start.

Of test je kennis van de Life spelregels en voorspel hoe de volgende generatie van het patroon er uit zal zien, zie Predict.

Info
Toon informatie over het gekozen patroon.
Voor elk patroon is er tekst en uitleg, met bronvermelding.

Start
Start het generatieproces.
Om het proces op een bepaald punt te pauzeren: klik op Stop, vanaf dat punt verder gaan: klik weer op Start.

Retart
Start het generatieproces opnieuw vanaf generatie 1.

Stop
Stop het generatieproces.

Go to
Ga naar generatie nnn.
Eerst het gewenste generatienummer invoeren.

1 Period
Toon de generaties van één periode.
Veelal verloopt de ontwikkeling van een patroon in steeds terugkerende cycli van een vast aantal generaties.
Een dergelijke cyclus wordt de periode van het patroon genoemd.

1 Gen
Toon alleen de volgende generatie.

Create
Ontwerp zelf een patroon door op de cellen (vierkante vakjes) te klikken. Begin desgewenst met een schone lei, zie Clear.

Clear
Maak het speelveld leeg.

Predict
Voorspel de volgende generatie. Dat gaat als volgt:
-  klik op Create en Clear en teken een eenvoudig patroon door op de vierkante cellen te klikken
-  klik op Predict
-  teken dan wat volgens jouw de volgende generatie zal zijn (cellen worden oranje)
-  klik op Step en kijk of het antwoord juist was
-  je kunt ook uitgaan van een bestaand patroon uit het linker menu, maar waarschijnlijk is het merendeel daarvan
    voor dit doel te complex.

Speed
Bepaal hoe snel het generatieproces dient te verlopen. Minimaal 1, maximaal 50 generaties per seconde.

Zoom +     zoom -
Zoom in of uit.

Het speelveld kent 4 schalen:
schaalrijenkolommencellen
12140840
242803360
38416013440
416832053760

Colors
Er zijn 4 kleurencombinaties mogelijk: blauw-wit, geel-blauw, rood-groen en wit-zwart.

Grid
Grid kent 3 opties:
-  raster met hulplijnen over het hele speelveld, alleen bij schaal 1, 2 en 3
-  geen raster, alleen lijntjes tussen de levende cellen
-  geen lijnen.
X
X
Barge
Beehive
Big S
Bi-loaf 1
Block
Integral
sign
Integral
with Tub
Long Barge
Tub
Ship
Boat