1193
votes
Accepted
Build a working game of Tetris in Conway's Game of Life
This began as a quest but ended as an odyssey.
Quest for Tetris Processor, 2,940,928 x 10,295,296
The pattern file, in all its glory, can be found here, viewable in-browser here.
This project is the ...
Community wiki
1162
votes
Accepted
Build a digital clock in Conway's Game of Life
11,520 generations per clock count / 10,016 x 6,796 box / 244,596 pop count
There you go... Was fun.
Well, the design is certainly not optimal. Neither from the bounding box standpoint (those 7-...
832
votes
Build a working game of Tetris in Conway's Game of Life
Part 2: OTCA Metapixel and VarLife
OTCA Metapixel
(Source)
The OTCA Metapixel is a construct in Conway's Game of Life that can be used to simulate any Life-like cellular automata. As the LifeWiki (...
797
votes
Build a working game of Tetris in Conway's Game of Life
Part 3: Hardware
With our knowledge of logic gates and the general structure of the processor, we can start designing all the components of the computer.
Demultiplexer
A demultiplexer, or demux, is ...
756
votes
Build a working game of Tetris in Conway's Game of Life
Part 4: QFTASM and Cogol
Architecture Overview
In short, our computer has a 16-bit asynchronous RISC Harvard architecture. When building a processor by hand, a RISC (reduced instruction set computer)...
710
votes
Build a working game of Tetris in Conway's Game of Life
Part 6: The Newer Compiler to QFTASM
Although Cogol is sufficient for a rudimentary Tetris implementation, it is too simple and too low-level for general-purpose programming at an easily readable ...
57
votes
Build a sandpile
R, 378 343 297 291 bytes
As usually, the user supplies his/her input via scan() (I already used the variable t, so let us take <...
49
votes
Accepted
Minimally destroy CGCC in Game of Life
Score 1, 35 generations
Sorry, but I guess I wrecked the challenge. I brute-forced all meaningful one-dot additions by hand, and found no other answer that wins against this.
Raw ASCII format
...
42
votes
Build a digital clock in Wireworld
Latching Clock
Score - 53,508 (of which only 36,828 is actively used due to the L-shaped design)
High Quality recording - https://1drv.ms/u/s!ArQEzxH5nQLKhvt_HHfcqQKo2FODLQ
Golly pattern - https://...
34
votes
The Quantum Drunkard's Walk
Wolfram Language (Mathematica), 92 91 bytes
Print@@@CellularAutomaton[{7049487784884,{3,{a={0,3,0},3-2a/3,a}},{1,1}},{j={{1}},0},{j#}]&
A perfect challenge to ...
30
votes
Dig a border trench
Wolfram Language (Mathematica), 15 bytes
2#-#~Erosion~1&
Try it online!
Or (39 bytes):
...
25
votes
21
votes
20
votes
17
votes
14
votes
Shortest Game of Life
Vim, 549 552 533 421 420 bytes
Nice.
+3 because of a bug where cells wouldn't die if no cells came to life.
-19 because I made a version that was generalized to any grid size and realized that I ...
14
votes
Bacterial expansion
JavaScript (ES6), 66 62 bytes
a=>a.map(_=>a=a.map((c,i)=>c||Math.max(a[i-1]|0,a[i+1]|0)))&&a
Explanation
...
14
votes
Minimally destroy CGCC in Game of Life
Score 8, 69 generations
This is what I promised for in the comment, but it got already beaten by Dingus...
I can't upload images right now, so I include a text-based initial configuration and the copy....
14
votes
Keep PPCG running in Game of Life
2986 2320 1228 generations
I wrote a rudimentary Python script for Golly to generate random 5x10 patterns until it encountered one whose population was fixed, and whose bounding box was not too large (...
14
votes
Draw constraint system #18762389
Python 3 with numpy, 90 87 86 84 bytes
from numpy import*
lambda n:2*((4<<(a:=(y:=c_[1-n:n])-y.T)//4)+a%4-2&a-2*y)-1<<a<y%2
Takes \$\left\lceil \...
13
votes
Build a sandpile
MATL, 55 53 48 43 42 bytes
Inspired by @flawr's answer.
Graphical output:
0i:"Gto~+XytP*+t"t4=t1Y6Z+b+w~*]]tat3$)1YG
Try it at MATL Online!. It takes ...
12
votes
Binary triangle A141727
Python 2, 52 bytes
Outputs an infinite sequence of rows. As a bonus, it runs extremely slowly.
n=1
while 1:print'%o'%n;x=n;n*=64;exec'n^=x;x/=8;'*x
Try it online!
...
11
votes
11
votes
10
votes
10
votes
Bacterial expansion
Pyth, 18 bytes
um|@d1eSd.:++0G03Q
Test suite
Takes input as a list of integers.
Essentially, this uses a apply until convergence loop, ...
10
votes
Electrons bouncing in a wire
Python 2, 148 142 87 bytes
n=input()
p=l=1
t=1
h=2
while t!=h:
if p==l:t,l,p=h,0,p*2
h=h/2^h*2%2**n;l+=1
print l
Uses Brent's cycle detection algorithm, and thus ...
10
votes
Accepted
Build a digital clock in Wireworld
Binary counter clock (score = 134×33 = 4422 134×32 = 4288)
As promised 2⅔ years ago. Actual building time from scratch was less than 3 days.
I took inspiration from several sources, but in the end ...
10
votes
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
cellular-automata × 58code-golf × 44
game-of-life × 21
code-challenge × 8
ascii-art × 5
graphical-output × 5
grid × 5
game × 4
matrix × 4
math × 3
sequence × 3
fastest-code × 3
busy-beaver × 3
array × 3
string × 2
decision-problem × 2
bitwise × 2
hexagonal-grid × 2
simulation × 2
number × 1
kolmogorov-complexity × 1
arithmetic × 1
popularity-contest × 1
geometry × 1
binary × 1