LtRandolph [Lexaloffle Blog Feed] Kinetic <p> <table><tr><td> <a href="/bbs/?pid=86497#p"> <img src="/bbs/thumbs/pico8_kinetic-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=86497#p"> kinetic</a><br><br> by <a href="/bbs/?uid=48525"> LtRandolph</a> <br><br><br> <a href="/bbs/?pid=86497#p"> [Click to Play]</a> </td></tr></table> </p> <p>Controls: move around, jump, and whip. You can swap jump and whip in the pause menu.</p> <p>Kinetic is a mashup of platforming, physics puzzle, and tower defense elements. Jem and her colleagues have fallen through a portal to an alien world. Help protect Van and Ess while they search for a way home. Use bizarre technology to hold back swarms of enemies in a Rube Goldbergian delight.</p> Fri, 15 Jan 2021 21:49:49 UTC Cannot type puny characters in command line <p>I use an external editor when working with P8. Due to years of programming experience with CamelCase, I have written all my code in that format, accepting that it won't look right in the P8 editor. Everything has been working fine for me.</p> <p>I discovered today, though, that there's no mechanism for me to inspect values at runtime, since I can't type &quot;puny&quot; (uppercase) letters into the <strong>Esc</strong> command line. Thus I can't do<br /> print(myVariable)<br /> I tried copying from my external editor, typing in all standard-case, or pressing Ctrl-P. None of these helped.</p> Mon, 04 Jan 2021 18:22:48 UTC CrafDefense <p> <table><tr><td> <a href="/bbs/?pid=84851#p"> <img src="/bbs/thumbs/pico8_crafdefense-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=84851#p"> crafdefense</a><br><br> by <a href="/bbs/?uid=48525"> LtRandolph</a> <br><br><br> <a href="/bbs/?pid=84851#p"> [Click to Play]</a> </td></tr></table> </p> <p>CrafDefense is a different sort of tower defense game. More MacGyver than Sun Tzu.</p> <ul> <li>Customize towers by slotting items to modify targeting, flight, and applied effects. Every combination is viable. But it's up to you to figure out which ones will keep you alive in each battle.</li> <li>Watch in awe as your towers randomly shoot, regardless of whether any space squids are anywhere nearby. Learn to turn their bizarre firing patterns to your advantage.</li> <li>Cackle with glee as swarms of monsters are torn through by your carefully duct-taped arsenal.</li> </ul> <p>Made for #JamCraft</p> Mon, 30 Nov 2020 06:43:32 UTC Exporting Cartridge Label from Aseprite <p>Hey friends. I was looking into how to do a fully custom cartridge label image. The only posts about it I found on the BBS involved creating the image painstakingly from 256 separate sprites, or using a script to muck around with the final .p8.png file. I wanted to have a quick and clean way to export from Aseprite into the format that Pico-8 saves into when using Ctrl-7. That way I can iterate on my label and my game independently of one another, with no extra steps.</p> <p>Fortunately, Aseprite allows custom scripts to export things. In lua, no less! Here's what you need to do:</p> <p>Make a 128x128 indexed image.</p> <img style="" border=0 src="/media/48525/NewSprite.png" alt="" /> <p>Select the Pico-8 palette.</p> <img style="" border=0 src="/media/48525/PickPalette.png" alt="" /> <p>Middle click on a color you don't intend to use in your image. That will set that color as the &quot;transparent color&quot; that will be erased to.</p> <p>Draw your cartridge label to your heart's content. Save it as a .png file.</p> <p>In File-&gt;Scripts, click on Open Scripts Folder.</p> <img style="" border=0 src="/media/48525/ScriptsFolder.png" alt="" /> <p>In the resulting folder, save the following code snippet as Pico8LabelExport.lua:</p> <div> <div style="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>local sprite = app.activeSprite local image = app.activeImage app.transaction(function() local outputFilename = string.gsub(sprite.filename, &quot;.png&quot;, &quot;.txt&quot;) file =, &quot;w&quot;) for row=0,127 do for col=0,127 do pixelColor = image:getPixel(col, row) file:write(string.format(&quot;%x&quot;, pixelColor)) end file:write(&quot;\n&quot;) end file:close() 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>Close and reopen Aseprite, to make sure it notices the new script. Open your .png, and click File-&gt;Scripts-&gt;Pico8LabelExport.lua. You will then have a .txt file next to your .png.</p> <p>To find out where those hex characters go, open your cart in Pico-8. Press Ctrl-7. It will create the <strong>label</strong> block of data. Replace it with the contents of the .txt file.</p> <p>Have fun!<br /> Bill Clark</p> <p>My first (partially completed) cart:</p> <img style="" border=0 src="/media/48525/crafdefense_WIP.p8.png" alt="" /> Thu, 26 Nov 2020 20:07:26 UTC