gradualgames [Lexaloffle Blog Feed] 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> 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-2.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> 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="" alt="" /> 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> 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> 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> 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-0.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>I struggled with wanting to just keep working on this forever, but I'd rather release this and move on. Maybe I can make a sequel sometime, as it seems to be fertile ground for interesting puzzles.</p> 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="" alt="" /> 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> Mon, 07 Jan 2019 16:25:51 UTC Navigating away from a tab = no gfx update, but sound continues. <p>Sorry if this is a duplicate, but I could not find my precise issue in the bugs discussion.</p> <p>Running <table><tr><td> <a href="/bbs/?pid=60261#p"> <img src="/bbs/thumbs/pico8_snowman-5.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=60261#p"> snowman</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=60261#p"> [Click to Play]</a> </td></tr></table> in Chrome on Windows 7, I notice that if I navigate away from the tab and then back, that while I was not viewing the tab, graphics updates do not proceed. However, music continues. This breaks carts which rely on stat(20), stat(24), stat(26) etc. It is not a problem for me because I prefer to remain engaged with a cart as long as I am playing it anyway, but I am not certain if this issue was present prior to the recent updates or not.</p> Thu, 03 Jan 2019 14:15:34 UTC The Snowman (&quot;Walking in the Air&quot;) <p> <table><tr><td> <a href="/bbs/?pid=60261#p"> <img src="/bbs/thumbs/pico8_snowman-5.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=60261#p"> snowman</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=60261#p"> [Click to Play]</a> </td></tr></table> <br /> This is a little animation/transcription of Walking in the Air from &quot;The Snowman,&quot; an animated film from 1982 that I must have first seen in about 1987 or so. I recently watched this film again and it left a really strong impression on me, and I felt I had to make this little PICO-8 cart celebrating it.</p> <p>Update 1-1-19:<br /> Happy New Year! I made a few more improvements to the karaoke animation so the text scrolls more smoothly, the currently sung line is highlighted by a drop shadow as the ball slides across it. After more testing it looks like the code for tracking elapsed ticks is working great on all platforms. (except if you navigate away from PICO-8, there seem to be issues but it appears to affect other carts too not just mine?)</p> <p>Update 12-31-18:<br /> I added a karaoke style animation above the syllables of the words, and scroll the text so it is easy to sing along with. This was a little tricky to get working. I used stat(24) and stat(26) and associated ticks values with syllables, but it does not perfectly advance in lockstep to the 30 fps update so I had to fudge things a bit. But it now seems to be working well on Windows and on Mac, we'll see how well it does on web.</p> Sat, 22 Dec 2018 21:50:33 UTC &quot;COULD NOT CONNECT TO BBS&quot; when searching in Splore for &quot;short text&quot; <p>I wanted to see the code from the following cart: <a href=""></a></p> <p>I am unable to view the code from the bbs as previously.</p> <p>Also, searching for &quot;small text&quot; from within splore results in &quot;COULD NOT CONNECT TO BBS&quot; even though I'm able to refresh other parts of splore such as featured, new, etc.</p> <p>Thanks! (as a workaround, I'll just download the png)</p> Mon, 10 Dec 2018 13:41:23 UTC Separate metadata matrix (collision, other properties) from built-in map? <p>In the game I'm building, I often have a need for an entity to basically make the map solid and impassable at a given location, but in the actual map editor these spaces would all be empty. Since the &quot;flags&quot; all reside in sprites, it seems the only way I could have dynamic collision flags or other metadata would be to use my own collision map. It would first be built from the map itself, then used dynamically thereafter by entities that need it.</p> <p>It seems like a sensible thing to do and I am curious if anyone else has done this for similar reasons.</p> Fri, 30 Mar 2018 08:35:27 UTC Book: Programming in Lua: useful for Pico-8? <p>I understand Pico-8 has a subset of the full Lua language. However, I wonder is there enough of it there to make the following book useful: <a href=";psc=1&amp;refRID=JKY5ABS0S7DB70RF732Z">;psc=1&amp;refRID=JKY5ABS0S7DB70RF732Z</a></p> <p>Does anyone have this and did it help you?</p> <p>I've been able to get by picking up a smattering of lua syntax just online, but I enjoy the idea of getting a deeper look at the language. However since Pico-8 is the only platform on which I'm extensively using Lua, I want to make sure the investment would be worth it.</p> Fri, 09 Mar 2018 12:32:49 UTC How common is it to use classes/oop? <p>I've been using an &quot;object-like&quot; idiom in my Pico-8 programs so far where I have functions where I basically pass in a &quot;self&quot; and do operations on an object. I also tend to keep a &quot;type&quot; variable. That seems to have been enough to get as &quot;object oriented&quot; as I need to be. I've seen that it is possible to hack Lua to basically give you full oop and inheritance. It looks as though it is a hack and not a built in language feature, and from what I've been reading not very many Pico-8 users use it.</p> <p>My question is, to those that do, what do you believe the advantages are, especially in the context of making such small programs...? (guessing there aren't any, other than finding it interesting to implement)</p> Sun, 25 Feb 2018 22:33:36 UTC Is it possible to store favourites.txt in root path? <p>I have pico 8 on my home pc, my work pc, and my raspberry pi, but they each have their own favorites list. Is there a way to put this favorites list in the root path? I have all my carts and such in a dropbox share that all three machines use, but not the favourites.txt.</p> <p>Also is there a way to sort favourites.txt (other than just editing the file and sorting by the column of the title of the game)?</p> Tue, 08 Aug 2017 22:39:11 UTC Music editor...pattern length? <p>Is there any way to make a pattern stop short of 32 notes? (like famitracker has a Bxx effect for jumping to another pattern/frame) I have some music with a repeating section but it won't fit in 32 notes. if I could make it stop at say note 24 (or whatever it ends up being) I could repeat this section in a pattern and not have to waste an extra sfx.</p> Tue, 08 Aug 2017 21:24:00 UTC Dan O' Beekeep <p> <table><tr><td> <a href="/bbs/?pid=42844#p"> <img src="/bbs/thumbs/pico42865.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=42844#p"> Dan O' Beekeep 1.3</a><br><br> by <a href="/bbs/?uid=23858"> gradualgames</a> <br><br><br> <a href="/bbs/?pid=42844#p"> [Click to Play]</a> </td></tr></table> </p> <p>Inspired by Dino Riki on the NES. Features Dan (an old friend of mine) netting bees. And screaming: BEEEEEEEES!</p> Fri, 28 Jul 2017 11:49:37 UTC Scaling text without a black strip at top? <p>I recently wrote the following routine to scale 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> --scales some text, used for title function scale_text(text,tlx,tly,sx,sy,col) print(text,0,0,col) for y=0,7 do for x=0,#text*8-1 do local col=pget(x,y) if col!=0 then local nx=x*sx+tlx local ny=y*sy+tly rectfill(nx,ny,nx+sx,ny+sy,col) end end end print(text,0,0,0) 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>However it depends on first printing the text to the screen.</p> <p>I was trying to think of ways I could enable scaled text printing while other things are going on. Right now I just keep a black strip at the top of the screen of my current game so that I can scale text whenever I would like.</p> <p>One idea I had was to create a table outside of Pico-8 that matches the Pico-8 font, and each row would be a single byte where every bit is a pixel, 8 bytes each for all characters in the font, then look up the correct bit when scaling each character, instead. Problem with that is the space it could use up, I guess.</p> <p>I was kinda hoping the font would be in some kind of pseudo &quot;system ROM&quot; readable using PEEK, but I didn't see this listed in the memory map.</p> <p>Another idea I had was to print every character, read the pixels and keep the data in a table. It'd be a sort of ugly &quot;blip&quot; of text right as the game starts up, though, but it might be so fast nobody would notice...</p> Sun, 09 Jul 2017 22:17:58 UTC My Pico-8 pi <p>Here's my Raspberry Pi 3, which I'm using as a dedicated Pico-8 machine. I also added a 3D printed Pico-8 logo.</p> <p><a href=""><img style="" border=0 src="" width=512 height=288 alt="" /></a></p> Thu, 06 Jul 2017 19:42:39 UTC