jahndis [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=18712 Road Runner <p> <table><tr><td> <a href="/bbs/?pid=136879#p"> <img src="/bbs/thumbs/pico8_road_runner-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136879#p"> Road Runner</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=136879#p"> [Click to Play]</a> </td></tr></table> </p> https://www.lexaloffle.com/bbs/?tid=54893 https://www.lexaloffle.com/bbs/?tid=54893 Sat, 04 Nov 2023 00:20:00 UTC Training the PJ Masks <p> <table><tr><td> <a href="/bbs/?pid=136603#p"> <img src="/bbs/thumbs/pico8_training_the_pj_masks-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=136603#p"> Training the PJ Masks</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=136603#p"> [Click to Play]</a> </td></tr></table> </p> <p>Training the PJ Masks</p> <p>Choose your hero and villain and battle until you beat the villain!</p> <p>But uh oh! The villain can beat you too!</p> <p>Have fun and enjoy the game!</p> https://www.lexaloffle.com/bbs/?tid=54817 https://www.lexaloffle.com/bbs/?tid=54817 Mon, 30 Oct 2023 00:36:57 UTC Ice Breakers <p> <table><tr><td> <a href="/bbs/?pid=131127#p"> <img src="/bbs/thumbs/pico8_ice_breakers-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=131127#p"> Ice Breakers</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=131127#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Ice Breakers</h1> <p>Balance power and precision as you strategically whack ice all while keeping the little skater's head above water!</p> <p>Play locally against friends or CPU players in single or multi-elimination matches!</p> <h2>In Game Controls:</h2> <ul> <li>Use the arrow keys to move your hammer</li> <li>Use Z to hit your hammer</li> </ul> <p>Your hammer's power will oscillate between a tiny precise tap, and a chaotically random whack! Surrounding ice will experience more disruption with several weaker hits, while a single powerful strike will leave adjacent ice less disturbed as you smash your target block. Just be careful you hit the right one! Find the right balance of precision and power as you strategize to defeat your opponents and unlock new characters!</p> <p>Based on the classic board game, the idea to implement in PICO-8 was provided by my 6 year old son. We had a blast working on it together!</p> <p>Enjoy!</p> https://www.lexaloffle.com/bbs/?tid=53170 https://www.lexaloffle.com/bbs/?tid=53170 Mon, 19 Jun 2023 05:33:27 UTC Vision Quest <p> <table><tr><td> <a href="/bbs/?pid=117502#p"> <img src="/bbs/thumbs/pico8_vision_quest-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=117502#p"> Vision Quest</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=117502#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Vision Quest&quot;</p> <p>I hardly remember the sand stinging my face or the burning fatigue in my limbs, my entire spirit absorbed by the spectacle dancing before my eyes...</p> <p>280 characters</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>w,t,s,c,r=128,0,sin,cos,rnd::_::pal({1,2,8,9,10,12,13,14,7},0)for x=0,64 do?&quot;웃&quot;,32,87,0 a=38*(x+t*2)b=(x%27*9)%64line(a*2%w-9,b,a%w+9,b,9)for y=0,64 do n=s(x/w+t)+c(y/w+t)+s(y/w+t*3)*c(x/w+t)pset(x*2+r()*2,y*2+r()*2,y&gt;48+r()+s(x/80)*4and 15or(3*n%3+t*4)%8+1)end end t+=.001goto _ </pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=49352 https://www.lexaloffle.com/bbs/?tid=49352 Fri, 16 Sep 2022 06:29:22 UTC Gravity Wrangler <p> <table><tr><td> <a href="/bbs/?pid=116709#p"> <img src="/bbs/thumbs/pico8_gravity_wrangler-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=116709#p"> Gravity Wrangler</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=116709#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Gravity Wrangler&quot;</p> <p>Each world hurtles into the deep, feigning a wandering heart, accelerating their demise. What would they think if they realized that, through the eons, I was the only one standing between them and the frozen abyss...</p> <p>279 characters</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>m,o=128,{}for i=1,9 do o[i]={rnd(m),rnd(m),0,0}end::_::for i=1,18 do for j=1,64 do pset(rnd(m),rnd(m),rnd(m)&lt;1 and rnd(3))if(i&lt;10 and j&lt;10)a=o[i]b=o[j]x=a[1]-b[1]y=a[2]-b[2]d=sqrt(x^2+y^2)+.1a[3]-=x/d/999a[4]-=y/d/999 end a[1]+=a[3]a[2]+=a[4]pset(a[1],a[2],i%9+7)end flip()goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=49137 https://www.lexaloffle.com/bbs/?tid=49137 Thu, 01 Sep 2022 05:10:24 UTC Strummin' Along <p> <table><tr><td> <a href="/bbs/?pid=116084#p"> <img src="/bbs/thumbs/pico8_strummin_along-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=116084#p"> Strummin' Along</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=116084#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Strummin' Along&quot;</p> <p>280 characters</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>n,m,t,w,o,l=32,128,0,0,ovalfill,line::_::cls(1)for i=0,n do c=4if(i==n)c=9 o(16,64-i,m,99-i,c)o(-n,78-i,m,m-i,c)end for i=16,m do x=97-i c=4if(i%9&gt;7)c=6 if(i&lt;20or i&gt;46)l(i,x,i+n,x,c)o(n,48,84,62,0)end for i=7,n,5 do l(9+i,82,m+i,-n-(w+i)%3,7)end flip()t+=1if(t%n&lt;1)w=9 w*=.9goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=48980 https://www.lexaloffle.com/bbs/?tid=48980 Sun, 21 Aug 2022 04:49:59 UTC Celestial Defender <p> <table><tr><td> <a href="/bbs/?pid=115730#p"> <img src="/bbs/thumbs/pico8_celestial_defender-3.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=115730#p"> Celestial Defender</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=115730#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Celestial Defender</h1> <p>Save the universe from ancient celestial beings in this procedural shoot-m-up boss runner!</p> <p>Or complete 24 custom missions ranging in difficulty from a walk in the park to a chaotic hell!</p> <h2>Controls:</h2> <ul> <li>Use the arrow keys and Z to select Infinite Mode or a custom mission.</li> <li>Use the arrow keys to dodge the celestial being's energy blasts</li> </ul> <p>Based on a game my brother and I collaborated on a long while back, mostly to experiment with writing music.</p> <p>Enjoy!</p> <h2>Update 8/13/2023:</h2> <ul> <li>Added the excellent suggestion to make being closer to the enemy do more damage.</li> <li>Added sound effects</li> </ul> https://www.lexaloffle.com/bbs/?tid=48890 https://www.lexaloffle.com/bbs/?tid=48890 Sun, 14 Aug 2022 02:02:10 UTC Hitting The Slopes <p> <table><tr><td> <a href="/bbs/?pid=89324#p"> <img src="/bbs/thumbs/pico8_hitting_the_slopes-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=89324#p"> Hitting The Slopes</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=89324#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Hitting The Slopes&quot;</p> <p>280 characters</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>t=0n=0m=64z=128::_::if(n%9&lt;1)then cls(1)n=1for i=0,z*2 do line(32,m,i-m,z,7)line(z,50,i-m,z,7)end end if(t&lt;1)r=rnd(z)s=32-rnd(m)n+=1 for i=0,z do ?&quot;$&quot;,i*6,z-i%4*i,3 for j=0,z do if(pget(i,j)&gt;7)pset(i,j,6)end end x=r+s*sin(t/m)y=t+5if(pget(x,y)&gt;1)pset(x,y,8) flip()t+=.5t%=z goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=42120 https://www.lexaloffle.com/bbs/?tid=42120 Sun, 21 Mar 2021 19:45:29 UTC I'm A Big Fan <p> <table><tr><td> <a href="/bbs/?pid=89287#p"> <img src="/bbs/thumbs/pico8_im_a_big_fan-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=89287#p"> I'm A Big Fan</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=89287#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;I'm A Big Fan&quot;</p> <p>271 characters</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>t,m,z,l,o,s,c=0,64,999,line,ovalfill,sin,cos::_::cls(1)rectfill(63,0,m,m,5)for j=0,1 do for i=j*z/4,40+j*z/4 do x=c((i+t)/z)y=s((i+t)/z)l(m-x*40,m-y*10,m+x*40,m+y*10,0)end end o(58,62,69,66,3)o(60,m,67,68,7)pset(m+s(c(t/z))*m/3,m+3+s(c(t/z*2))*m/7,6)flip()t+=4t%=z goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=42107 https://www.lexaloffle.com/bbs/?tid=42107 Sat, 20 Mar 2021 23:19:31 UTC Ziggy Frog <p> <table><tr><td> <a href="/bbs/?pid=83103#p"> <img src="/bbs/thumbs/pico8_ziggy_frog-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=83103#p"> Ziggy Frog</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=83103#p"> [Click to Play]</a> </td></tr></table> </p> <h1>Ziggy Frog</h1> <p>Enjoy the simple life of Ziggy the frog as you help him catch flies on his log!</p> <h2>Controls:</h2> <ul> <li>Use Z to charge the vertical power of your jump. </li> <li>Use Left and Right to charge the horizontal power of your jump.</li> <li>Use X to do one last jump and exit if you're all done playing :)</li> </ul> <p>Eat flies at the peak of your jump! Each fly will give you more jumps!</p> <p>There are different levels of difficulty for whatever you think seems most fun, along with a &quot;Lazy&quot; mode with an infinite number of jumps, if you're just looking to relax and catch some flies.</p> <p>Based on a goofy mechanic my kid and I worked on together, I took some extra time to give it some polish and finish it up.</p> <p>Enjoy!</p> <h2>Update 3/19/2021:</h2> <ul> <li>Added jump power/direction UI to better show how high and which direction you'll be jumping</li> <li>Added shrinking circle that better shows when the frog will eat a fly</li> </ul> https://www.lexaloffle.com/bbs/?tid=39960 https://www.lexaloffle.com/bbs/?tid=39960 Mon, 19 Oct 2020 05:06:02 UTC Use your phone as a PICO-8 controller on Raspberry Pi <p>I was setting up PICO-8 on a raspberry pi on my TV, and I thought to myself, &quot;Wouldn't it be nice if I could use my phone as a controller?&quot;. Obviously not ideal for games where tight controls are necessary, but a perfectly valid use case for slower or turned-based games.</p> <p>Enter in <a href="https://www.unifiedremote.com/">Unified Remote</a>!</p> <p>At it's core, Unified Remote allows you to turn your phone into a remote, and it comes bundled with a bunch of remotes for various applications. However, I couldn't find anything that worked with PICO-8 out of the box. So I took it upon myself to create a custom remote.</p> <p>This tutorial will assume you are running PICO-8 on a raspberry pi, and does not go into the setup of that piece.</p> <p>First, you'll need to install the Unified Remote Server on your raspberry pi:</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>wget -O urserver.deb http://www.unifiedremote.com/d/rpi-deb sudo dpkg -i urserver.deb rm urserver.deb </pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Next, you'll need to setup Unified Remote Server to run as root whenever your pi starts up:</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>sudo modprobe uinput # just in case this hasn't been loaded yet</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Modify /etc/rc.local (as root) and add the following somewhere before the &quot;exit 0&quot;:</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>/opt/urserver/urserver-start &amp;</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Now, when you reboot your pi, Unified Remote Server should start up automatically.</p> <p>Next, you'll want to add the custom PICO-8 controller that I've put together (feel free to tweak it to your needs using the <a href="https://github.com/unifiedremote/Docs">Docs</a>). To do this, you'll need to create a directory for custom remotes. For me, this was /opt/urserver/custom (even though the documentation says otherwise). You may want to go to the Unified Remote Server Manager interface at <a href="http://yourpihostnameorip:9510/web/#/log">http://yourpihostnameorip:9510/web/#/log</a> and see where the logs say it's looking for custom remotes to be sure. So in my case:</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>sudo mkdir /opt/urserver/custom sudo mkdir /opt/urserver/custom/pico8 # Set permissions to a user other than root, so it's easier to work with # Substitute your user here (or don't do it at all and just use root) sudo chown pi /opt/urserver/custom/pico8 sudo chgrp pi /opt/urserver/custom/pico8</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Then, you'll want to put the following files in the new pico8 directory:</p> <p><strong>meta.prop</strong></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>meta.name: PICO-8 meta.author: John Langewisch meta.description: Gamepad for PICO-8 meta.tags.category: gaming</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p><strong>layout.xml</strong></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>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;layout orientation=&quot;landscape&quot; scroll=&quot;none&quot;&gt; &lt;row weight=&quot;1&quot;&gt; &lt;/row&gt; &lt;row weight=&quot;6&quot;&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;grid color=&quot;#84769C&quot; weight=&quot;4&quot;&gt; &lt;row&gt; &lt;space/&gt; &lt;button icon=&quot;up&quot; ondown=&quot;core.keyboard.down,up&quot; onup=&quot;core.keyboard.up,up&quot;/&gt; &lt;space/&gt; &lt;/row&gt; &lt;row&gt; &lt;button icon=&quot;left&quot; ondown=&quot;core.keyboard.down,left&quot; onup=&quot;core.keyboard.up,left&quot;/&gt; &lt;space/&gt; &lt;button icon=&quot;right&quot; ondown=&quot;core.keyboard.down,right&quot; onup=&quot;core.keyboard.up,right&quot;/&gt; &lt;/row&gt; &lt;row&gt; &lt;space/&gt; &lt;button icon=&quot;down&quot; ondown=&quot;core.keyboard.down,down&quot; onup=&quot;core.keyboard.up,down&quot;/&gt; &lt;space/&gt; &lt;/row&gt; &lt;/grid&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;grid weight=&quot;4&quot;&gt; &lt;row weight=&quot;2&quot;&gt; &lt;button image=&quot;logo.png&quot; scale=&quot;fit&quot; color=&quot;transparent&quot;/&gt; &lt;/row&gt; &lt;row weight=&quot;1&quot;&gt; &lt;/row&gt; &lt;row&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;button text=&quot;SELECT&quot; weight=&quot;6&quot; ondown=&quot;core.keyboard.down,escape&quot; onup=&quot;core.keyboard.up,escape&quot;/&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;button text=&quot;START&quot; weight=&quot;6&quot; ondown=&quot;core.keyboard.down,enter&quot; onup=&quot;core.keyboard.up,enter&quot;/&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;/row&gt; &lt;/grid&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;grid weight=&quot;4&quot;&gt; &lt;row weight=&quot;3&quot;&gt; &lt;/row&gt; &lt;row weight=&quot;4&quot;&gt; &lt;button icon=&quot;select&quot; color=&quot;#FF6699&quot; weight=&quot;2&quot; ondown=&quot;core.keyboard.down,z&quot; onup=&quot;core.keyboard.up,z&quot;/&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;button icon=&quot;docclose&quot; color=&quot;#FFCCAA&quot; weight=&quot;2&quot; ondown=&quot;core.keyboard.down,x&quot; onup=&quot;core.keyboard.up,x&quot;/&gt; &lt;/row&gt; &lt;row weight=&quot;3&quot;&gt; &lt;/row&gt; &lt;/grid&gt; &lt;space weight=&quot;1&quot;/&gt; &lt;/row&gt; &lt;row weight=&quot;4&quot;&gt; &lt;/row&gt; &lt;/layout&gt;</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p><strong>icon.png</strong> (I just took the <a href="https://www.lexaloffle.com/gfx/p8b_pico8.png">PICO-8 icon</a>)<br /> <strong>logo.png</strong> (I just took the <a href="https://www.lexaloffle.com/gfx/pico8_logo_vector.png">PICO-8 logo</a>)</p> <p>Once you've added those files under /opt/urserver/custom/pico8 you should be able to restart the server to load the new remote either through the web UI, or by running:</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>/opt/urserver/urserver-stop /opt/urserver/urserver-start</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>If things don't seem to be working, you can go to the web UI and check the logs for issues.</p> <p>Now, you'll need to download the Unified Remote app to your phone (I paid for the full version, but it shouldn't be required). When you start the app, it should automatically find your server. Hopefully, when you add a new remote, and open the Gaming category, you should see your new PICO-8 remote. Add it, select it, and you should be able to control PICO-8 while it's running on your pi!</p> <p>A few caveats:</p> <ul> <li>The files assume american style keyboard, feel free to tweak the buttons in the layout if that's an issue.</li> <li>I have the layout set to landscape orientation, but apparently Unified Remote doesn't respect that. I have to turn on screen rotation and make sure I'm in the correct orientation for it to look decent.</li> <li>I had some issues with the Unified Remote app picking up changes made to the meta.prop file. Clearing the app data, and starting from scratch solved it.</li> <li>I am using the wifi data connection for Unified Remote. This obviously relies on semi-decent network speeds to be responsive. Apparently there's also bluetooth connection, but I have not attempted that. </li> <li>&quot;Select&quot; is Escape, &quot;Start&quot; is Enter. Again, tweak to your heart's content.</li> </ul> <p>Hopefully this is useful to folks!</p> https://www.lexaloffle.com/bbs/?tid=39885 https://www.lexaloffle.com/bbs/?tid=39885 Sun, 11 Oct 2020 06:09:49 UTC Keep It Alive <p> <table><tr><td> <a href="/bbs/?pid=74918#p"> <img src="/bbs/thumbs/pico8_keep_it_alive-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=74918#p"> Keep It Alive</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=74918#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Keep It Alive&quot;</p> <p>280 characters</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>p,v,t,m,z,f,s=0,0,0,64,128,circfill,sin::_::cls(0)c=3 for i=0,m do if(i==m)c=0 x=m+9*s(i/z+p/z)y=z+4-i+4*s(i/z+t/z)-4*s(p/32)f(x,y,18+c-i/8,c)end f(m,t%m,2,12)for i=0,m do f(x+i/4*s((i+p*5+t)/z),y+7-i/2+i/7*s(p/z),4-i/16,8)end flip()a=.1-rnd(.2)t+=2v=max(-1,min(1,v+a))p+=v goto _ </pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=37422 https://www.lexaloffle.com/bbs/?tid=37422 Sat, 18 Apr 2020 05:51:11 UTC Weaver <p> <table><tr><td> <a href="/bbs/?pid=73780#p"> <img src="/bbs/thumbs/pico8_weaver-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73780#p"> Weaver</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73780#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Weaver&quot;</p> <p>280 characters</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>poke(24364,7)::n::z,a,r,f,p=64,0,rnd,rectfill,pset cls(0)w=r(32)h=r(32)c=1+r(14)d=c+1+r(14)x,y,b=z,z,r(1)f(w,h,z,z,c)f(w,h,w-9,z,d)::_::p(x,y)p(x,h+z-y)p(w+z-x,y)b+=r(.4)-.2x=min(max(x+cos(b),w),z)y=min(max(y+sin(b),h),z)::m::flip() if(x&gt;w and y&gt;h)goto _ a+=1 if(a&gt;z)goto n goto m</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=37030 https://www.lexaloffle.com/bbs/?tid=37030 Mon, 09 Mar 2020 04:24:35 UTC Lunar Blackout <p> <table><tr><td> <a href="/bbs/?pid=73685#p"> <img src="/bbs/thumbs/pico8_lunar_blackout-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73685#p"> Lunar Blackout</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73685#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Lunar Blackout&quot;</p> <p>279 characters</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>t,m,v,z,r,c,p=0,16,64,128,rectfill,circfill,pset::_::cls(1)c(99,24,20,7)r(0,v,z,z,0)for i=0,8 do x=z-i*9y=abs(sin(i*.11))r(x,v,x+7,v-y*44,0)for j=0,z do c((1+j%4)*t/9%z-i*5+j%63*m-z,m+y*4+j%2*m,6-y*2,2)end g,h=i*m-t%m,i*32+t%32p(g,v,7)p(h,v)p(g+1,v,8)p(h-1,v)end t+=1flip()goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=37000 https://www.lexaloffle.com/bbs/?tid=37000 Thu, 05 Mar 2020 06:55:30 UTC Sonder <p> <table><tr><td> <a href="/bbs/?pid=73651#p"> <img src="/bbs/thumbs/pico8_sonder-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73651#p"> Sonder</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73651#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Sonder&quot;</p> <p>276 characters</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>b,z,x,y,d,r,g=0,128,{},{},{},rnd,pget cls(0)::_::for i=0,z do for j=0,z do c=g(i,j) if(c&gt;0)pset(i,j,c-1) end end for i=1,9 do if(b&lt;9)b+=1x[i]=r(z)y[i]=r(z)d[i]=r(1) circfill(x[i],y[i],2,9)x[i]+=cos(d[i])*r(3)y[i]+=sin(d[i])*r(3)d[i]+=r(.1)-.05x[i]%=z y[i]%=z end flip()goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=36987 https://www.lexaloffle.com/bbs/?tid=36987 Wed, 04 Mar 2020 05:41:08 UTC Pandemic <p> <table><tr><td> <a href="/bbs/?pid=73629#p"> <img src="/bbs/thumbs/pico8_pandemic-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73629#p"> Pandemic</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73629#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Pandemic&quot;</p> <p>265 characters</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>z,g,s,r,f=128,pget,pset,rnd,flr cls(0) for i=1,9 do x=f(r(z))y=f(r(z)) s(x,y,8) end ::_:: for i=1,z do x=f(r(z))y=f(r(z)) c=g(x,y) a=g(x+1,y)+g(x-1,y)+g(x,y+1)+g(x,y-1) if(c&gt;1)then s(x,y,c-1)elseif(c==1)then elseif(a&gt;4 and r(a)&gt;4)then s(x,y,8)end end flip() goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=36979 https://www.lexaloffle.com/bbs/?tid=36979 Tue, 03 Mar 2020 07:32:02 UTC Sweet Sip <p> <table><tr><td> <a href="/bbs/?pid=73275#p"> <img src="/bbs/thumbs/pico8_sweet_sip-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73275#p"> Sweet Sip</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73275#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Sweet Sip&quot;</p> <p>279 characters</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>m,z,t,c,l,s=55,127,0,circfill,line,sin::_::cls(0)for i=-6,6 do c(m-i*3+s(i*t/z),80+i*6,12-i*i,7)l(46+i,90,41,115,7)c(60,m,9)l(66+i/6,48+i/7,87,36,1)end ?&quot;●&quot;,m,50,1 for i=0,z do l(m-sqrt(i),66+i/8,m+s((t-i/9)/z)*50,66+i/m-s(t/z*2)*9,3)l(z+4,3,90+i/9,9+i/4,8)end t+=4 flip()goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=36875 https://www.lexaloffle.com/bbs/?tid=36875 Thu, 20 Feb 2020 05:46:03 UTC Evening Train Ride <p> <table><tr><td> <a href="/bbs/?pid=73198#p"> <img src="/bbs/thumbs/pico8_evening_train_ride-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=73198#p"> Evening Train Ride</a><br><br> by <a href="/bbs/?uid=18712"> jahndis</a> <br><br><br> <a href="/bbs/?pid=73198#p"> [Click to Play]</a> </td></tr></table> </p> <p>&quot;Evening Train Ride&quot;</p> <p>280 characters</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>z,t,r,c=128,0,rectfill,circfill::_::cls(2) c(40,64,25,10) r(0,90,z,z,1) for i=0,z do r(i,64-sin(sin((i-t)/999))*20,i,90,3) r(i,70,i,99-sqrt(abs(sin((i-t*4)/z)*640)),6) end for i=0,32 do r(40+24*i,65,64+24*i-2,69,5) if(i%8&lt;7)then r(41+3*i,67,42+3*i,67,9) end end t+=1 flip()goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> https://www.lexaloffle.com/bbs/?tid=36853 https://www.lexaloffle.com/bbs/?tid=36853 Tue, 18 Feb 2020 06:58:22 UTC