1111

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-segment digits are huge), nor from the initial population count (there are some useless stuff, and some stuff that could certainly be made simpler), and the ...


1105

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 culmination of the efforts of many users over the course of the past 1 & 1/2 years. Although the composition of the team has varied over time, the ...


778

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 (linked above) says, The OTCA metapixel is a 2048 × 2048 period 35328 unit cell that was constructed by Brice Due... It has many advantages... including the ...


748

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 a crucial component to the ROM, RAM, and ALU. It routes an input signal to one of the many output signals based on some given selector data. It is composed of ...


710

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) architecture is practically a requirement. In our case, this means that the number of opcodes is small and, much more importantly, that all instructions are ...


666

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 level. We began work on a new language in September 2016. Progress on the language was slow due to hard to understand bugs as well as real life. We built a low ...


88

Penrose rhombii in Python, +97 points I chose a penrose tiling composed of two different shaped rhombuses, meeting 3-8 per vertex. This penrose tiling is proven aperiodic elsewhere. The simulation is graphical (via pygame) and interactive. Comments indicate two places in the code where algorithm implementation was taken from another source. There are many ...


57

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 z instead), so the second line should be launched separately, and then the rest: e=numeric a=1%*%scan() x=1 o=a>3 n=1 while(any(o)){ v=which(o,T) if(any(v==1)){a=rbind(e(n+2),cbind(e(n),a,e(n)),e(n+2));x=x+1;n=n+2;v=which(a>3,...


51

C++ w/ OpenGL (+17) So I tried 3-Isohedral convex pentagon grid. Works for me ;) Standard game of life rules apply, except the grid is not infinite - there are border cells outside the image. 30% of the cells are initially alive. This is how the grid looks like: The live version: Blue cells are alive, white are dead. Red cells just died, green were just ...


45

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 OOO OOO OOO OOO O O O O O O O O O O OO O O O O O O O OOO OO OOO OOO X Image of initial state Copy.sh export #C ...


42

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://1drv.ms/u/s!ArQEzxH5nQLKhvwAmwCY-IPiBuBmBw Guiding Principles - Since this was my first time using a cellular automaton I avoided stringing together large ...


41

Go, ? points So rather than pin myself down to a particular tiling, I wrote a program that takes a gif or png of a tiling and runs life on it. The gif/png must use a single color for all the tiles. package main import ( "flag" "image" "image/color" "image/gif" "image/png" "math/rand" "os" "strings" ) func main() { ...


34

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 use Mathematica's builtin CellularAutomaton! Try it online! Empty = 0, Awake = 1, Sleeping = 2 Animation of the first 256 iterations (white = empty, gray = awake, black = sleeping): Explanation ...


33

Java - 11 (ish) points Comes with fully (mostly) functioning interactive environment! EDIT Fatal flaw discovered :( The path of the alive regions is bounded by the area it is originally formed in. In order to pass the square - double-pentagon barrier, one must have a pre-shaded region on the other side. This is because each shape below it only touches 2 ...


30

Wolfram Language (Mathematica), 15 bytes 2#-#~Erosion~1& Try it online! Or (39 bytes): MorphologicalPerimeter[#,Padding->1]+#& Try it online! What else would we expect from Mathematica? Characters used are {Astan -> 0, Blandia -> 1, Trench -> 2}.


25

TI-BASIC, 96 bytes (87 for non-competing entry) For your TI-84 series graphing calculator (!). This was quite a challenge, because there is no easy way to write a buffered graphics routine (definitely nothing built in), and the graph screen has only four relevant graphics commands: Pxl-On(), Pxl-Off(), Pxl-Change(), and pxl-Test(). Uses every accessible ...


25

Python I place multiple points on a metatile, which is then copied periodically in a rectangular or hexagonal tiling (the metatiles are allowed to overlap). From the set of all points i then compute the Voronoi diagram which makes up my grid. Some older examples Random graph, the Delaunay trinagulation is shown which is also used internally to find the ...


22

Javascript [25+?] http://jsfiddle.net/Therm/dqb2h2oc/ House tessellations! There are two shapes: "House" and "Upsidedown House", each with 7 neighbors. Currently I have a score of 25. still life : +2 2-stage oscillator "beacon" : +3 (Credit to isaacg) Spaceship "Toad" : +10 (Credit to ...


22

Javascript [27+?] http://jsfiddle.net/Therm/5n53auja/ Round 2! Now with hexagons, squares, and triangles. And interactivity This version supports clicking tiles to toggle their state, for you pattern hunters out there. Note: Some of the click handling may be a bit wonky, especially for low values of s, as click events are tracked as integers but calculations ...


21

x86 Assembler, MSDOS, 32 bytes 0xC5 0x24 0x20 0xB3 0x07 0x08 0x04 0xA7 0xC0 0x2D 0x05 0x91 0x02 0x41 0x5E 0x02 0x40 0xFC 0x02 0x80 0x9C 0x00 0x4B 0x75 0xF2 0x8A 0x04 0xF9 0xD2 0xD8 0xEB 0xE1 This code is written in x86 assembler and works in MSDOS. The binary is 32 bytes in size. You can find a very detailed description here. The visible field is 80x25. ...


21

Mathematica, 133 bytes FromCharacterCode@Nest[BlockMap[If[#>126,#~Mod~127+32,#]&[BitXor[#,#2]~BitOr~#3]&@@#&,ArrayPad[#,1,32],3,1]&,ToCharacterCode@#,#2+1]& It would be nice to make a CellularAutomaton[] solution work, but I kept coming up short. Anyone? Edit: some pretty pictures (click to enlarge) plotCA[str_, n_] := ArrayPlot[...


19

MATL, 21 19 bytes l31:"TTYat3Y6Z+1=Y| Try it online! Explanation l % Push 1 (this is the initial 1×1 array) 31:" % Do 31 times TTYa % Extend with a frame of zeros in 2D t % Duplicate 3Y6 % Push [1 1 1; 1 0 1; 1 1 1] (8-neighbourhood; predefined literal) Z+ % 2D convolution, maintaining size. This gives the ...


18

Cairo pentagonal tiling (+ generic framework), 17+ points This tiling is surprisingly easy to draw: the key is that the only irrational number which is important for drawing it, sqrt(3), is very close to the rational number 7/4, which has the added bonus that if you subtract 1 from the numerator and denominator you get 6/3 = 2, so that the non-axis-aligned ...


18

Rhombille (30+ points) This grid has quite high connectivity (each cell has 10 neighbours), and curiously this seems to contribute more effectively to birth than to death. Most random grids seem to trigger infinite growth (25 points); e.g. this 5-cell starting position: evolves over 300 generations into something enormous: and the population grows ...


17

Ruby, 113 characters c=[0]*41 eval"[#{gets}].map{|i|c[i]=1}"+' c=(0..39).map{|x|putc" X"[u=c[x]] 110[4*c[x-1]+2*u+c[x+1]]}<<0;puts'*40 Takes input on stdin. To use a different rule, simply replace the 110 in the last line with whatever rule you want to try. Example: $ ruby 110.rb <<< 38,39 XX ...


16

Rhombitrihexagonal tiling, 17+ points As requested by Martin Büttner. Still life (2 points): Oscillators of periods (clockwise from top-left) 2, 4, 5, 6, 11 (15 points): In general an oscillator has a set of cells which change (the core), a set of cells which neighbour the core (the cladding), and a set of cells which keep the cladding from changing (the ...


15

J (39 characters) l=:[:+/(3 4=/[:+/(,/,"0/~i:1)|.])*.1,:] Based on this APL version (same algorithm, toroidal convolution). Example usage: r =: (i.3 3) e. 1 2 3 5 8 r 0 1 1 NB. A glider! 1 0 1 0 0 1 R =: _1 _2 |. 5 7 {. r R 0 0 0 0 0 0 0 NB. Test board 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 l R 0 0 0 0 0 0 0 ...


15

Penrose-esque projection of 7-dimensional lattice (64+ points) This is similar to the Penrose tiling (to get a Penrose tiling replace N = 7 with N = 5) and qualifies for the aperiodic bonus (40 points). Still life (2 points): trivial because the protocells are convex, so any vertex of order 3 or more suffices. (Pick all of its faces if it is order 3, or ...


14

Aperiodic Labyrinth tiling (45+ points) This uses the generic framework from my earlier answer. Still life (2 points): Oscillator (3 points): This oscillator is extremely common, turning up in the result of most random starting points. Code: import java.awt.Point; import java.util.*; public class LabyrinthTiling implements Tiling<String> { ...


Only top voted, non community-wiki answers of a minimum length are eligible