Phume [Lexaloffle Blog Feed] All 32 Colours Please <p>Dear Pico-8 Community,</p> <p>The darker colour palette should be available without fiddling with memory or coming up with detour functions.</p> <p><a href=""> @BoneVolt</a> <a href=""> @Krystman</a><br /> (via YouTube and such... not dissing! You guys are great &lt;3)</p> <p>Palette switches were cute,<br /> but this whole schebang has flopped into an inefficient knot (as far as I can tell).</p> <p>...I wish that first-time-carts from total amateurs (like me) could also use &quot;dark-brown&quot;, lol.<br /> ...And that expert carts don't all use ~double the amount of available colours.</p> <p>Perhaps I don't understand the memory limitations.<br /> And I do appreciate (and want to preserve) the elegance of &quot;0-15&quot;/Proof of concept/Simplicity didactics etc..</p> <p>But the cats' been out of the bag for a while.</p> <p><a href=""> @zep</a> could you please greenlight &quot;night mode&quot; [EDIT: in the UI or functions].<br /> Maybe its impossible at this rate. Maybe it wasn't intended this way. </p> <p>Dunno. Sh&auml;re ur thoughts...</p> <p>Trying to be constructive. Or did I miss something?<br /> It's a super interesting subject, feels almost political.<br /> Happy new year.</p> <p>x Phume</p> <p>EDIT: link to <a href=""> @shy</a> 's cool devkit menu experiment <a href=""></a></p> Fri, 01 Jan 2021 05:54:00 UTC Animation Editor (Handheld Compatible) <p>I'm making a sexy little 16x16 sprite editor with playback and more that should rely on the D-Pad and Buttons. Doing so mainly for use on the Retroflag-GPi case, or any other handheld.</p> <p>IMPORTANT!<br /> SAVE FUNCTIONS STILL VERY BASIC</p> <p> <table><tr><td> <a href="/bbs/?pid=85942#p"> <img src="/bbs/thumbs/pico8_animate-14.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=85942#p"> Animation Editor (Handheld Compatible)</a><br><br> by <a href="/bbs/?uid=47559"> Phume</a> <br><br><br> <a href="/bbs/?pid=85942#p"> [Click to Play]</a> </td></tr></table> </p> <p>UPDATE 11.01.21</p> <ul> <li>Added Move-tool</li> <li>Added Palette-swapper</li> <li>Added Tooltips on hover (disable in menu)</li> <li>Added Save (cart overwrite? dunno?)</li> <li>Added Export Spritesheet</li> <li>Added Clear All (Default Empty Project)</li> <li>Improved usability/ button press consistency</li> </ul> <p>TO DO</p> <ul> <li>Improved Menu Items / File related Functions</li> <li>Nerf the Mouse</li> <li>Subtle Sound effects</li> <li>General Debugging</li> </ul> <p>Give it a go!<br /> Any help/advice/ideas appreciated.</p> <p>x Phume</p> <p>thanks to <a href=""> @tjbynum</a>, <a href=""> @paloblancogames</a>, <a href=""> @shy</a>, <a href=""> @mischa_u</a></p> Wed, 30 Dec 2020 21:29:35 UTC Last Smoke (impulse physics) <p> <table><tr><td> <a href="/bbs/?pid=85769#p"> <img src="/bbs/thumbs/pico8_last_smoke-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=85769#p"> last smoke (impulse physics)</a><br><br> by <a href="/bbs/?uid=47559"> Phume</a> <br><br><br> <a href="/bbs/?pid=85769#p"> [Click to Play]</a> </td></tr></table> <br /> Controls: USE ARROW KEYS FOR SUBTLE GRAVITY.</p> <p>Wanted to share my first proper pico project.<br /> About having only one cigarette left (or not...? what?!)</p> <p>I used this to make a music video for my band (see youtube embed). DISCLAIMER-&gt;GERMAN MUSIC</p> <p>At the moment it's more of a demo/screensaver, but I would like to turn it into a minigame, or a system of mini games ; if there's fun in it somewhere. So i'm open to ideas :-)</p> <p>Was thinking of the trope of an &quot;alien brood mother&quot; spitting out mini enemy's. (pack -&gt; cigarettes)<br /> And chaotic controls like only being able to apply gravity/momentum to all objects.</p> <p>The physics engine is relatively sturdy, except for the lack of Separating_Axis_Theorem, some minor tunnelling and items getting trapped in each other. </p> <p>I used Chris Heckers impulse physics articles from the 90s and a dynamically subdivided &quot;intra-frame-crawl-while-loop-thingy&quot; to resolve collisions chronologically. and the &quot;Pool hall lessons&quot; article on gamasutra for early false returns (which should be followed by an S.A.T. check which I have yet to write...) So could be waaaay more efficient.</p> <p>Glad to share some cleaned up functions if anyone needs them (though the code is pretty legible).<br /> important: USES METATABLE CHANGES FOR VECTOR MATH!! (see tab 4 / --metatables--)</p> <p>Shoutout to the community for the amazing and helpful threads, and specially to lazydev <a href=""> @Krystman</a> for his fantastic (and very funny) youtube series (LG aus K&ouml;lle).</p> <p>Hope you get a giggle out of this one. </p> <p>Merry Christmas,<br /> Phume</p> <p><object width="640" height="400"><param name="movie" value=""></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="400"></embed></object></p> Fri, 25 Dec 2020 13:50:01 UTC Legit? Checking Line Segment Intersection using AABBs and Linear Functions <p>Hallo Pico People,</p> <p>Loving it here. First post!</p> <p>So i'm working on a 2D physics based collision engine.</p> <p><em>...Imagine a whole bunch of polygons flying around, wrapped in AABBs (axis aligned bounding boxes)...</em></p> <p>And I was wondering if this was a legit/efficient way to check <strong>if Two Edges/Line-Segments Intersect</strong>.</p> <p><strong>1.</strong> Treat them as AABBs and check if those overlap, is so keep the <em>&quot;resulting mini rectangle&quot;</em>.<br /> --&gt;otherwise abort </p> <p><strong>2.</strong> Treat them as Linear-Functions <em>(infinite strait lines)</em> and check if they are parallel, if <em>NOT</em> determine the resulting <em>&quot;point of intersection&quot;</em><br /> --otherwise abort</p> <p><strong>3.</strong> check if the <em>&quot;point of intersection&quot;</em> is inside the <em>&quot;resulting mini rectangle&quot;</em>.<br /> --return that point, otherwise abort</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> --do segments intersect? if so where? function segments(a,b) local r=overlap(to_rect(a), to_rect(b)) if(not r)return false local pt=intersection(a,b) if(not pt)return false if(in_rect(pt,r))return pt return false 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>Lets assume the sub-functions (which I haven't included) are squeaky clean, its more about the idea...<br /> Have to say it works a charm at the moment, even on weird concave polygons. But I could be going mad.</p> <p>Any tips? Would it be easier on the CPU to use dot/cross product stuff? Am I missing something?</p> <p>Luv, Phume</p> <p>ps. here's a drawing</p> <img style="margin-bottom:16px" border=0 src="/media/47559/IMG_0254.JPG" alt="" /> Thu, 08 Oct 2020 18:34:33 UTC