Breakdowns/Emerge 7

  • 08emergeNewFree
  • 08singularityNew
  • 05penumbraNew
  • 08nebulaNew
  • 21genuary26
  • 07bands
  • 05slate
  • 10gravity
  • 05warp
  • 05abiogenic
  • 10cascade
  • 08shift
  • 07formation
  • 02mesh
  • 08imaginary
  • 06arcs
  • 05dawnFree
  • 05eidolon
  • 09flareFree
  • 29genuary2025

Join waitlist ↵
170

Emerge 7

Almost Life: survivors still want two or three friends, but births need three neighbors.

Loading...
←→

emerge7

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...
Works171
Writing31

Fragments

Learn creative coding with shaders. For design engineers, creative coders and shader artists: techniques, tools, deep dives. Powered by ThreeJS and TSL.

Loading...

2025 Phobon

phobon.ioShadercraft

Pages

HomeTechniquesUtilitiesBreakdownsWorksWriting

Contact

X @thenoumenonhey@fragments.supplyOKAY DEV @phobon
All rights reserved.

Implementation

Almost Conway: living cells still behave—two or three neighbors and you're fine. But birth asks for a little directional favoritism: you need three neighbors and a live cell to your northeast before you turn on. That tiny asymmetry breaks the usual isotropy; colonies lean and crawl along diagonals you didn't get in vanilla Life. Pair it with a wide random palette each load and it stays fresh without touching the rule.

Breakdown

Biasing birth with a single directional bit is a cheap trick with outsized visual personality. There are 3 key components:

Conway survival

If you're alive, neighborActiveCount of 2 or 3 keeps you alive; otherwise you drop out. That's unchanged from the textbook.

Directional birth

Dead cells require both neighborActiveCount.equals(3) and ne.equal(1)—the northeast read from the buffer must be lit.

Biased birth
If(currentActive.equal(1), () => {
  If(neighborActiveCount.equal(2).or(neighborActiveCount.equal(3)), () => next.assign(1))
}).Else(() => {
  If(neighborActiveCount.equal(3).and(ne.equal(1)), () => next.assign(1))
})

So configurations that would spawn in Life can fail here if the NE witness is dark—growth picks up a preferred diagonal bias.

Wide field and framing

304 × 192 gives room for that bias to compound over generations; scaleX / scaleY framing keeps the action slightly inset. Colors are randomized once per mount like the other lottery sketches in the series.

It's a good stepping stone toward thinking about anisotropic rules without leaving the comfort of small TSL edits.

Emerge 1

Emerge 1

Free
Emerge 2

Emerge 2

Free
Emerge 3

Emerge 3

Free
Emerge 4

Emerge 4

Free
Emerge 5

Emerge 5

Free
Emerge 6

Emerge 6

Free
Emerge 8

Emerge 8

Free

Be the first to know what's next