http://www.perlmonks.org?node_id=266445

And again, a vt100 obfuscated game sig thingy.
enjoy.

print"\ec";for\$b(0..15){\$e[\$b].=int 2*rand for 0..(\$h=30)}{\$b=-1;for\$f +(@ a=@e){\$e[++\$b]="";print"\e[\$b\H\$f\$/";for\$c(0..\$h){\$l=0;for(\$b-1..\$b+1) +{\$ _=\$_>0&&\$_<\$h?substr\$a[\$_],\$c?\$c-1:\$c,\$c==\$h?2:\$c?3:2:1;\$l+=tr/0//}\$l- +=\$ d=!substr\$f,\$c,1;\$e[\$b].=\$l==3||\$l==2&&\$d?0:\$"}}select\$q,\$q,\$q,0.1;red +o}

alex
ps. oh yeah, you can put different things in @e (an array of 30 bit binary strings) for different behavior:
for\$b(0..15){\$e[\$b].=int 2*rand for 0..30} # (random) # or @e=(1x30)x30; #(R-pentomino) \$e[14]=("1"x14)."00".("1"x14); \$e[15]=("1"x13)."00".("1"x15); \$e[16]=("1"x14)."0".("1"x15); # or @e=(1x30)x30; #(Pulsar) \$e[12]=("1"x13)."101".("1"x13); \$e[13]=("1"x13)."000".("1"x13); \$e[14]=("1"x13)."010".("1"x13); \$e[15]=("1"x13)."000".("1"x13); \$e[16]=("1"x13)."101".("1"x13); # or @e=(1x30)x30; #(pentadecathlon) \$e[15]=("1"x10).("0"x10)."1"x10; # followed by: print"\ec";{\$b=-1;for\$f(@a=@e) {\$e[++\$b]="";print"\e[\$b\H\$f\$/";for\$c(0..30){for(\$b-1..\$b+1){\$_=\$_>0&& +\$_ <30?substr\$a[\$_],\$c?\$c-1:\$c,\$c==30?2:\$c?3:2:1;\$l+=tr/0//}\$l-=\$d=!subst +r\$ f,\$c,1;\$e[\$b].=\$l==3||\$l==2&&\$d?0:\$";\$l=0}}select\$q,\$q,\$q,0.1;redo}

some of the examples above require resizing an xterm (as they are too "tall")
(oh yeah, i know the extra patterns push it over 4 lines, i don't really care!)