AntiBrain [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=71860 Roundelie Rescue <p> <table><tr><td> <a href="/bbs/?pid=140766#p"> <img src="/bbs/thumbs/pico8_roundelierescue-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=140766#p"> roundelierescue</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=140766#p"> [Click to Play]</a> </td></tr></table> </p> <p>bug: roundelie can kill the player if it is against the left screen edge and the player tries to push it further. if roundelie is on that edge, try not to push it any more or else you will die.<br /> Bugfix in progress but its complicated due to the nature of the bug.</p> <h1>Roundelie Rescue (READ BELOW)</h1> <p>Welcome to Adelie Rescue Team, or ART for short. Here at ART we make it our mission to save as many penguins in need as we can. That is why you're here! There have been reports of ice caps melting around the arctic, more specifically ones home to the rare Adelie penguin variant, &quot;Roundelie&quot; (scientific name &quot;Pygoscelis adeliae Sphericallus&quot;). Roundelie penguins are known for their mobility, or lack thereof. They cant move on their own anymore due to the climate changes in their natural habitat, and we worry they might go extinct. Thats why we called YOU here! Weve sent you to their home to rescue as many as you can. there sadly should only be four or five of them left here, but thats still more then none! good luck out there adventurer! May meep be on your side!</p> <h3>Controls+How to</h3> <p>Roundelie are heavy! dont let one squish you!<br /> You may push roundelie around without hurting it.<br /> Dash into its side to launch it a bit! dont worry about hurting it, roundelie are very strong.<br /> Line yourself up with one and walk away from it to drag it behind you.<br /> Dash away from it while dragging to throw it overhead.<br /> Roundelie arent affected by any spikes you may see, but dont let them fall off the level.</p> <h3>Credits</h3> <p>Meep - ON_MOVE function and inventing penguins<br /> My sibling - Sad Roundelie mechanic<br /> Celeste classic community - Support<br /> Roundelie sprite - Taco360<br /> EverCore team - Their work on the EverCore base cart</p> https://www.lexaloffle.com/bbs/?tid=140010 https://www.lexaloffle.com/bbs/?tid=140010 Sun, 28 Jan 2024 20:00:47 UTC Risk of Snow Teaser <p>Risk of rain demake in the celeste classic engine</p> <p>This is a in-progress mod i am currently working on. Here are some gifs of items working, mechanics.</p> <p>Ukulele + Wisp in a jar + Gasoline (WIP Visual effects)</p> <img style="margin-bottom:16px" border=0 src="/media/71860/ukulele_wisp_gasoline.gif" alt="" /> <p>Molotov Cocktail Utility </p> <img style="margin-bottom:16px" border=0 src="/media/71860/molotov.gif" alt="" /> <p>Health System</p> <img style="margin-bottom:16px" border=0 src="/media/71860/hp.gif" alt="" /> <p>Killing enemies</p> <img style="margin-bottom:16px" border=0 src="/media/71860/kill.gif" alt="" /> <p>I dont know how long this mod will take, but armed with aseprite and everhorn, im sure it wont take that long.</p> <p>For anyone wondering where CORE went, Its fully moved over to n.p8, and was fully rewritten for the new codebase.<br /> The switch from hex to base256 level loading and the addition of bg tiles has forced me to abandon my levels, but i was going to do that anyways.</p> <p>Look forward to both Risk Of Snow and CORE, coming (hopefully) soon.</p> https://www.lexaloffle.com/bbs/?tid=139982 https://www.lexaloffle.com/bbs/?tid=139982 Fri, 26 Jan 2024 19:44:48 UTC Blocky Demo <p> <table><tr><td> <a href="/bbs/?pid=139846#p"> <img src="/bbs/thumbs/pico8_blockydemo-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139846#p"> blockydemo</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139846#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Blocky demo</h1> <p>Demo of a game i am currently working on.</p> <p>1 Player Controls:<br /> Arrow keys to move, up to jump.</p> <p>2 Player Controls:<br /> S/F (or player2 controls) to move placement box, D to drop. (find controls in options in pause menu)</p> <p>Placeholder mode changer in pause menu (press p or enter)</p> https://www.lexaloffle.com/bbs/?tid=55680 https://www.lexaloffle.com/bbs/?tid=55680 Mon, 08 Jan 2024 21:32:38 UTC Kaizo CC Mods <h1>Hello, And welcome to Hell!!</h1> <h3>Disclaimer: all of these mods are very difficult!! Difficulty differs between mods, so don't be upset if one is too difficult.</h3> <p>All of these mods <em>require</em> precise movement or speed tech. You can find tech required <a href="https://celesteclassic.github.io/glossary"><strong>here</strong></a></p> <p>This page will update with <strong>new mods over time</strong>! check back soon to find more challenges!</p> <p>These mods will be broken up by their <strong>difficulty</strong> and <strong>type</strong>. here is a difficulty key:</p> <h1>------------------------------------</h1> <h2>--Difficulty levels</h2> <h3>Easy : Few speed tricks - mostly just precision</h3> <h3>Medium : Some speed tech, like pass throughs and spike jumps, and more precise tech</h3> <h3>Hard : Lots of tech, including clips and other wacky momentum jank. very precise.</h3> <h2>--Dashes</h2> <h3>1Dash : You have one dash</h3> <h3>2Dash : You have 2 dashes</h3> <h3>0Dash : no dashes!!</h3> <h3>Gem : mod contains gem</h3> <h2>--Mod length</h2> <h3>One Screen : self explanatory</h3> <h3>Short : 1 or 2 levels</h3> <h3>Medium : 3-5 levels</h3> <h3>Long : 6-10 levels</h3> <h3>Full-length : 10+ levels!</h3> <h1>------------------------------------</h1> <p>Mod difficulty will be broken up in spoiler blocks for readability.</p> <h3>Easy</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <h3><strong>Freeze!!: 0Dash, OneScreen</strong></h3> <p> <table><tr><td> <a href="/bbs/?pid=139757#p"> <img src="/bbs/thumbs/pico8_freezecckaizo-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139757#p"> freezecckaizo</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139757#p"> [Click to Play]</a> </td></tr></table> <br /> </div></div></div></p> <h3>Medium</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <h3><strong>Kaizoleste: Gem, Fulllength</strong></h3> <p> <table><tr><td> <a href="/bbs/?pid=130088#p"> <img src="/bbs/thumbs/pico8_kaizoleste-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=130088#p"> kaizoleste</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=130088#p"> [Click to Play]</a> </td></tr></table> </p> <h3><strong>Downpour: 0Dash, OneScreen</strong></h3> <p> <table><tr><td> <a href="/bbs/?pid=139757#p"> <img src="/bbs/thumbs/pico8_downpour-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139757#p"> downpour</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139757#p"> [Click to Play]</a> </td></tr></table> <br /> </div></div></div></p> <h3>Hard</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <h3><strong>QOS: 1Dash, OneScreen</strong></h3> <p> <table><tr><td> <a href="/bbs/?pid=139757#p"> <img src="/bbs/thumbs/pico8_qos-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139757#p"> Quick One-Screener (CC)</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139757#p"> [Click to Play]</a> </td></tr></table> </p> <p></div></div></div></p> <p>If you have any questions, comments, or suggestions, make sure to leave a comment below! Don't forget to include the name of the mod, and difficulty if sharing progress/completion.</p> https://www.lexaloffle.com/bbs/?tid=55652 https://www.lexaloffle.com/bbs/?tid=55652 Sun, 07 Jan 2024 20:57:58 UTC Posseste (Celeste Classic Mod) <p> <table><tr><td> <a href="/bbs/?pid=139541#p"> <img src="/bbs/thumbs/pico8_posseste-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139541#p"> posseste</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139541#p"> [Click to Play]</a> </td></tr></table> </p> <h1>posseste</h1> <p>M- Madeline? ...Is everything okay?</p> <h3>Disclaimer: Flashing lights</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> Thank you to the evercore team for all your hard work on evercore! This mod wouldnt be possible without your work.<br /> </div></div></div></p> https://www.lexaloffle.com/bbs/?tid=55594 https://www.lexaloffle.com/bbs/?tid=55594 Tue, 02 Jan 2024 17:20:25 UTC OH GOD (Celeste Classic Mod) <p> <table><tr><td> <a href="/bbs/?pid=139385#p"> <img src="/bbs/thumbs/pico8_ohgod-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=139385#p"> ohgod</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=139385#p"> [Click to Play]</a> </td></tr></table> </p> <h1>OH GOD</h1> <p>In this mod, madeline has had one too many drinks and is having trouble... living. &quot;play&quot; this &quot;celeste&quot; &quot;classic&quot; &quot;mod&quot; and &quot;try&quot; to make it to the &quot;top&quot; of the &quot;mountain&quot; as you &quot;progress&quot; through &quot;levels&quot; and the &quot;game&quot; until you &quot;win&quot;!! </p> <p>This mod is 100% playable,</p> <p>Thats it.</p> <p>Good luck if you try playing this, as i couldn't get past 500m in testing. may the hangover gods be in your favor.</p> https://www.lexaloffle.com/bbs/?tid=55551 https://www.lexaloffle.com/bbs/?tid=55551 Sat, 30 Dec 2023 03:33:51 UTC STAT() Viewer <p> <table><tr><td> <a href="/bbs/?pid=138848#p"> <img src="/bbs/thumbs/pico8_stat-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=138848#p"> statviewer</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=138848#p"> [Click to Play]</a> </td></tr></table> </p> <p>Simple cart that lets you view all of <code>stat()</code>'s outputs!</p> https://www.lexaloffle.com/bbs/?tid=55369 https://www.lexaloffle.com/bbs/?tid=55369 Mon, 18 Dec 2023 16:05:44 UTC Mademaker (CChristmas Jam!!) <p> <table><tr><td> <a href="/bbs/?pid=138747#p"> <img src="/bbs/thumbs/pico8_mademaker-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=138747#p"> mademaker</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=138747#p"> [Click to Play]</a> </td></tr></table> </p> <h3>My 12 Days Of CChristmas jam submission!</h3> <p>In this mod, the mountain has changed. you play as the aspiring contractor madeline, armed with a hammer and a whimsical magic mouse cursor that can manipulate the world at her whim! normal contractor equipment. Progress threw the mountain and take advantage of the wacky new gimick! ooooor just build a path to the top and win every level... the choice is yours! i cant take it from you, my lawyer advised against it.</p> <p>Link to CChristmas jam page! </p> <p><a href="https://evergreengames.github.io/cchristmas/">https://evergreengames.github.io/cchristmas/</a></p> https://www.lexaloffle.com/bbs/?tid=55341 https://www.lexaloffle.com/bbs/?tid=55341 Fri, 15 Dec 2023 19:08:39 UTC MINIgame <p> <table><tr><td> <a href="/bbs/?pid=138023#p"> <img src="/bbs/thumbs/pico8_mini-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=138023#p"> mini</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=138023#p"> [Click to Play]</a> </td></tr></table> </p> <p>REALLY small game made as a tweetcart, but i couldnt compact it enough so ill just put it here.</p> <p>Feel free to steal this if you want to try compacting it!</p> https://www.lexaloffle.com/bbs/?tid=55170 https://www.lexaloffle.com/bbs/?tid=55170 Wed, 29 Nov 2023 20:17:29 UTC Magic Cart <p> <table><tr><td> <a href="/bbs/?pid=137098#p"> <img src="/bbs/thumbs/pico8_magic-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=137098#p"> magic</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=137098#p"> [Click to Play]</a> </td></tr></table> </p> <p>Maaaaaaagic</p> <p>this cart can detect if you are on bbs/SPLORE or on pico-8 editors.</p> <p>Basically, it detects if you've loaded the cart from online, or have it locally saved. the only way to load from online is from bbs/splore, so its easy to assume its one of the two.</p> <p>How this works:</p> <p>Pico-8 carts can use <code>ls()</code> to get a list of files in the current directory. online-loaded carts have no access to the filesystem and bbs has no filesystem, so in those cases ls is returned as NIL. when the cart is saved, only possible on a pico-8 editor, ls() returns as &quot; &quot; or whatever files you have in your carts dir. this cart detects what platform you are on by checking if <code>ls()</code> is equal to nil or not nil, then doing something accordingly.</p> <p>feel free to use this concept whenever you like!</p> https://www.lexaloffle.com/bbs/?tid=54941 https://www.lexaloffle.com/bbs/?tid=54941 Tue, 07 Nov 2023 21:59:18 UTC Lights Out <p> <table><tr><td> <a href="/bbs/?pid=136874#p"> <img src="/bbs/thumbs/pico8_lightsout-15.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136874#p"> Lights Out 3.0</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136874#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Lights Out</h1> <h3>Dear photosensitive players: please show caution when playing this game. it includes minor and medium intensity flashing.</h3> <p>Where is this? Who are you? when am i?<br /> Find yourself in an unknown location with only a LIDAR scanner to your name. we'll see if you can make it out alive. who know's whats just around the corner.</p> <h1>How to play:</h1> <p>The game includes instructions accessible from the title screen.</p> <p>if you need more info on how certain mechanics work, feel free to ask below.</p> <h1>Special thanks</h1> <p>Thank you to the celeste classic community and the comments here for feedback on sound, gameplay and mechanics<br /> ! i really appreciate the help!</p> <p>All code, sprites, sounds, mechanics, levels were all made by me. if you find any bugs, please let me know via twitter or in the comments below.</p> <h3>Changelog</h3> <p>v2.2</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>added - this changelog</li> <li>fixed - able to die when ending level <ul> <li>this was because of some variables changing at incorrect times.</li> </ul></li> <li>fixed - level ending can spawn red pixels <ul> <li>also modified level transition effect to pick from a pool of colors instead of a random value<br /> </div></div></div></li> </ul></li> </ul> <p>v2.21</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>removed - some tiles used for debugging purposes</li> <li>changed - changed changelog to use bulletpoints to make it easier to read (?)<br /> </div></div></div></li> </ul> <p>v3.0</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>added - save data features <ul> <li>saves time played, current level, and some other flags.</li> </ul></li> <li>fixed - can accidentally skip through paul's dialogue <ul> <li>this should make it easier to pick up on some of his dialogues which explain a certain mechanic</li> </ul></li> <li>fixed - xldr can leave pixel artifacts when in level transit<br /> </div></div></div></li> </ul> <p>v3.2</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>changed - deaths now properly save to save file</li> <li>fixed - dying removes PLACED bulb and restores bulbs in &quot;inventory&quot;<br /> </div></div></div></li> </ul> https://www.lexaloffle.com/bbs/?tid=54889 https://www.lexaloffle.com/bbs/?tid=54889 Fri, 03 Nov 2023 21:06:52 UTC Fire On The Mountain <p> <table><tr><td> <a href="/bbs/?pid=136406#p"> <img src="/bbs/thumbs/pico8_fireonthemountain-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136406#p"> Fire On The Mountain v1.0</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136406#p"> [Click to Play]</a> </td></tr></table> </p> <p>unlike boingleste, this one is creative!</p> <p>Remember the floor is lava? no, not the tv show, im talking about the playground game. you know, where if you touch the ground you get maimed by your best friend? what? thats not normal? what are you talking about? anyways, this mod fully simulates what its feels like to touch the ground while playing that game. unless you're weird and didnt die inside when you lost at a game at school. well, forget dying inside! if you touch the ground here, you die in r- wait wrong game- you die! yay! walljump around and dont touch the ground! featuring patented seizure-o-matic effects! who needs to see the game when you have S M O K E</p> <h1>------------------------------------------------</h1> <h1>Important:</h1> <h3>If you are prone to seizures, then DO NOT PLAY THIS CART BEFORE DOING THIS! before starting the game, make sure to toggle off special effects in the pause menu. just pres enter or p and select &quot;disable effects&quot;. if you want them back, one, be careful and talk to your doctor. i was joking about the &quot;die in real life&quot; part, but this is serious. i know no one does it, but dont enable special effects unless your doctor makes sure it wont kill you.</h3> <h1>------------------------------------------------</h1> <p>Thanks for playing! I hope this mod burns in your heart the same way it burned into my monitor. </p> <p>Here is my best time while playtesting as usual (all berries too!)</p> <img style="margin-bottom:16px" border=0 src="/media/71860/Screenshot 2023-10-25 8.35.49 PM.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=54757 https://www.lexaloffle.com/bbs/?tid=54757 Thu, 26 Oct 2023 03:38:44 UTC Real Time Corrupter Portable (RTC-P) Now with Single-Script Version! <p> <table><tr><td> <a href="/bbs/?pid=136378#p"> <img src="/bbs/thumbs/pico8_rtcp-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136378#p"> Real Time Corrupter Portable</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136378#p"> [Click to Play]</a> </td></tr></table> </p> <h1>NEW ONESCRIPT DUMMY-PROOF VERSION (READ BELOW)</h1> <p>Remember RealTimeCelester and maybe RealTimeProggrupter?<br /> They were RTC programs for celeste classic. what that means is they corrupt the games memory over time!<br /> Now, have you ever wished you could ruin ANY cart? not just celeste? well i have the thing for you!</p> <p>Introducing RTC-P! The first portable RTC for Pico-8! Simple copy the below code, following the instructions, and bam! ruin any cart with ease!</p> <p>Important: Do NOT run the cart above, as it will do nothing. that is just the corrupter, but it has no cart to corrupt. to use, copy the code below and add it in a new code tab, or somewhere clutter-free. then add <code>rtc()</code> at the 1ST LINE in your update cycle. to change corrupt time or corrupt level, just go into the pause menu, go to the setting you want to change and press left or right. <code>nxt cprt in:</code> is how many frames until next corruption.</p> <p>REMEMBER: to use you must be able to EDIT your cart! to do this, just load it in desktop pico-8 or at <a href="https://pico-8-edu.com">https://pico-8-edu.com</a><br /> To load your cart, find it in splore, exit splore and press esc. for edu users, find your cart on the bbs and either download it and load it, or copy its cart id at the bottom of the runnable cartridge on its page. (something like <code>#rtcp</code> or <code>#18471</code>)</p> <hr /> <p>RTC-P Manual (For non-game loop using carts)<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>--rtc-- --portable rtc made by antibrain cf,clvl,ct=150,100,0 function rtc() if cf&lt;0then cf=0elseif clvl&lt;0then clvl=0end menuitem(1,&quot;corrupt spd:&quot;..cf,function(b) icf(b) end) menuitem(2,&quot;corrupt lvl:&quot;..clvl, function(b) iclvl(b) end) menuitem(3,&quot;nxt crpt in:&quot;..-(ct-cf)) ct+=1 if ct&gt;=cf then ct=0 for i=1,clvl do poke(abs(rnd(-1)),rnd(-1)) end end end function icf(b) if(b&amp;2&gt;0)then cf+=10 rtc()end if(b&amp;1&gt;0)then cf-=10 rtc()end return true end function iclvl(b) if(b&amp;2&gt;0)then clvl+=10 rtc()end if(b&amp;1&gt;0)then clvl-=10 rtc()end return true end --[[ how to use: copy all above text and put it in a new code tab. (click the plus up top) then add &quot;rtc()&quot; to the start of your cart's update loop. this only works in desktop p8 or edu, because you need to edit the cart to use it. to change values, simply open the pause menu (enter/p), scroll to the setting you want to change, then press ⬅️ or ➡️. &quot;nxt crpt in&quot; is the number of frames left until the next corruption. thank you for using rtc-p! hope you have fun ruining your favorite games! ]]</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p></div></div></div></p> <hr /> <p>Now, what if this is all too complicated? what if you just want to throw in a script and just have it work? well good news, ive concocted a easy to use RTC script that doesnt need anything! just put it in a <strong>new code tab</strong> or <strong>below all game loops</strong> (_init, _update, _draw) to use! the program will do the rest of the work.</p> <p> <table><tr><td> <a href="/bbs/?pid=136378#p"> <img src="/bbs/thumbs/pico8_rtcp_auto-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136378#p"> rtcp_auto</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136378#p"> [Click to Play]</a> </td></tr></table> </p> <p>Click <code>code</code> on cart above, or copy code below.</p> <p>HOW TO USE:<br /> Copy code, then go to a <strong>Pico-8 Editor</strong>- this can be on desktop pico-8 or at pico-8 edu, which you can access <a href="https://www.pico-8-edu.com">here</a>. then just load your cartridge you'd like to corrupt by typing <code>load</code> followed by its cart id. Cart id's can be found below the cart on BBS.</p> <img style="margin-bottom:16px" border=0 src="/media/71860/Screenshot 2023-11-14 2.04.26 AM.png" alt="" /> <p>for example, to load <strong>manual rtcp</strong>, you would type <code>load #rtcp</code>. the &quot;-0&quot; isnt necessary. that's just the version number and pico-8 automatically grabs the latest version.</p> <hr /> <p>RTCP_OneScriptFitsAll(Most)</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>--[[ rtc-p+ ]]-- --portable rtc made by antibrain -- onescriptfitsall(most) ver -- cf,clvl,ct=150,100,0 if _init!=nil then _init() end function rtc() if cf&lt;0then cf=0elseif clvl&lt;0then clvl=0end menuitem(1,&quot;corrupt spd:&quot;..cf,function(b) icf(b) end) menuitem(2,&quot;corrupt lvl:&quot;..clvl, function(b) iclvl(b) end) menuitem(3,&quot;nxt crpt in:&quot;..-(ct-cf)) ct+=1 if ct&gt;=cf then ct=0 for i=1,clvl do poke(abs(rnd(-1)),rnd(-1)) end end end function icf(b) if(b&amp;2&gt;0)then cf+=10 rtc()end if(b&amp;1&gt;0)then cf-=10 rtc()end return true end function iclvl(b) if(b&amp;2&gt;0)then clvl+=10 rtc()end if(b&amp;1&gt;0)then clvl-=10 rtc()end return true end while true do rtc() if _update!=nil then _update() elseif _update60!=nil then _update60() end if _draw!=nil then _draw() end flip() --the below loop can be removed if you are short on tokens. if (_update==nil or _update60==nil) and _draw==nil then ?&quot;no update or draw loops found!&quot; ?&quot;for carts that dont use&quot; ?&quot;game loops, load #rtcp and&quot; ?&quot;use that instead.&quot; ?&quot; &quot; ?&quot;if loaded off bbs, please&quot; ?&quot;use a pico-8 editor to use this.&quot; stop() end end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p></div></div></div></p> <hr /> https://www.lexaloffle.com/bbs/?tid=54751 https://www.lexaloffle.com/bbs/?tid=54751 Wed, 25 Oct 2023 16:13:39 UTC Boingleste <p> <table><tr><td> <a href="/bbs/?pid=136307#p"> <img src="/bbs/thumbs/pico8_boingleste-3.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136307#p"> Boingleste 1.3</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136307#p"> [Click to Play]</a> </td></tr></table> </p> <p>Thanks to the evercore team for the evercore cart! this wouldn't be possible without your hard work!</p> <h1>Boingleste</h1> <p>A big goofy, a little silly, but still fun!</p> <p>Is Madeline made of rubber or is the mountain made of rubber? I personally don't think a whole mountain can just change what it's made of, so we'll go with the 1st option.</p> <p>Play as- Wait no- Try to play as Boingaline as you fall over and over into the same hole in 500m. Features an almost-state-of-the-art path tracing mechanic that shows you where you keep dying and will die again! dash into walls and remember the 4 things you &quot;had to do&quot; and go do that instead! so many ways to rage quit and so many holes to walk into.</p> <p>Also features its own REM jank! remember spike clips? well get ready for &quot;Wall clips&quot;! time it right and get shot up to the top of <code>insert_wall_here</code>! definitely a feature and not a bug i cant fix because REM is buggy to mess with, not just in game, but in code too!</p> <p>I would add a save feature like Kaizoleste had, But let's be honest- You aren't ever going to play this again after you rage quit. (And yes you will!)</p> <h2>Important</h2> <p>Not saying everything else here isn't, but still.</p> <p>All levels AND berries are possible! I've tested it (see img below!). Some levels can only be beaten with wall clips and spike clips, and no, i will not explain wall clips. (Don't worry, they aren't that hard to do.)</p> <p>I don't think gemskip is possible, as you cant walljump, only boing around.<br /> And yes, i did try adding a boing sound effect, it just got way too annoying and i took it out.<br /> Also please tell me my kiwi's look good. no one says they look good :(<br /> And yes, the spinny thing is a pinwheel.</p> <p>Here is my best time while playtesting:</p> <img style="margin-bottom:16px" border=0 src="/media/71860/Screenshot 2023-10-23 7.59.05 PM.png" alt="" /> <p>Changelogs:</p> <p>v1.0<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>Initial Release<br /> </div></div></div></li> </ul> <p>v1.1<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>Removed - Any reference to &quot;Hard Mode&quot;, as hard mode was changed to be normal mode during development. <ul> <li>This is because of technical reasons, not to be evil. normal mode made boingaline only bounce if no dashes were left and she is not on the ground. this allowed for clipping through walls for some reason, and was removed halfway through development.<br /> </div></div></div></li> </ul></li> </ul> <p>v1.2<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>Changed - Moved Boingaline quote to be lower down to seperate it from credits text. <ul> <li>Also changed &quot;-Madaline&quot; to &quot;-Boingaline&quot; because funny<br /> </div></div></div></li> </ul></li> </ul> <p>v1.3<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <ul> <li>Changed - Made gravestone text funny<br /> </div></div></div></li> </ul> https://www.lexaloffle.com/bbs/?tid=54731 https://www.lexaloffle.com/bbs/?tid=54731 Tue, 24 Oct 2023 03:21:27 UTC Top-Down Game Template <p> <table><tr><td> <a href="/bbs/?pid=136110#p"> <img src="/bbs/thumbs/pico8_tdtemplate-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136110#p"> tdtemplate</a><br><br> by <a href="/bbs/?uid=71860"> AntiBrain</a> <br><br><br> <a href="/bbs/?pid=136110#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Info:</h1> <p>This can be used and is intended to be used as a top-down game template. What this is for is so you can make a top-down game without having to worry about shooting or movement making sense.</p> <p>To use, just download the cartridge and edit away! some starting sprites are included, as well as some functions to display ranges and landing point of shots.</p> https://www.lexaloffle.com/bbs/?tid=54656 https://www.lexaloffle.com/bbs/?tid=54656 Thu, 19 Oct 2023 19:35:37 UTC Picotron Keyboard Functions (PtKbTester) <p>Hey everyone!</p> <p>I've been messing around with picotron, and some people keep saying (including myself) that they hope for more buttons to work with or more input methods, but i've discovered something interesting that anyone can use! (until api changes)</p> <p>I've made a keyboard tester that is fully commented out, and explains how it works and how get_key works and how to use it. to run the cart, click &quot;show&quot; below and copypaste code into picotron, then run it.</p> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>-- get_key_&lt;state/pressed&gt; usage example -- made by antibrain -- define list of all supported key names keys={&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;0&quot;, &quot;q&quot;,&quot;w&quot;,&quot;e&quot;,&quot;r&quot;,&quot;t&quot;,&quot;y&quot;,&quot;u&quot;,&quot;i&quot;,&quot;o&quot;,&quot;p&quot;, &quot;a&quot;,&quot;s&quot;,&quot;d&quot;,&quot;f&quot;,&quot;g&quot;,&quot;h&quot;,&quot;j&quot;,&quot;k&quot;,&quot;l&quot;, &quot;z&quot;,&quot;x&quot;,&quot;c&quot;,&quot;v&quot;,&quot;b&quot;,&quot;n&quot;,&quot;m&quot;, &quot;[&quot;,&quot;]&quot;,&quot;shift&quot;,&quot;space&quot;,&quot;backspace&quot;} --define vars currentkeyname=&quot;&quot; keystr=&quot;&quot; keyoffset=0 kpressed=true ikd=false -- get_key usage: -- get_key_pressed(key) checks if key &quot;key&quot; is pressed and returns &quot;true&quot; for the frame that key &quot;key&quot; is pressed. -- get_key_state(key) returns 1 if key &quot;key&quot; is held. if key &quot;key&quot; isnt held, returns &quot;nil&quot; -- &quot;q&quot;, &quot;1&quot;, &quot;space&quot;, &quot;backspace&quot; are all valid key names. -- &quot;Q&quot;, &quot;!&quot;, &quot;^&quot;, &quot;`&quot; are not valid key names. -- lowercase letters, numbers, and control keys (space, alt, backspace, etc) are all valid key names -- uppercase letters, symbols, F keys and hotkeys are NOT valid key names. -- if you want to use symbols (eg. shift+4=$), you can check if shift is held, then change output chars while it is. -- an easy way to check for all keys is to make a table of all supported keynames, then iterate over it. -- main update loop (30fps) function _update() -- clear screen and reset drawing vars cls() kstrx=6 kstry=20 --for every key in keys, run key checking script for i=1,#keys do -- check if key &quot;keys[i]&quot; is held and set it to currentkey currentkey=get_key_state(keys[i]) -- if current key isnt held, set it to 0 so future calculations dont die if currentkey==nil then currentkey=0 end -- if current key is held, then set its name to currentkeyname for later if currentkey==1 then currentkeyname=keys[i] end -- if key string length in pixels is longer than screen length, move it back by 476 ish pixels if (kstrx-(keyoffset*5))+(#keystr*5)&gt;480 then kstrx=6 kstry+=8 j=#keystr-keyoffset keyoffset=#keystr end if (#keystr&lt;(keyoffset)) then keyoffset-=j end -- display all keys and change its color to red if key is held print(keys[i],6+(i*6),6,currentkey+7) -- draw line at next char in keystr to show where next char will go if sub(tostr(flr(time())/2),-1)==&quot;5&quot; then line(((#keystr+1)*5)-keyoffset*5,kstry+8,(((#keystr+1)*5)+4)-keyoffset*5,kstry+8,currentkey+7) end -- draw key string at kstrx,kstry in hyperlink blue print(keystr,kstrx-(keyoffset*5),kstry,28) -- if a key hasnt been pressed this frame if ikd==false then -- set ikd to true if one is ikd=get_key_pressed(keys[i]) end -- if a key has been pressed this frame if ikd==true then -- set space to &quot; &quot; so that it doesnt just add the word &quot;space&quot; to keystr if currentkeyname==&quot;space&quot; then currentkeyname=&quot; &quot; end -- if backspace has been pressed, set keyname to &quot;&quot; so it doesnt print anything, then remove one char from end of keystr by setting keystr to substring of keystr from char 0 to char #keystr minus 1 if currentkeyname==&quot;backspace&quot; then currentkeyname=&quot;&quot; keystr=sub(keystr,0,#keystr-1) end keystr=keystr..currentkeyname --reset key vars currentkeyname=&quot;&quot; ikd=false end end end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p></div></div></div></p> <p>I'll explain some things about get_key here.</p> <p>There are two forms of get_key. <code>get_key_pressed</code> and <code>get_key_state</code>. they are very different and are usefull in their own ways.</p> <p><code>get_key_pressed(key)</code> returns true or false, depending on if key <code>key</code> is pressed. it returns <code>true</code> for one frame when key <code>key</code> is pressed.</p> <p><code>get_key_state(key)</code> returns nil or 1, depending on if key <code>key</code> is HELD. holding the key will make it return 1, and if key is not held, it returns NIL.</p> <p>as for what to put in <code>key</code>, there are rules on what a valid keyname is.</p> <p><code>&quot;a&quot;</code>,<code>&quot;space&quot;</code> and <code>&quot;ctrl&quot;</code> are all valid keynames.<br /> <code>&quot;A&quot;</code>,<code>&quot;`&quot;</code> and <code>&quot;!&quot;</code> are NOT valid keynames.</p> <p>Valid keynames include: lowercase letters; numbers; control keys (space,ctrl,backspace,shift,etc)<br /> INVALID keynames include: uppercase letters; symbols; upper key chars; anything you have to press shift for; F keys; programmable hotkeys.</p> <p>Interestingly enough, <code>&quot;[&quot;</code> and <code>&quot;]&quot;</code> are also valid keynames, even though no other symbols seem to work.</p> <p>If you want to use uppercase letters/symbols, you actually arent out of luck! you can write a script to check if shift is held using <code>get_key_state</code>, then change what keys do what.</p> <p>I hope this guide/tutorial/cart was useful to you all! just remember that the API still might change before 0.1, so dont expect this to work later down the line. ill try to update this if it stops working, but dont count on it.</p> https://www.lexaloffle.com/bbs/?tid=54536 https://www.lexaloffle.com/bbs/?tid=54536 Tue, 10 Oct 2023 20:59:49 UTC Final lidar game devlog! (#4) <p>I'm almost done with the game!</p> <p>...that felt really weird to say...</p> <p>Anyways, the game is almost done, so this will be my last devlog! I'll also keep this one exclusive to the bbs, so I'll make this one count!</p> <p>Here is everything that I CAN tell you:</p> <p>Scanning now is how I want it.<br /> Redzones aren't the only thing to worry about...<br /> You'll have at least one ally during the game.<br /> You can't run forever, and wont have to in the end.<br /> Your guiding light costs 2.99 at best buy</p> <p>Look forward to the release!</p> https://www.lexaloffle.com/bbs/?tid=54473 https://www.lexaloffle.com/bbs/?tid=54473 Thu, 05 Oct 2023 18:14:43 UTC BBS counting main post as a comment in &quot;posts&quot; tab <p>If you post anything and go to the &quot;posts&quot; tab in your profile, it always shows at least one comment! (on PC)</p> <p>I think this is because the number of &quot;comments' shown, really is the number of posts in the thread, and the &quot;thread&quot; starts at your posts &quot;title&quot;, and everything below it is a &quot;comment&quot;, or a post in the thread.</p> <p>An easy fix for this, <a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a>, is instead of displaying the length/how many posts there are in the thread, just change it to be posts_in_thread-1, or whatever your var names are. If it doesn't just work like that, then you can make a new var called something like &quot;num_of_comments_in_thread&quot; and set it to the number of posts in thread minus one, and display that instead of posts in thread.</p> https://www.lexaloffle.com/bbs/?tid=54461 https://www.lexaloffle.com/bbs/?tid=54461 Wed, 04 Oct 2023 22:55:34 UTC Feature req/bug: Old cart compatibility <p>Ever noticed that when you load an old cart, sometimes it won't load because of API changes? You can see this for yourself if you try loading the popular cart &quot;rougeris&quot;. After rougeris's release, 'do' was changed to not work with 'if' and vice versa. On desktop, fixing this is as easy as replacing 'do' with 'then', but on mobile or bbs, not as easy.</p> <p>Now for the meat of this argument:</p> <p>Why not make it so that old carts use an older version if pico-8? This doesn't need to be updated for every old cart, but maybe, when you submit a bbs cart from when/if this is changed to an API freeze, the bbs logs what version your cart uses, and when loaded, grabs a specific version of p8, loads it, then runs the cart in it, that would eliminate the possibility of future obsolete carts!</p> <p>There's really no excuse not to do it, or not to even consider it. Every version of p8 (minus the mysterious &quot;rc&quot;) is available to p8 owners on the download page under older versions.</p> https://www.lexaloffle.com/bbs/?tid=54460 https://www.lexaloffle.com/bbs/?tid=54460 Wed, 04 Oct 2023 22:46:58 UTC Useful Pico-8 functions <p>Wait:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>FUNCTION WAIT(FRAMES) FOR I=1,FRAMES DO FLIP() END END</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Usage:</p> <p>Wait(30) pauses cart for 30 frames.</p> <p>Grab pixel color</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>FUNCTION GET_PIXEL(X,Y) RETURN PGET(X,Y) END</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Usage:</p> <p>X=GET_PIXEL(50,40) Gets the color of the pixel at 50,40 and assigns it to X</p> <p>Get map tile</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre> FUNCTION GET_MTILE(X,Y) RETURN MGET(X/8,Y/8) END</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Returns map tile at x,y</p> <p>Mini fget mget</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre> FUNCTION GETMFLAG(X,Y) RETURN FGET(MGET(X/8,Y/8)) END</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Returns flag of map tile at x,y</p> https://www.lexaloffle.com/bbs/?tid=54457 https://www.lexaloffle.com/bbs/?tid=54457 Wed, 04 Oct 2023 18:17:35 UTC