gradualgames [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=23858 New version of cart not auto-detected. <p>The latest version of PICO-8 didn't seem to pick up on a cart update. I had my own cart, hobobot, favorited locally, but it was the old version hobobot-0. The thread had been updated to hobobot-1 a while ago. Usually PICO-8 picks up on there being a newer version and prompts the user but it didn't seem to do this on either the PC or raspberry pi version this morning. I had to unfavorite and re-search for the cartridge to get the newest version. Curious if this was removed or if this is a bug.</p> https://www.lexaloffle.com/bbs/?tid=42936 https://www.lexaloffle.com/bbs/?tid=42936 Tue, 18 May 2021 14:23:36 UTC targetcount=0 printed in linux terminal after exit. may be causing stutters? <p>I noticed on both my raspberry pi 3 and my raspberry pi zero w this evening that after exiting PICO-8 having run certain games (in particular, my cart Mad Wizard) the terminal is filled with the text:</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>targetcount=0</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>I also noticed this same game stuttering a little bit where I don't remember it stuttering before, and I'm guessing it is due to this console output. Unremoved debug print perhaps?</p> https://www.lexaloffle.com/bbs/?tid=42566 https://www.lexaloffle.com/bbs/?tid=42566 Thu, 22 Apr 2021 02:17:36 UTC Can't select individual closing paren or space, they select as a unit, in cases. <p>v0.2.2<br /> Every so often I click to select one character. I ran into this situation where a closing parenthesis and the following space acted as a unit when selected; I could not select either one independently. But in an expression in the line directly above, I was able to. See the following gif.</p> <img style="" border=0 src="/media/23858/darby_0.gif" alt="" /> https://www.lexaloffle.com/bbs/?tid=41732 https://www.lexaloffle.com/bbs/?tid=41732 Wed, 24 Feb 2021 00:00:38 UTC v0.2.2 Scrolling when selecting text became too fast <p>It has become very awkward to select text in the PICO-8 editor. Unless you nudge it really carefully it starts rocketing in the direction you're scrolling too fast for it to feel natural, I now have to use the keyboard exclusively for selecting text. Not sure if the speed change was intentional or accidental, but it would be great if it were at least configurable.</p> <img style="" border=0 src="/media/23858/22_madwizard_0.gif" alt="" /> https://www.lexaloffle.com/bbs/?tid=41690 https://www.lexaloffle.com/bbs/?tid=41690 Sat, 20 Feb 2021 23:27:13 UTC Quit to console, change var, resume, menu crash. runtime error tab 0, line 0... <p>I've got an interesting bug. It only happens in PICO-8 itself. The bug can be reproduced with the following small program and reproduction steps:</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>function _init() menuitem( 1, &quot;switch weapon&quot;, function() --if (getthunder()==1) hwep=(hwep+1)%2 end) end function _update() end function _draw() 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>Steps to reproduce:</p> <ol> <li>Run the program.</li> <li>Quit to console with ESC.</li> <li>Type: <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>x=10</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Any variable will cause the bug.</p></li> <li>Type: <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>resume</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div></li> <li> <p>Press enter to bring up in game menu. Choose &quot;switch weapon&quot;</p> </li> <li>Observe crash. See image.</li> </ol> <img style="" border=0 src="/media/23858/PICO-8_000.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=40405 https://www.lexaloffle.com/bbs/?tid=40405 Sat, 14 Nov 2020 16:47:18 UTC The Mad Wizard <p> <table><tr><td> <a href="/bbs/?pid=83980#p"> <img src="/bbs/thumbs/pico8_madwizard-6.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=83980#p"> madwizard</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=83980#p"> [Click to Play]</a> </td></tr></table> <br /> <img style="" border=0 src="/media/23858/16_madwizard_12.gif" alt="" /><img style="" border=0 src="/media/23858/17_madwizard_15.gif" alt="" /><img style="" border=0 src="/media/23858/19_madwizard_32.gif" alt="" /><img style="" border=0 src="/media/23858/20_madwizard_47.gif" alt="" /></p> <p>This is a port of The Mad Wizard, an NES game by indie game developer Rob Bryant, originally released in 2014. The original NES ROM is available free from the developer on his website <a href="https://slydogstudios.org/">https://slydogstudios.org/</a> under &quot;The Candelabra Epic.&quot; It is a metroidvania style adventure and if you know where everything is, has a substantial 1.5 hrs of gameplay in it. (longer if you don't know where things are!)</p> <p>The evil summoner Amondus from The Order of the Talon has taken over Prim, Hekl's once happy homeland. And nothing drives a wizard more crazy than having their territory trampled on! Can you help Hekl defeat the enemies that Amondus has populated throughout the landscape? To do so, you will need to master the art of levitation, find magic spells that will assist you in reaching new areas, and upgrade your weapons. All of these will be necessary in order to give Hekl the power he needs to restore peace to Prim. Do you have what it takes? If you dare, venture into this, the first installment of the Candelabra series!</p> <h3>THE FIRST CHRONICLE</h3> <p>In the vast province of Prim lies a great forest known as The Primwoods. It is here that the powerful wizard alliance &quot;The Order of the Talon&quot; has made their expedition. Among them was Hekl, also known as &quot;The Mad Crow&quot; who was dismissed from the group due to his experiments with arcane scrolls and alchemy. It seems he has lost his mind attempting to master the art of flight and was expelled for his most ambitious nature.</p> <h3>THE SILENT OWL INCURSION</h3> <p>However, there may be more to the reason...<br /> It seems Hekl knew something of the Order of the Talon that the archleader Amondus &quot;the Silent Owl&quot; did not approve of.<br /> Amondus swiftly invaded Hekl's homeland, constructed a great floating palace in the sky, and used his powers of summoning to control a legion of evil.</p> <h3>RETRIBUTION OF A MADMAN</h3> <p>Amondus' intentions are unclear, but he has ordered his many goblin minions to steal Hekl's precious magic items and hide them throughout the land to deter Hekl's effort.</p> <p>Hekl's only hope is to build up his magical powers, rid the area of all evil foes, and locate the legendary trident that is known as the TRI-CASTER to give him the means of reaching the Floating Palace to defeat Amondus and restore peace at once.</p> <h3>GET STARTED ON YOUR QUEST!</h3> <p>THE MAD WIZARD is a screen-by-screen, side-view, platform adventure game in which you guide the wizard &quot;Hekl&quot; throughout an open-ended fantasy world. The focus is on exploration, magic use, puzzle solving, and reaching areas through levitation. Along the way, Hekl will find hidden items to grant new abilities which will allow him to access more parts of the world.<br /> You will be granted infinite continues to complete your quest. The game ends when Amondus is finally defeated.</p> <h3>BASIC CONTROLS</h3> <p>Moving around and about.</p> <p>Left/Right: Use left/right to make Hekl walk in the desired direction.</p> <p>Up/Down: Use to climb or descend ladders or choose on the continue screen.</p> <h3>LEVITATION CONTROLS</h3> <p>X(X): Press to levitate. Press again or hold to go higher after upgrade.</p> <p>Left/Right: Use left/right to move in the direction while floating in the air.</p> <p>Down: Press to cancel levitate to quickly fall back to the ground.</p> <h3>MAGIC ATTACK CONTROLS</h3> <p>Hekl can attack his foes using his strong magic. The range and power of attacking is upgraded by finding the mystical hidden diamonds.</p> <p>O(Z): Press to fire the MAGIC MISSILE. This is the default attack.</p> <p>Enter: Press to bring up the in-game menu. Select &quot;SWITCH WEAPON&quot; to switch between default missile and vertical lightning attack.</p> <h3>ADVANCED MAGIC CONTROLS</h3> <p>Special adventure abilities!</p> <p>Up + X(X): Press to place the PRISM CUBE directly in front of Hekl.</p> <p>Down + X(X): Press to summon the SPECTRAL BRIDGE when standing at a ledge.</p> <p>Up + O(Z): Press to use Hekl's TELEPORTATION ability to zoom forward.</p> <h3>ABILITY ICONS DESCRIPTION</h3> <p>Identifying all icons in status bar at the bottom of the play screen.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_1.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_1"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_1.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_1"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_1" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> The LIFE SPHERES. Number of hits Hekl can take.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_0.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_0"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_0.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_0"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_0" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Icon for the MAGIC MISSILE. Basic attack.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_2.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_2"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_2.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_2"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_2" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Number of LIVES that Hekl has. Gets 2 per continue.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_3.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_3"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_3.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_3"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_3" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Current level for ability. Full bar = max level.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_4.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_4"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_4.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_4"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_4" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Icon for XECROM'S THUNDER. Vertical attack.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_5.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_5"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_5.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_5"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_5" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Indicates having the spell of PRISM CUBE.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_6.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_6"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_6.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_6"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_6" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Indicates SPECTRAL BRIDGE magical ability.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_7.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_7"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_7.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_7"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_7" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Indicates TELEPORTATION warping skill.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_9.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_9"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_9.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_9"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_9" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Horizontal levitation upgraded by finding X scrolls.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_10.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_10"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_10.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_10"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_10" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> Vertical levitation upgraded by finding Y scrolls.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_11.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_11"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_11.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_11"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_11" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> <br /> Levitation speed. Can be doubled by finding S potion.</p> <h3>COLLECTIBLES AND UPGRADES</h3> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_12.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_12"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_12.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_12"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_12" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> DIAMOND - Increases the attack power or distance of the magic missile.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_13.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_13"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_13.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_13"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_13" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> XECROM'S THUNDER - Hekl casts a lightning bolt down from the heavens.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_14.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_14"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_14.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_14"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_14" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> LIFE SPHERE - Increases the total amount of hit points permanently.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_15.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_15"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_15.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_15"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_15" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> SCROLL - Levitate further. X scroll for horizontal. Y scroll for vertical.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_16.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_16"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_16.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_16"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_16" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> S POTION - Will double Hekl's levitation speed.</p> <h3>SPECIAL MAGIC ABILITIES</h3> <p>The spells Hekl can learn! NOTE - Can only cast 1 spell at a time initially.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_17.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_17"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_17.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_17"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_17" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> PRISM CUBE - Create a block to use as a shield or platform to stand on.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_18.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_18"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_18.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_18"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_18" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> SPECTRAL BRIDGE - Casts a bridge of energy near a ledge for safe crossing.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_19.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_19"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_19.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_19"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_19" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> TELEPORTATION - Projects Hekl's image forward to warp across the screen.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_20.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_20"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_20.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_20"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_20" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> TRI-CASTER - All 3 spells can be cast at once!</p> <h3>EARLY AREAS OF EXPLORATION</h3> <p>HEKL'S HOME - A cabin in the central woods. The well in the backyard runs deeper than one might imagine.</p> <p>THE PRIMWOODS - Dense forest of hundreds foot high trees, wooden bridges, a graveyard, and a river.</p> <p>KAPLAN CAVERNS - Damp underground cave that's mined for its previous minerals.</p> <p>THE ELDERWOOD - Largest and oldest tree in the world. The hollowed insides serve as the goblins' fortress.</p> <h3>INTERMEDIATE DANGER ZONES</h3> <p>RUINS OF KYR TEMPLE - A once proud sanctuary of stone pillars now collapsed and haunted by untrusted ones.</p> <p>THE UNDER RIVER - Limestone tunnel of raging water rapids beneath the earth. Home to a race of lizardmen.</p> <p>BRIMSTONE GROTTO - A blazing core deep beyond the roots. Here lies a legendary weapon and many fiery inhabitants.</p> <p>FLOATING PALACE - The place of Amondus' great power. Soars high in the sky.</p> <h3>CREATURES OF THE PRIMWOODS</h3> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_21.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_21"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_21.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_21"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_21" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> SNAKER - Venemous prowler. Can get up trees.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_22.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_22"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_22.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_22"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_22" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> BONES - Undead warriors raised by Amondus.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_23.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_23"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_23.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_23"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_23" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> GOBLIN - Annoying beings that run and climb.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_24.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_24"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_24.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_24"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_24" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> BAT - Dangerous dweller of caves and the woods.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_25.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_25"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_25.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_25"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_25" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> TRENT - Demon bush immune to some magic spells.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_26.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_26"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_26.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_26"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_26" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> RAVEN - Fierce predator of the treetops.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_27.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_27"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_27.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_27"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_27" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> GHOST - Guardian soul near sacred areas.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_28.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_28"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_28.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_28"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_28" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> GARGOYLE - Awakened statues that drop skulls.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_36.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_36"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_36.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_36"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_36" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> FIRE GOBLIN - Head resistant menace.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_29.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_29"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_29.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_29"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_29" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> GOLEM - Stone foe capable of causing rockfalls.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_30.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_30"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_30.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_30"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_30" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> LIZARDMAN - Uses spear and shield near water areas.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_37.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_37"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_37.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_37"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_37" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> SALAMANDER - Fireproof. Tougher than the lizardman.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_31.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_31"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_31.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_31"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_31" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> CHARWIT - A phoenix. Ultimate Gain of Strength!</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_32.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_32"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_32.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_32"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_32" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> BEANCY - Accursed zombie pirate captain.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_34.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_34"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_34.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_34"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_34" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> FLERG - The ghost falcon. Pet of Beancy.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_33.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_33"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_33.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_33"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_33" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> RANT - The golden gargoyle. Underworld general.</p> <p> <table><tr><td width=32> <img src="https://www.lexaloffle.com/bbs/gfxc/23858_35.png" width=32 height=32> </td> <td valign=bottom> <a style="cursor:pointer;font-size:8pt" onclick=' var el = document.getElementById("gfxcode_23858_35"); if (el.style.display == "none") el.style.display = ""; else el.style.display = "none"; microAjax("https://www.lexaloffle.com/bbs/gfxc/23858_35.txt", function (retdata){ var el = document.getElementById("gfxcode_23858_35"); el.innerHTML = retdata; el.focus(); el.select(); } ); '> [8x8]</a> </td></tr> <tr><td colspan=2> <textarea rows=3 class=lexinput id="gfxcode_23858_35" style="width:640px;background-color:#fed;display:none;overflow:hidden; font-size:6pt;"></textarea> </td> </tr> </table> AMONDUS - The master summoner and ambitious leader of the Order of the Talon. Lives in a sky palace.</p> <h3>ADVICE FOR THE ADVENTURER</h3> <ul> <li> <p>When Hekl flashes after taking damage, he will be momentarily invulnerable.</p> </li> <li> <p>Always look for ladders or branches that lead off-screen. They could be a path to a new area.</p> </li> <li> <p>If you find it difficult to avoid certain enemy attacks, you might not yet have enough speed.</p> </li> <li> <p>Falling in water will reset the screen but no life points will be lost.</p> </li> <li>Tri-caster can combine blocks and bridges. Use it to go almost anywhere!</li> </ul> <h3>THE MAD WIZARD - CREATED BY</h3> <p>The Mad Wizard was created for the Nintendo Entertainment System by Sly Dog Studios (Rob Bryant) in 2014. It is well loved in the NES homebrew community as one of the most enjoyable homebrew titles ever released.</p> <p>Porting it to the PICO-8 system has been one of the most enjoyable game development projects I've ever undertaken, and I am immensely grateful to the creator for giving me permission to do so, both for my own enjoyment and so that the game might be enjoyed by another enthusiastic audience.</p> <p>Special thanks to Daniel Hwozdek for a thorough play test! Helped iron out quite a few differences and bugs!</p> https://www.lexaloffle.com/bbs/?tid=40295 https://www.lexaloffle.com/bbs/?tid=40295 Sun, 08 Nov 2020 15:00:10 UTC web player fuzzy <p>The web player is fuzzy/anti-aliased in a recent release. Probably aware, but I didn't see an open bug about it.</p> https://www.lexaloffle.com/bbs/?tid=39543 https://www.lexaloffle.com/bbs/?tid=39543 Thu, 10 Sep 2020 19:56:03 UTC Config option request: all leading tabs to spaces <p>Recently an option was added to change the width of tabs in PICO-8. I would like to have a config option to change all leading tabs to spaces (and the tab width would determine how many spaces) like many code editors do. There are trade offs between tabs and spaces and I tend to like to have absolute control over the vertical positioning of code. This is especially useful in PICO-8 so that the code ends up looking pretty when viewed including in the web code viewer. When I use tabs, if I have several clauses of an if lined up right underneath each other for example, they might not be underneath each other if a different tab width is selected from what I had used when I wrote the code. I'd like it to look the same as when I wrote it, in any editor.</p> <p>I'm able to create pre-commit hooks and scripts to accomplish this for myself, but it'd be nice if it was built in as many code editors have the option.</p> https://www.lexaloffle.com/bbs/?tid=38353 https://www.lexaloffle.com/bbs/?tid=38353 Wed, 10 Jun 2020 01:39:47 UTC Dinky King <p> <table><tr><td> <a href="/bbs/?pid=77779#p"> <img src="/bbs/thumbs/pico8_dinkyking-9.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=77779#p"> dinkyking</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=77779#p"> [Click to Play]</a> </td></tr></table> </p> <p>CONTROLS:<br /> X - start the game, or jump<br /> Z - swing the scepter if you have it<br /> Arrows - walk left and right, or climb up and down ladders</p> <p>This is Dinky King, my homage to the original Donkey Kong arcade. You are the Dinky King! You must save the Queen from the Jealous Jester. Walk and climb with the arrow keys, and jump with X (x)! If you find the King's magic scepter, press O (z) to whack the Jester's balls right back at him! Or, just jump over the balls. The Queen dropped her stuff! Make sure to grab it for her on the way. Arrest that Jester! And if you can...topple him to his doom in the last level. Difficulty increases slightly each time you complete all four levels.</p> <p>Nothin' fancy, just a cute little homage.</p> <p>Oh, and watch out for SOCK PUPPETS.</p> <p>The music is a transcription of a riff from Yancey Stomp, by Jimmy Yancey. It's a great song, check it out here:<br /> <a href="https://youtu.be/c4eQbeuX2Y0">https://youtu.be/c4eQbeuX2Y0</a></p> <p>Changelog:<br /> 6-9-20 (4th update today!): A couple more small tweaks, stop slinkies when winning level 2</p> <p>6-9-20 (3rd update today!): Make sure flr is used for all calculations based on dif so timers don't skip the 0 condition. Make the highest difficulty level slightly easier so it is actually doable. (takes 8 times through all four levels...can you make it there???)</p> <p>6-9-20 (2nd update today!): Make slinkies far less aggressive when first playing level 2, but make them respond to the difficulty setting so over time if you keep completing all 4 levels they will pick up speed.</p> <p>6-9-20: Increase delay before sock puppets enter. Decrease volume of ladder and slinky sfx. Add press X message to title screen.</p> https://www.lexaloffle.com/bbs/?tid=38326 https://www.lexaloffle.com/bbs/?tid=38326 Mon, 08 Jun 2020 00:55:24 UTC Undo restores text and moves cursor simultaneously. <p>This bug may have been in place for the last several versions, not sure why I haven't reported it yet.</p> <p>In older versions, hitting ctrl-z would show you your undone text change and then hitting ctrl-z again<br /> would actually move the cursor to its previous position.</p> <p>These actions appear to be combined in recent versions as the cursor will frequently jump away from the text<br /> that I had changed.</p> <p>A minor annoyance, but I think some other folks have noticed it talking in the discord.</p> https://www.lexaloffle.com/bbs/?tid=37682 https://www.lexaloffle.com/bbs/?tid=37682 Thu, 30 Apr 2020 21:50:04 UTC 0.2.0: Line and rectangle drawing not working in map editor <p>I think line and rectangle drawing in the map editor are not working at the moment in 0.2.0. Circle is working however. Confirmed with some peeps in the discord. Sprite editor works for all shapes though.</p> <img style="" border=0 src="/media/23858/2_PICO-8_0.gif" alt="" /> https://www.lexaloffle.com/bbs/?tid=37373 https://www.lexaloffle.com/bbs/?tid=37373 Wed, 15 Apr 2020 23:38:30 UTC Map O and X to more than one button, each? <p>The default for O and X is to be mapped to Z(O) X(X) C(O) V(X).</p> <p>In keyconfig, if we change the mapping of O and X, it appears that you can only map one key code to O and X. Is there any way to produce an alternative multimapping in the config file? for example, maybe I want O to map to U and K and X to map to I and J. Is there any way to do this?</p> <p>As far as I can tell, only the default state allows for a multimapping on O and X. Apologies if this is covered in the manual or elsewhere, I did search for this information but did not find anything.</p> https://www.lexaloffle.com/bbs/?tid=34973 https://www.lexaloffle.com/bbs/?tid=34973 Mon, 05 Aug 2019 18:41:16 UTC Gamma Slice <p> <table><tr><td> <a href="/bbs/?pid=65112#p"> <img src="/bbs/thumbs/pico8_gammaslice-3.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=65112#p"> gammaslice</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=65112#p"> [Click to Play]</a> </td></tr></table> </p> <p>Gamma Slice is a puzzle game based on cutting the corners of squares containing triangles. The triangles are of four different colors. When they match, they disappear. How many can you clear from the well after 20 cuts?</p> <p>Controls:<br /> Arrow keys - Position the scissors<br /> O (Z) - Flip the scissors<br /> X (X) - Cut</p> <p>The scissors will cut along the diagonal of any given square and flip the triangles inside!</p> <p>Code &amp; Sound: Derek Andrews</p> <p>Graphics: Jeff Barr</p> <p>This game was a submission to Nerdery Game Jam 2019.</p> <p>Updated 5-21-21 to fix a small compatibility issue with updates to PICO-8 particularly where the title screen used btnp then did a while loop on btn waiting for it to stop being nonzero.</p> https://www.lexaloffle.com/bbs/?tid=34489 https://www.lexaloffle.com/bbs/?tid=34489 Sun, 09 Jun 2019 23:34:22 UTC Mac OS X no longer nicely sizing PICO-8 window. <p>When PICO-8 launches now on my Mac, it no longer sizes itself appropriately so that it fills a window. It used to fill roughly 1/5th or so of the screen at a nice size that was not too small or too large and the 128x128 display would fit a square window. Now it is a smaller sized display with a lot of black letterboxing around it.</p> <p>The latest build continues to work properly on windows, I'm only seeing this on Mac.</p> <p>I did already try to delete the plist file associated with PICO-8, in case it was a local caching issue due to me derping with window resizing, but it continues to launch like this.</p> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/23858/pico8mac.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=34308 https://www.lexaloffle.com/bbs/?tid=34308 Wed, 22 May 2019 21:02:58 UTC Mysterious function becomes element of table <p>The following program, despite never adding a function to this table, sometimes has a function in the table. This was happening in a game of mine and I finally decided to try reproducing it with a tiny program and I have been able to. </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>cls() nds={flr(rnd(4))} for i=1,1000 do for k=1,flr(rnd(10)) do add(nds,flr(rnd(5))) end for j=1,1000 do nds={flr(rnd(4))} for d in all(nds) do if type(d)=='function' then print(&quot;function&quot;) end 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>I would never expect this program to ever print &quot;function&quot; yet, it does, and intermittently.</p> https://www.lexaloffle.com/bbs/?tid=34256 https://www.lexaloffle.com/bbs/?tid=34256 Sat, 18 May 2019 14:21:50 UTC config.txt: fullscreen_method 2 works better on some machines. <p>I started tinkering with an _update60 cart the other day and I was getting stuttery behavior.</p> <p>Dug deep into possible performance bugs in my game. Then realized I had stuttery graphics (&lt; 60 fps) in simpler cartridges.</p> <p>Dug deep into updating drivers and BIOS on my Dell laptop. Still nothing. This laptop is from 2012, but is more powerful than my rpi3 which has no problem with _update60.</p> <p><strong><br /> Then, I took a look at PICO-8's own config.txt file and found fullscreen_method. Tried method 2, which is actual fullscreen rather than stretching a window.</p> <p>Totally resolved the issue.<br /> </strong></p> <p>How come 2 is not the default? Or maybe it is in fact the default and I'm forgetting having toyed with this months ago.</p> https://www.lexaloffle.com/bbs/?tid=33607 https://www.lexaloffle.com/bbs/?tid=33607 Tue, 12 Mar 2019 00:22:57 UTC 1 Knoll <p> <table><tr><td> <a href="/bbs/?pid=62396#p"> <img src="/bbs/thumbs/pico8_knoll-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=62396#p"> 1 Knoll</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=62396#p"> [Click to Play]</a> </td></tr></table> </p> <p>1 Knoll.</p> https://www.lexaloffle.com/bbs/?tid=33449 https://www.lexaloffle.com/bbs/?tid=33449 Sat, 02 Mar 2019 03:32:31 UTC Hobobot <p> <table><tr><td> <a href="/bbs/?pid=62308#p"> <img src="/bbs/thumbs/pico8_hobobot-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=62308#p"> Hobobot</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=62308#p"> [Click to Play]</a> </td></tr></table> </p> <p>Hobobot is about a robot that was destroyed and junked. But, his parts still work, and he wants to be whole again! Control each of Hobobot's two legs and two hands, and kick his head and get them all back to the torso!</p> <p>Controls:<br /> z - Switch hobobot piece under control.<br /> x - Perform action related to the current piece. Legs can kick, hands can grab.<br /> arrow keys/dpad - Move current hobobot piece left or right. Or, perform left/right action.<br /> enter - Bring up in-game menu. You must use this to restart the current level if you get stuck.</p> <p>The head cannot be controlled, you must kick it with one of the legs.</p> <p>There are 16 levels in total, which progress from fairly obvious mechanic-practice levels to mind-bending puzzles.</p> <p>Enjoy!</p> <p>Originally released February 28th of 2019, I decided to make a few nice updates:</p> <p>-Autosave so you can come back later. The puzzles are pretty tricky!<br /> -New menu option for resetting the autosave progress.<br /> -The first level hopefully will do a better job of teaching new players how the mechanics work.<br /> -Kicking the head is now indicated by a small flashing kicking leg icon.<br /> -Kicking has an extra animation frame to distinguish from the hopping animation. (Thanks discord peeps!)<br /> -Grabbing a switch with the hand now is a toggle. Previously you had to hold down X while using arrow keys---this felt awkward---takes some mental load off of how to execute this mechanic.<br /> -If a piece falls below the screen, an error sound is played and the level is restarted.</p> https://www.lexaloffle.com/bbs/?tid=33415 https://www.lexaloffle.com/bbs/?tid=33415 Thu, 28 Feb 2019 01:43:34 UTC Gray scrollbar-like artifact in new Code display in web player <p>I love the new code display on the web player. I noticed one graphical artifact, which does not get in the way of reading the code but is nonetheless somewhat unpleasant. It appears like a second scrollbar, but is non-functional. See attached photo.</p> <img style="" border=0 src="https://www.lexaloffle.com/bbs/files/23858/code.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=33076 https://www.lexaloffle.com/bbs/?tid=33076 Mon, 28 Jan 2019 19:45:36 UTC &quot;Invalid cart format&quot; after web player boots. <p>Sometimes when I play a cartridge from the web player from my phone, PICO-8 will show the splash screen and boot text, and then it will stop before playing the cart, printing the message: &quot;invalid cart[ridge?] format.&quot; The issue can be worked around by refreshing, but whether it will then successfully boot appears to be intermittent and may require several refreshes. I have not seen the issue for a couple of days; but I realized I had not reported this nor had I seen it reported, so I thought it would be good to make a thread about it.</p> https://www.lexaloffle.com/bbs/?tid=32824 https://www.lexaloffle.com/bbs/?tid=32824 Mon, 07 Jan 2019 16:25:51 UTC