ANima

A petri dish made of math.

ANima simulates continuous cellular automata on your graphics card, maps where self-organizing life can exist, and breeds new genomes to find it. Paint into the dish, then watch what the rule does with your mark.

–mass
–coverage
–activity
–kernel taps / step

If the dish goes dark, life didn't hold with this genome. Try a preset, drag the sliders, or press Discover.

Genome

Starting genomes:

Phase map of life

μ 0.08growth centre →0.32
extinctstaticsaturatedalive (darker = better)

    Each trial reseeds the dish and runs 300 steps on the GPU. The dish shows the trial as it happens.

    Genome library

      Saved in this browser only. Export to keep a backup or share.

      Performance

      GPU
      –
      Steps / s
      –
      Kernel throughput
      –

      Times 200 simulation steps at the current genome and grid size.

      One rule, no scripts

      Every cell holds a number between 0 and 1. Each step, a cell looks at a ring of neighbours, averages them with a smooth kernel, and asks whether that average is in a comfortable range. If it is, the cell grows. If not, it shrinks.

      Nothing here is animated by hand. Anything that moves, splits or holds its shape emerges from that loop and your genome.

      U  = (K ∗ A) / Σ K          // ring-shaped kernel
      G(U) = 2·exp(−(U − μ)² / 2σ²) − 1
      A  ← clamp(A + Δt · G(U), 0, 1)
      
      K(r) = exp(4 − 1 / (r(1 − r)))  // per ring

      Under the hood

      The simulation state lives in 32-bit float textures. A fragment shader computes each cell's kernel sum, and two textures swap roles every step. At the default settings that is tens of millions of texture reads per step, done in parallel.

      Everything is static files with no framework, no build step and no server, so it runs on GitHub Pages as is. Genomes are shareable through the link button, which stores them in the URL.

      Honest limits

      The automaton is Lenia, created by Bert Wang-Chak Chan. Anima's contribution is the interactive GPU implementation, the phase-map survey and the evolutionary search. The alive-or-not classifier is a heuristic, so a low score doesn't prove a genome is uninteresting, and results depend on the seed. Trials and the survey also depend on your GPU speed.

      Built like software, not a demo

      ANima is an open repository with a tested core, continuous integration and automatic deployment. Every push runs the unit tests, and only a passing build is published to GitHub Pages.

      The pure logic (kernel maths, seeding, the life classifier) lives in one dependency-free file, so the same code runs in the browser, in the test page and in CI. Testing found a real defect in an earlier version: single-ring genomes used only the inner third of the kernel radius. It is fixed and covered by tests.

      anima/
      ├─ index.html              // the lab
      ├─ assets/
      │  ├─ css/style.css
      │  └─ js/
      │     ├─ core.js           // pure, tested logic
      │     └─ app.js            // WebGL2 + UI
      ├─ tests/                  // browser + Node runner
      ├─ docs/                   // architecture, method
      ├─ .github/workflows/      // test → deploy
      ├─ CITATION.cff  LICENSE  README.md

      Designed & Developed by

      NIKHIL CHARY SRIRAMOJU is a final-year B.Tech student in Computer Science and Engineering. He builds systems that sit between graphics, AI and security, and made ANima as a major project to show GPU programming, experiment design and clean engineering in one place.

      Virtual job simulations (Forage)
      • Software Engineer at a Start Up
      • Technology Consulting, PwC
      • Cyber Security Consulting, PwC
      • Automation AI Accelerator, Datacom
      • Cyber Security Operations, Datacom
      • Cyber Security Global Virtual Internship, Clifford Chance
      • Data Science, British Airways
      • Data and Technology Transactions, Latham & Watkins
      • Data Analytics, Deloitte
      • Technology, Deloitte
      NASSCOM / Skill India Digital Hub
      • IT Forensic Analyst
      • Product Manager, Web & Mobile
      • Cloud Infrastructure Analyst
      • Analyst Endpoint Security, Cybersecurity
      • Blockchain Architect
      Programmes and internship
      • Data Analytics internship, Thiranex
      • Industry 4.0 Robotics Systems, Reliance Foundation Skilling Academy (90 hours)
      • IoT Security Specialist, Reliance Foundation Skilling Academy
      • AI-Machine Learning Engineer Foundation, Reliance Foundation Skilling Academy
      • Yuva AI for All, NIELIT / Skill India (NSQF Level 2)
      • Mastering Power BI, PHN Technology
      • How to Get a Job, UNICEF Yuwaah