[{"data":1,"prerenderedAt":86},["ShallowReactive",2],{"$tCh0kANb90":3},[4],{"id":5,"title":6,"body":7,"description":68,"extension":69,"meta":70,"navigation":71,"path":72,"pubDate":73,"seo":74,"stem":75,"tags":76,"tech":81,"__hash__":85},"experiments\u002Fexperiments\u002Fgame-of-life.md","Game of Life",{"type":8,"value":9,"toc":61},"minimark",[10,14,19,32,36,39,51,54,58],[11,12,13],"p",{},"Conway's Game of Life is a cellular automaton devised by mathematician John Conway. It's a zero-player game where the evolution is determined by its initial state.",[15,16,18],"h2",{"id":17},"the-rules","The Rules",[20,21,22,26,29],"ol",{},[23,24,25],"li",{},"Any live cell with 2 or 3 live neighbors survives",[23,27,28],{},"Any dead cell with exactly 3 live neighbors becomes a live cell",[23,30,31],{},"All other cells die or stay dead",[15,33,35],{"id":34},"how-it-works","How It Works",[11,37,38],{},"This implementation uses Rust compiled to WebAssembly for the game logic. The Rust code handles:",[40,41,42,45,48],"ul",{},[23,43,44],{},"Grid state management",[23,46,47],{},"Neighbor counting with wraparound edges",[23,49,50],{},"State transitions each generation",[11,52,53],{},"The canvas rendering happens in JavaScript, receiving the cell data directly from WASM memory.",[15,55,57],{"id":56},"try-it","Try It",[11,59,60],{},"Click cells to toggle them, or use the randomize button to generate a random pattern. Press play to watch generations evolve.",{"title":62,"searchDepth":63,"depth":63,"links":64},"",2,[65,66,67],{"id":17,"depth":63,"text":18},{"id":34,"depth":63,"text":35},{"id":56,"depth":63,"text":57},"Conway's Game of Life implemented in Rust and WebAssembly. Watch patterns evolve and create your own cellular automata.","md",{},true,"\u002Fexperiments\u002Fgame-of-life","2026-03-19",{"title":6,"description":68},"experiments\u002Fgame-of-life",[77,78,79,80],"wasm","rust","canvas","simulation",[82,83,84],"Rust","WebAssembly","Canvas API","99v0cuLdc77piK_mmMVJFBNx3MbENhdnIgWtOpjxRa8",1775933922267]