In the 1970s, British mathematician John Conway devised Game of Life a simple turn based zero player game in-which patterns of cells evolve through generations, either surviving or not based on simple rules.
Cells are arranged in a 2D grid, and if they have neighbours determines whether or not they made the next turn. Here’s the rules, copied and pasted from Wikipedia:
- Any live cell with fewer than two live neighbours dies, as if caused by under-population.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any live cell with more than three live neighbours dies, as if by overcrowding.
- Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
A pre-determined pattern can be loaded to start the game, or the observer can draw in cells. As this plays out, you’ll find everything can either die after a few generations, things can evolve and last for many generations or they can even get stuck in a loops and constantly playout.
What’s amazing about this game is that it demonstrates simple rules can give way to complex systems.
This sort of generative, self-evolving pattern can cause some really interesting compositional possibilities, and has been exploited by musicians and programmers alike, for instance iOS app Runxt Life, this sequencer by Grant Muller or this Nintendo DS device named GlitchDS.
Newscool is a flagship ensemble and really shows off what Reaktor can do. It’s a groovebox (unsurprisingly) based on Conway’s Game of Life. Reaktor has this to say about it:
The sequencer is based on the Life model developed by John Conway in the 1970s. A two-dimensional pattern is processed in steps: An element of the pattern becomes alive (dark in this implementation) in the following step if three of its eight neighbors are alive in this step; it remains alive in the subsequent one if two or three neighbors are alive in the current one – else it dies (and becomes a light square again). Several patterns emerge over time by this set of rules: Gliders move over the grid, crosses oscillate in several phases, some objects remain stable and don’t change from step to step while others remain unstable forever. These patterns trigger the sound engine, generating “lively” sequences.
At the heart of it is two separate ensembles, at the top is ‘life’, a sequencer (in green), the eight tone generators (redy/pink) and the multi-fx unit (white) are both part of an ensemble called ‘NWSCL’:
Despite it’s simplicity, Newscool can look incredibly daunting, and for this reason, I suggest you download this plugin reset I’ve made for the tutorial. It has most of the main features disabled, so by enabling them you can hear what’s happening. Grab it here.
It makes sense to start by looking at the sequencer, or Life Sequencer, as Reaktor calls it. Although this is based on Game of Life, the main difference is that the sequencer loops back on itself, rather than cascading off into oblivion.
The left display is our Board Display, which is where we edit our patterns either by loading presets, drawing with our mouse or randomly generating cells. On the right is the Performer Display which shows the current stage of the sequence. This is uneditable.
Between these two boards you can see the length of the cycle (in yellow), which determines how long the loop is by the number of steps (red). In this example, we would get a loop of 16 x 16 steps, which is one bar in length.
With the Offset set at 0 our loops will start from the beginning, however if we were to add 3, for example, our loop would start 3 1/16th notes in. This is useful for getting your loop working with other elements, altering the emphasis of downbeats.
The two buttons underneath the Step are Run and Next. Run is enabled by default, and this will trigger our sequencer into life as soon as the MIDI clock is playing; if we stop, it stops too. Next cycles through each step of the sequence one by one, so we can hear exactly what’s going on.
Below this we have the Copy section. The blue and soft red arrows copy the current pattern to either the Board Display or Performer Display. The Loop menu above it changes the functionality of the Performer Display.
There’s three function, the first of which is Loop. This is the default setting that cycles back to the starting position. This works by copying over the Board Display’s pattern when the end of the loop is end of the length of steps is reached.
Start is the next mode. This allows the cells to carry on evolving regardless of the length and step settings. This can either peter out to nothing or get locked in a continual loop. In essence, this is never copying the Board Display to the Performer Display.
Lastly is the manual mode. I’ve found this really similar to Start, in that it will run ad infinitum. All of these modes can be overridden by triggering the the arrow buttons underneath.