Cart #24292 | 2016-07-02 | Code ▽ | License: CC4-BY-NC-SA

Weird automata - a pixel area is traced by a snaking 8-directional self-avoiding walk. Every time the snake hits a dead-end, that snake dies, and a new snake is born in a different color. No flip() done, so you can see the results quicker. The way it plays out looks somewhat painterly after a bit, before quickly devolving into random noise.

 ```n=128k=1 r=rnd::a::x=r(n)y=r(n)z=9::b:: u=x-1+r(2)v=y-1+r(2)z-=1 if(pget(u,v)==0)x=u%n y=v%n z=9 pset(x,y,k) if(z<0)k+=1 goto a goto b ```
P#24293 2016-07-02 14:20 ( Edited 2016-07-02 18:20)

Hi overkill, is x=_ same as x=false?

P#24295 2016-07-02 14:36 ( Edited 2016-07-02 18:36)

Cart #24296 | 2016-07-02 | Code ▽ | License: CC4-BY-NC-SA

 ```poke(24364,7)w=64 t=0::s:: t+=0.3 for i=0,5000 do x=rnd(w)-w y=rnd(w)-w pset(x+w,y+w,bxor(atan2(x,y)*16,256/sqrt(x*x+y*y)+t)%3)end goto s ```
P#24297 2016-07-02 14:40 ( Edited 2016-07-02 18:40)

electricgryphon: Yep! Well there's a bit going on there.

since isn't defined, will be nil, and nil values evaluate to false when used in conditionals. Anything that isn't nil or false is treated as true, so by using and 1 you can get false and true with less characters (provided you don't use elsewhere).

Also comparing two things that aren't defined (nil) will return true, so you can use that to initialize stuff potentially (like I did in my waterfall tweetjam). Watch out though, comparison ==/!= will actually treat false vs. nil as distinct values, same with true vs 1, and you can't do order comparison or arithmetic against nil.

P#24298 2016-07-02 14:49 ( Edited 2016-07-02 18:49)
2

Cart #24300 | 2016-07-02 | Code ▽ | License: CC4-BY-NC-SA
2

 ```w=64 t=0::s:: t+=0.1 for i=0,5000 do x=rnd(w*2)-w y=rnd(w*2)-w circ(x+w,y+w,1,bxor(16*(atan2(x,y)+cos(t/w)),256/sqrt(x*x+y*y)+t))end goto s ```
P#24301 2016-07-02 14:57 ( Edited 2016-07-02 18:57)
:: JTE

Cart #24305 | 2016-07-02 | Code ▽ | License: CC4-BY-NC-SA

I made an edit to Overkill's water tiles.

 ```cls()memset(8192,1,4096)::a::srand(2)for f=1,60 do for n=1,8 do sset(rnd(8)+8,rnd(8),12) end sset(rnd(8)+8,rnd(8),7)map()flip()end goto a ```

Concept being, I've been hoping someone would make a cart which uses a fixed seed to generate an intentional and deliberate "random" animation in a way which looks handcrafted despite that not being possible in so few characters.

Actually, here's an even smaller alternative. (No cls, and why use two ssets when you can use one?)

Cart #24307 | 2016-07-02 | Code ▽ | License: CC4-BY-NC-SA

 ```memset(8192,1,4096)::a::srand(3)for f=1,50 do for n=1,12 do sset(rnd(8)+8,rnd(8),rnd(16)>1 and 12 or 7) end map()flip()end goto a ```

I made it a separate cart since the animation is different, but I think I like it better this way.

P#24306 2016-07-02 16:36 ( Edited 2016-07-02 20:59)
:: ilkke

God damn @kometbomb! D:

P#24330 2016-07-02 20:22 ( Edited 2016-07-03 00:22)
:: ilkke

Cart #24333 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```a=0 while 1 do cls()for i=0,100,4 do s=sin(a)*i/2 c=cos(a)*i/1.5 circ(64+s,64+c,i,i%15)circ(64+s,64+c,i+1,i%15)end a+=0.02 flip()end ```
P#24334 2016-07-02 20:26 ( Edited 2016-07-03 00:26)
:: NuSan

Cart #24332 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

I didnt know you could gain characters by regrouping some lines together, prety usefull

 ```r=rnd t=0::s::srand()c=cos(t)s=sin(t)cls() for i=1,999 do x=r()-.5z=r()-.5n=64/(s*x+c*z)pset((c*x+s*z)*n+64,r()*n,7)end t+=.005 flip()goto s ```
P#24336 2016-07-02 20:27 ( Edited 2016-07-03 00:27)
:: ilkke

Cart #24335 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```a=0 while 1 do cls(2)for i=4,96,8 do s=sin(a)*9 c=cos(a)*9 for h=0,1 do circ(64-c,64-s/2,i+h,9)circ(64+s,64+c,i+h,9)end end a+=.03 flip()end ```
P#24337 2016-07-02 20:27 ( Edited 2016-07-03 00:27)
:: ilkke

Cart #24338 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```a=0 while 1 do cls() for i = 0,99,4 do s=sin(a)*i c=cos(a)*i circ(64-s,64+c,i,i%15) circ(64+s,64-c,i,i%15) end a+=0.01 flip() end ```
P#24339 2016-07-02 20:28 ( Edited 2016-07-03 00:28)
:: Felice

ilkke is a tweet-jammin' machine. :)

P#24341 2016-07-02 20:40 ( Edited 2016-07-03 00:40)
:: NuSan
1

Cart #24342 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```r=rnd::s::n=128 k=r()*1.05 for i=0,9999 do pset(r(n),r(n),k) end circfill(r(n),r(n),r(9),8+r(3)) line(r(n),r(n),r(n),r(n),8+r(4)) goto s ```
P#24343 2016-07-02 20:52 ( Edited 2016-07-03 00:52)
:: NuSan
1

Cart #24345 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```n=128 r=rnd x=64y=64::s::for i=0,999 do l=r(n)k=r(n)pset(l,k,max(0,pget(l,k)-1))end circfill(x,y,7,15)x+=r(8)-4 y+=r(8)-4 x=x%n y=y%n goto s ```
P#24346 2016-07-02 21:09 ( Edited 2016-07-03 01:09)
:: knarf

Cart #24348 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

Hello :] my very first pico-8 thing...
That was fun!Nice stuff everyone :)

 ```z=64 t=0 cls() function _draw() for i=-32,32 do circfill(rnd(1)+z+16*cos(t*i),z+16*sin(t*i),i*sin(t),4*t+(i%3)) end t+=0.001 end ```
P#24349 2016-07-02 21:38 ( Edited 2016-07-03 01:38)
:: NuSan
1

Cart #24350 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```n=128 r=rnd x=0y=n::s::for i=0,3999 do pset(r(n),r(n),0)end y+=6 if y>n then x=r(n)*.5 y=0 end print("t w e e t j a m",x,y,11) flip() goto s ```
P#24351 2016-07-02 21:42 ( Edited 2016-07-03 01:42)

@knarf

Love the smear effect that pops up occasionally :)
Like water swirling down a drain

P#24352 2016-07-02 22:03 ( Edited 2016-07-03 02:03)

@NuSan pure brilliance, good lord

everyone in this thread is my favorite

P#24354 2016-07-02 22:21 ( Edited 2016-07-03 02:21)

Cart #24356 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```::s::memcpy(0x0,0x6000,0x2000)for i=0,999 do x=rnd(128)y=rnd(128)k=sget(x,y)if k>0 then circ(x,y,1,8+(k+1)%8)pset(x,y,k)end end flip()goto s ```
P#24357 2016-07-02 22:27 ( Edited 2016-07-03 02:27)

@dcturner wow I love that bottlerocket code! Had to bring the code into pico-8 and fiddle with it myself to understand what was going on. :) Love it.

P#24359 2016-07-02 23:18 ( Edited 2016-07-03 03:18)

Cart #24360 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

paint blast

 ```t=0n=99k=64 f=sin::s::for i=1,n do s=f(t+(i^3-i^2)/n)c=f(.25+t+(i^5-i^3)/n)circfill(k+s^3*99,c^3*n+k,8,i%3+t*2) end t+=.005 flip()goto s ```
P#24361 2016-07-02 23:31 ( Edited 2016-07-03 03:31)

Oh, this is stupid fun. Here's 37 painters disagreeing with each other:

Cart #24362 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```a={} while(1)do for i=1,37 do a[i]=a[i]or{x=i*3,y=i*7}b=a[i] b.x=(b.x+rnd(2)-1)%128 b.y=(b.y+rnd(2)-1)%128 circfill(b.x,b.y,i%5,i) end end ```
P#24364 2016-07-02 23:51 ( Edited 2016-07-03 06:24)
:: solar
2

Cart #24368 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
2

You're flipping between channels on your old analog TV, looking for your favourite colour.

 ```i=0::s::a=24576 s=sin(i/102)*100 memset(a+4000+s,i,64) o=1+s*10 memcpy(a+o,a,max(0,8192-o)) flip() i+=1 goto s ```
P#24369 2016-07-03 00:20 ( Edited 2016-07-03 04:21)

@Felice: Thanks for the tip!!! I wondered if there's anything like that in Lua, awesome.

Everyone else, half of this stuff is magic to me. How you do mandelbrot and blinking analog TVs in under 140 … Magic.

I definitely feel 10 years old again, as I ws back in the early 90s, reading computer magazine listings with all the binary code programs while I only knew BASIC (ZX Spectrum) and it was also all magic. A master's degree in CS and 20 years of experience later … and something deceptively simple like Pico-8 brings me down to my knees. To everyone in this thread, kudos.

P#24375 2016-07-03 02:23 ( Edited 2016-07-03 06:23)

Cart #24376 | 2016-07-03 | Code ▽ | No License

130

I was following my wife around as she was dress shopping when I saw an interesting pattern on one of them that I wanted to program for the tweetjam. I ended up accidentally finding this one which wasn't my original intention but still looks kinda cool.

 ```t=0 d=18::s:: t+=0.1 for i=0,d*d do x=flr(i/d)*16-16+(i%2==0 and 8 or 0) y=(i%d)*8-8 circ(x,y,8*(1+sin((x+y+t)/128)),t)end goto s ```
P#24377 2016-07-03 02:48 ( Edited 2016-07-03 06:48)

Cart #24378 | 2016-07-03 | Code ▽ | No License

132

 ```t=0 d=16::s::cls()t+=.005 for i=0,d*d do x=flr(i/d)*d-8*8+(i%2==0 and 8 or 0)y=(i%d)*8-d circ(x,y,6+(7+7*sin(t)),7)end flip()goto s ```
P#24379 2016-07-03 03:48 ( Edited 2016-07-03 07:48)
1

Neat, @guerragames. That colorful one looks like Batik!

My last one was sorta aggressive. This one is much calmer: a nice midnight drive under the stars ^__^

Cart #24383 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```w=128i=78t=0l=circfill ::s:: t-=1 l(i,i,w,1)srand()for y=1,i do x=(rnd(w)+t)%w l(x,y,sin((y+t)/17)*2,6)line(x*9,w,x,i+y%7,3)end flip()goto s ```
P#24384 2016-07-03 04:41 ( Edited 2016-07-03 08:41)
:: NuSan

Cart #24386 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```t=0::s::cls()srand()for i=1,500 do p=9-i/50 j=(p+sin(t)-t*9)%11+.1 k=rnd(9)-5+cos(t)circfill(k/j*50+64,80/j-20,9/j,p)end t+=.01 flip()goto s ```
P#24387 2016-07-03 05:11 ( Edited 2016-07-03 09:11)
:: matt

How many of these can we fit into one cart?

I'd love to see them as some sort of semi-official screen saver!

I'll put a framework together.

P#24388 2016-07-03 05:23 ( Edited 2016-07-03 09:24)
:: nyarlu

subpixel: Starry Drive is so lovely and chilled, i adore it! <3

P#24389 2016-07-03 05:30 ( Edited 2016-07-03 09:30)

Thanks nyarlu! How does this all work? Shy guy will explain it all, if you ask nicely.

Cart #24390 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```h=64q=32l=circfill t=0m=sin::s:: t+=.03 cls()camera(m(t/7)*9)l(q,q,h,7)l(q,q,9,0)l(h+q,q)a=m(t)*3+8 b=m(t*4)*2 rect(h,h,q+a,h+b)flip()goto s ```
P#24391 2016-07-03 05:36 ( Edited 2016-07-03 09:37)
:: ilkke

Cart #24392 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```poke(0x5f2c,5)a=0::l::cls()srand(0)for i=0,20 do o=sin(a)*(i/20)r=rnd(99)p=rnd(99-i) circfill(r+i*o,r+i,p/2-o,i+o)end a+=.05 flip()goto l ```
P#24393 2016-07-03 06:36 ( Edited 2016-07-03 10:36)
:: NuSan

Cart #24394 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```cls()m=32v=1::s:: r=rnd n=128 memcpy(24640,24576,8128)circ(r(n),r(32)+9,r(8),r(4)+1) if(pget(m,64)>0)v=-v m=(m+v)%n pset(m,64,7)flip()goto s ```
P#24396 2016-07-03 06:43 ( Edited 2016-07-03 10:43)
:: NuSan

Cart #24397 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```m=0v=0::s:: r=rnd memcpy(24640,24576,8128)circ(r(128),r(32)+9,r(8),8) if(pget(m+64,64)>0)v=r(8)-4 v*=.9 m=m*.9+v pset(m+64,64,7)flip()goto s ```
P#24398 2016-07-03 06:45 ( Edited 2016-07-03 10:45)
:: NuSan
2

Cart #24399 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
2

A small game : use left/right to stay in the tunnel
But the tunnel will eventually close ...

 ```x=64m=64::s:: memcpy(24640,24576,8128)x+=rnd(8)-4 line(0,0,128,0,8)line(x,0,x+40,0,0) if(btn(0))m-=1 if(btn(1))m+=1 pset(m,64,7)flip()goto s ```
P#24400 2016-07-03 07:00 ( Edited 2016-07-03 11:00)
:: NuSan
5

Cart #24408 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
5

 ```t=0::s:: n=128 l=0 for i=0,15 do a=64+50*sin(i*.1+t)*sin(t*.3)line(a,i*9,l,i*9-9,i+t*30)l=a line(rnd(n),0,rnd(n),n,0)end t+=.01 flip()goto s ```
P#24409 2016-07-03 08:25 ( Edited 2016-07-03 12:25)
:: NuSan
3

Cart #24410 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
3

This really is the funniest jam ever

 ```t=7::s::l=0 for i=0,40 do a=64+30*sin(i*.1+t*sin(t*.1))*sin(t*7)line(a,i*9,l,i*9-9,t*300)l=a memset(24576+rnd(8190),0,2) end t+=.0005 goto s ```
P#24411 2016-07-03 08:28 ( Edited 2016-07-03 12:28)
:: NuSan

I just discovered that you can in fact vote for carts from this thread if you go on the user's cartridge page, like here. So the vote could probably be integrated with each cart player instead of only for the thread ... that would be so cool

P#24412 2016-07-03 08:45 ( Edited 2016-07-03 12:45)
:: Godzil
1

Upupupu:

Cart #24413 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```for i=0,16384 do poke(i,rnd(256)) end music(0)t=0::s::map(t%128,0) t+=1 for i=0,4096 do poke(i,rnd(256)) end goto s ```
P#24414 2016-07-03 09:44 ( Edited 2016-07-03 13:44)
1

Cart #24415 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

🐤 FLAPPYTWEET

• Use arrow up to jump over the walls
• If you hit a wall, you die
 ```y=0 w=128 t=w while t>1 do cls()t+=1 srand(flr(t/w))x=w-t%w y+=1 if(btn(2))y-=2 pset(9,y)i=rnd(w)line(x,i,x,w) if(x==9 and y>i)t=0 flip()end ```
P#24416 2016-07-03 10:12 ( Edited 2016-07-03 14:12)
:: Godzil

@bpierre: you should cap the pixel to the top of the screen, else keeping up you will never lose :)

P#24417 2016-07-03 10:16 ( Edited 2016-07-03 14:16)

@Godzil I know ha ha, but I couldn’t find a way, it’s exactly 140 chars!

P#24419 2016-07-03 10:24 ( Edited 2016-07-03 14:24)
4

Cart #24422 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
4

inspired by 'tweetjam' by NuSan (great dissolution ^^)

one-liner @140 including eol

 ```n=128w={}r=rnd::s::for i=1,4096 do pset(r(n),r(n),0)v=w[i]x=i*4-4print(8,x,v,3)v=v and(v+6)%n or r(n)print(8,x,v,6)w[i]=v end flip()goto s ```
P#24423 2016-07-03 11:05 ( Edited 2016-07-03 15:05)
:: NuSan

Nice @ultrabrite that is exactly the effect I wanted to make and couldnt manage in 140 characters. So it seems I need to work on how to use array effectively !

P#24429 2016-07-03 11:45 ( Edited 2016-07-03 15:45)

@ultrabrite holy crap, that is spot-on

P#24430 2016-07-03 11:50 ( Edited 2016-07-03 15:50)
:: jonbro

thanks to kometbomb for the monte carlo trick!

Cart #24431 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

I am on raspberrypi, so I can't figure out how to post my code, sorry!

P#24432 2016-07-03 12:20 ( Edited 2016-07-03 16:20)
:: NuSan
1

Cart #24433 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA
1

 ```t=0::s::cls()srand()pal(0,12,1)for i=0,140 do l={"^-_","-^-","_-^"}print(l[flr(i*.2-t)%3+1],rnd(140),i-sin(t*.05)*9,7)end t+=.1 flip()goto s ```
P#24434 2016-07-03 12:26 ( Edited 2016-07-03 16:26)
:: NuSan

Cart #24436 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

Glitchy image and sound in 140 characters

 ```r=rnd::s::l=4096 b=memset b(24576+r(l),r(l),r(l))for i=0,9999 do x=r()-.5 y=r()-.5 pset(.3/x%128,.3/y%128,0)end b(12800,r(l),10)sfx(0)goto s ```
P#24437 2016-07-03 13:06 ( Edited 2016-07-03 17:06)

...those who drink from the rainbow cup
will love like a summer's eve
both flame and the flood
without shyness' leave

Cart #24438 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

 ```cls()t=0::s:: t+=1 for y=9,33 do for x=0,9 do g=x/y h=y^2/9+cos(g*.7-t/7)*y/9+sin(g+t/9)pset(x+7,h,y-t)end end print("love",0,0)flip()goto s ```
P#24439 2016-07-03 13:14 ( Edited 2016-07-03 17:14)

This thread is so amazing. It's inspired me to finally play with Pico-8, so thanks to Adam and everyone else for that. (I have literally played every single cartridge posted in this thread so far.)

Anyway, here's my first cartridge for submission, just some simple purple dots on a grid:

Cart #24440 | 2016-07-03 | Code ▽ | License: CC4-BY-NC-SA

EDIT: (Oops, forgot the code, not that it's terribly exciting, maybe it'll help some beginners.)

 ```cls() while 1 do for x=0,8 do for y=0,8 do circfill(x*16,y*16,rnd(5,10),rnd(16)%3) end end end ```
P#24441 2016-07-03 13:24 ( Edited 2016-07-03 17:29)