Skip to content

A WebGL implementation of generalization of Conway’s ”Game of Life” to a continuous domain

License

Notifications You must be signed in to change notification settings

breadloafsky/fuzzy-life

Repository files navigation

header

Fuzzy Life

A WebGL implementation of "Generalization of Conway’s 'Game of Life' to a continuous domain" aka SmoothLife

Demo

https://fuzzy-life.netlify.app

About

The application is based on the SmoothLife paper (https://arxiv.org/abs/1111.1567) with some additions:

  • Instead of neighbourghood fillings, the application uses two weighted averages of a convolution integral of the area and a kernel within the radius r :

    equation

  • Each kernel is generated by a user-defined curve that represents a cross section of kernel values along the radius.

  • The transition function consists of a set of optional rules that have two conditions (for each kernel) implemented as double-sided sigmoid functions.

Usage

Keyboard Shortcuts

  • SPACEBAR - start / pause the evaluation
  • C - clear the screen
  • X - fill the screen with a sinusoidal pattern

Mouse Brush Controls

  • LMB - draw on the canvas.
  • RMB - erase.
  • Mouse Wheel - change the radius of the brush.