Home / About

About this site

Lifeform is a working demonstration piece: a complete, production-quality web application built around one of the most elegant ideas in computing.

Why build this

Conway's Game of Life is the perfect subject for a showpiece. It is visually arresting, mathematically deep, and completely unforgiving of a sloppy implementation - a simulator that stutters, drops cells or mangles a pattern file is immediately, obviously wrong. Getting it right means getting the data structures, the rendering loop, the input handling and the interface all right at once.

Everything on this site was written for it. There is no charting library, no UI framework, no canvas engine and no third-party simulation code.

The simulation engine

The core is a flat Uint8Array per generation with a second array reused as the write buffer, so a step allocates nothing. Neighbour indices are precomputed into lookup tables at grid-creation time, which removes the modulo arithmetic from the inner loop and lets the torus and bounded worlds share one code path.

The step function only visits the bounding box of the live population plus a one-cell margin. A glider crossing a 640×400 world costs roughly the same as a glider crossing a 40×40 one. The optimisation is disabled automatically for rules that give birth on zero neighbours, where the whole plane is genuinely in play.

Every generation is fingerprinted with a pair of FNV-1a hashes. When a fingerprint repeats, the simulator knows the pattern has settled and can tell you the exact period - which is how the Lab reports "oscillating with period 15" the moment a pentadecathlon locks in.

The renderer

Cells are drawn to a single 2D canvas scaled for the device pixel ratio. Rather than change fill styles hundreds of thousands of times a frame, live cells are bucketed by age into eight bands and each band is issued as one path with one fill. Colour therefore carries information: newborn cells are bright, ancient cells cool towards violet, and the age gradient makes the structure of a reaction legible at a glance.

The bloom is a genuine post-process - the frame is downsampled to a third of its size, blurred, and composited back with a lighter blend. It costs about a millisecond and is the difference between "cells on a screen" and something that looks like it is glowing.

The stack

  • ASP.NET Core 10 MVC with Razor views, running on .NET 10.
  • Entity Framework Core against SQL Server for the pattern catalogue, accounts and analytics.
  • ASP.NET Core Identity for individual user accounts and the administrator role.
  • Vanilla JavaScript - no bundler, no framework, no runtime dependencies. Every script here is readable source.
  • Hand-written CSS built on custom properties, with a light and a dark theme that are both designed rather than inverted.

Measurement

The site records its own traffic. Page views are written by middleware that runs after the response and hands each record to a bounded in-memory channel; a background service batches them into the database. If the queue ever fills, the analytics are dropped rather than allowed to slow a page down - measurement should never cost the visitor anything.

Alongside conventional metrics the site records what people do with the simulators: which rules they try, which patterns they load, how many generations they run. That turns the admin area into something that can actually inform the next round of work. What is not recorded is set out in full on the privacy page.

Accuracy

Every pattern in the catalogue is stored as standard RLE, the interchange format Life software has used since 1980, so anything here can be pasted straight into Golly or any other Life program and vice versa. Attributions and discovery dates are given where they are well established. If you find an error, it is an error worth reporting.

Credits

The mathematics belongs to John Horton Conway (1937–2020) and to the community of people who have been pulling things out of his rule for over fifty years - Bill Gosper, Richard Guy, Charles Corderman, Paul Callahan, Dean Hickerson, Adam Goucher, and a great many anonymous contributors on forums who found something at two in the morning and posted it.

The site was designed and built by Antiot Internet Systems Development.

Want something like this?

This site exists to show what a bespoke web application looks like when it is built properly rather than assembled from templates. Get in touch with Antiot.