Inspiration:
Just pure vibes. Saw P1x3lboy was using the `chr()` function to use text for the drawing, I wanted to extend that to include all p8scii symbols (& sigils lol). I also noticed that the entropy-locking was really unique in the inspo tweetcart... it had a wide open space to explore into, because the seed could increase at random, but there were only ~5000 or so possible initial seeds. In this piece, all initial seeds or possible, but I've taken the "random chance to change your own seed" thing and modified it... here, there is a random chance to keep the seed the same, increase it, or decrease it. This means loops can once again occur in the prng. I'm sending this one back to P1x3lboy now, we'll go back in reverse order :)) . but since now we know everyone playing this round, I am minting as four editions so everyone gets one!
What is a Tweetcart Relay?:
Basically we receive a tweetcart as a 1/1 (or whatever tbh) from a friend, and we modify it to make our own tweetcart, which we then send to someone else, to continue the process. Eventually it's our hope to have many relay chains going on with many people, anyone at all who likes to make tweetcarts or wants to learn how :)
Suggested Relay Guidelines from @Alexthescott (tz1St3n29AbYXZXV8W1BG41qYzz86J2CFAW7):
-> Copy the prior tweetcart 1:1, and tweak the cart while keeping some part of the original program until you've left your aesthetic changes however robust, and pass it on
or
-> Copy just a portion of the cart and build new, before passing on the tweet
Relay Information:
-> inspiration tweetcart: Ex-Maelstrom objkt#752914 https://teia.art/objkt/752914
-> inspiration tweetcart author: P1x3lboy; tz1SvJbECAva9gxczfBmX3CAFUszgQXNgsNm
-> destination tweetcart author: P1x3lboy; tz1SvJbECAva9gxczfBmX3CAFUszgQXNgsNm
Pico-8 Source Code:
-> 129 Tokens, 277 Characters;
```
cls()
r,p,q=rnd,srand,poke
s=r(-1)
p(s)
f=0
q(0x5f54,0x60)
q(24364,7)
::_::
palt(r(16)\1,r({true,false}))
for i=0,64do
x,y=r(128),r(128)
z=r(240)\1+16
?chr(z),x,y,f
end
if(r()>.8)f+=1p(s)sspr(r(3),r(3),128-r(3),128-r(3),0,0,128,128)
if(f>=16)f=0p(s)s+=r({0,-1,1})
flip()goto _
Explanation:
```
cls() -- clear screen
r,p,q=rnd,srand,poke -- declare functions
s=r(-1) -- value of -1 causes overflow, get a seed from all possible fixed point numbers
p(s) - set seed
f=0 - set frame counter
q(0x5f54,0x60) - enable use of sspr directly on screen
q(24364,7) - four way mirror
::_:: -- goto loop start
palt(r(16)\1,r({true,false})) -- randomly declare the transparency of one color this frame
for i=0,64do -- draw sigils on screen
x,y=r(128),r(128) -- random position
z=r(240)\1+16 -- random sigil (excludes control symbols)
?chr(z),x,y,f -- print sigil at xy with color based on current framecount
end -- end drawing for this frame
if(r()>.8)f+=1p(s)sspr(r(3),r(3),128-r(3),128-r(3),0,0,128,128) -- 20% chance to increase framecount, reset seed, and extend display using feedforward loop
if(f>=16)f=0p(s)s+=r({0,-1,1}) -- if framecount > 16, reset, and random chance to change seed
flip()goto _ -- draw display buffer to screen and goto _ tag
```
To Friends and Creators:
Want to change the code, or make a relay Tweetcart of yourself based on this one? No problem! You can find the official education edition of the Pico-8 here, for free, usable in the browser, thanks to the Pico-8 Creators lexaloffle & co: https://www.pico-8-edu.com/ . Simply press escape to get to the code editor, copy and paste the source code here into there, and press ctrl+r to run the pico8.
You can find my social ids, newsletter, and links to tutorials at aebrer.xyz . Please feel welcome to join our Neoretro Creative Coding discord, and learn together :)
License:
CC0