{"name":"entropy lock pick","description":"Inspiration:\n\nI had the opportunity to flip @Aebrer's BE NOT AFRAID https://teia.art/objkt/750984\n\nI wanted to keep two core features from the original tweetcart; Entropy Locking (randomly reducing the entropy of a generative space using srand()) and using screen data as a sprite-sheet. BE NOT AFRAID strictly paired these two features, pushing screen contents via sspr(), as srand() reset the entropy for a given generation. So I chose to uncouple these commands on a regular interval. Hence the title, \"entropy lock pick.\"\n\nWhat is a Tweetcart Relay?:\n\nWe receive a tweetcart as a 1/1 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 :)\n\nSuggested Relay Guidelines from myself:\n-> 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\n\nor\n\n-> Copy just a portion of the cart and build new, before passing on the tweet\n\nRelay Information:\n-> inspiration tweetcart: https://teia.art/objkt/750984\n-> inspiration tweetcart author: @Aebrer; tz1ZBMhTa7gxSpaeXoqyc6bTCrxEHfZYSpPt;\n-> destination tweetcart author: @CarsonKompon; tz1XqJ9e6NdouxdGvm2V3aknwFnGL6Kinu6A\n\nPico-8 Source Code:\n-> 128 Tokens, 275 Characters;\n```\n?\"\\^!5f107?◆🅾️>8☉웃9:♥⌂;⬅️<♪\"\nr,p,q=rnd,srand,poke\ns=r(-1)\np(s)\nf=0\nq(0x5f54,0x60)\nq(24364,5)\ncls(r(16))\n::_::\nfor i=0,16do x,y=r(65),r(128)?\"\\22\",x,y,pget(x,y)+1\nend\nif(r()>.96and f<4)f+=1p(s)sspr(r(3),r(3),122,122,0,0,128,128)\nif(f>=4)f=0s=r(-1)p(s)\nflip()goto _\n```\n\nExplanation:\n\n```\n-- using @2dArray's excellent Palette-Maker \n-- https://www.lexaloffle.com/bbs/?pid=68190\n?\"\\^!5f107?◆🅾️>8☉웃9:♥⌂;⬅️<♪\"\n\n-- store keywords to save chars later on\n-- srand resets the random seed\n-- poke will let us adjust Pico-8 Memory values\nr,p,q=rnd,srand,poke\n\n-- get and assign random seed value\ns=r(-1)\np(s)\n\n-- f will be an incrementing value from 0-4\n-- helping us 'pick the entropy lock' by getting a new seed value\nf=0\n\n-- set the screen memory as the spritesheet with poke()\nq(0x5f54,0x60)\n-- mirror the screen from left to right\nq(24364,5)\n-- assign a random start color\ncls(r(16))\n\n-- label for GOTO statement\n::_::\n\n-- every frame, place 16 triangles down on the left side of the screen\n-- ?\"\\n\" is shorthand for print a given P8SCII code. 22 is a triangle\n-- print the color of the given x,y coord + 1, so we increment through\n-- the entire palette and back again \nfor i=0,16 do \n  x,y=r(65),r(128)\n  ?\"\\22\",x,y,pget(x,y)+1\nend\n\n-- if random value is high enough lock entropy by reset seed, and randomly feed-forward expand a part of the display\nif(r()>.96and f<4)f+=1p(s)sspr(r(3),r(3),122,122,0,0,128,128)\n-- every 4 locks, reset to a new seed value\nif(f>=4)f=0s=r(-1)p(s)\n\n-- animate at a \"smooth\" 30fps\nflip()\n-- consider Dijkstra harmful? #goto4life\ngoto _\n```\n\nTo Friends and Creators:\nWant 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. \n\nFind me on Twitter @Alexthescott, and I encourage you to join our Neoretro Creative Coding Discord to learn together. Send myself or @aebrer a DM, and we'd be happy to send you an invitation ","tags":["pico-8","tweetcartrelay","opensource","entropylocking","tweetcart","neoretro","creativecoding","generative","pixelart","pico8"],"symbol":"OBJKT","artifactUri":"ipfs://QmP29wsUoZE4pCyWHtKmvY4Ent1TJBT1dVev5dPbaCAbLH","displayUri":"ipfs://QmU3B7MB9Crn7QcYMAcjt37VUo3vx4HFd1guhsVkLQhg5B","thumbnailUri":"ipfs://QmNrhZHUaEqxhyLfqoq1mtHSipkWHeT31LNHb1QEbDHgnc","creators":["tz1St3n29AbYXZXV8W1BG41qYzz86J2CFAW7"],"formats":[{"uri":"ipfs://QmP29wsUoZE4pCyWHtKmvY4Ent1TJBT1dVev5dPbaCAbLH","mimeType":"application/x-directory"}],"decimals":0,"isBooleanAmount":false,"shouldPreferSymbol":false}