wallgraffiti [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=46046 Lava Joe: Graffiti's Mod <p> <table><tr><td> <a href="/bbs/?pid=116177#p"> <img src="/bbs/thumbs/pico8_lj_ge-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=116177#p"> lj_ge</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=116177#p"> [Click to Play]</a> </td></tr></table> <br /> Lava Joe is a fun game to play to kill time. Its simple gameplay loop allows you to play it while putting most of your focus on something else, and that's exactly why it's my go-to game to play on the side while doing stuff such as watching YouTube and things like that. However, over time, certain things in the game started to bug me, and while it was fully understandable that the game wasn't the most polished thing in the world as it was made for a game jam, I still had a little voice in me telling me to change it to my likings. And so, recently, I did just that.</p> <p>The main issue that bothered me was the fact that all enemy types give the same amount of points(50). To me, this makes no sense as the later enemies prove to be quite a pain to deal with before the lava flood gets you. As such, I have modified the system so that starting with the snake, each new enemy would give an extra 25 points for its defeat. So, the little blue guy is still 50 points, the snake is 75, etc.</p> <p>Next, I added something completely unnecessary, that being a <em>slam</em>. Pressing the down button on the DPad will now immediately turn your vertical velocity to the minimum it can be, sending you straight down. This can be useful when you've just jumped to get an item and the lava flood is very close to you. In such a scenario you can slam and quickly get to the ground, saving you some time to jump to the next platform.</p> <p>Expanding on the slam, I also added a <em>stomp</em>. A stomp will occur when you slam into an enemy. <strong><em>A stomp will immediately kill any enemy, but will give you significantly less points</em></strong>. Jumping within 5 frames of a succesful stomp will double the jump height, allowing you to skip a platform. This mechanic is especially useful if the lava is about to catch up to you and you need a quick boost to survive.</p> <p>I've also made the camera shift slightly with the player's horizontal position to make the camera feel a bit more dynamic.</p> <p>This is the version I've been using for the last week or so, and personally, the scoring fix and the added mobility have made the game a lot more fun for me. You may prefer the original, and that's fine, but I hope you still enjoy this version of the game. Cheers!</p> https://www.lexaloffle.com/bbs/?tid=49003 https://www.lexaloffle.com/bbs/?tid=49003 Tue, 23 Aug 2022 18:50:15 UTC Saving pico8-edu URL fails <p>I'm working on a version of VMap which fits into a Pico 8 Education Edition cartridge (for showing to my computer science class). This, of course, required a significant amount of minification to fit into the encoded 2040 character limit. I did, however, manage to do this with a combination of hand written changes and using Pahammond's GEM. However, when I try to save to @url, it provides me this error:</p> <img style="margin-bottom:16px" border=0 src="/media/46046/picourlerror.PNG" alt="" /> <p>I may be misunderstanding the way URL saving works, but you can clearly says that it failed, even though the character count is below the limit. Apart from the code (found below), I have a single 24&times;16px sprite located at sprite 0. I would appreciate if someone could help me out here.<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <div> <div class=scrollable_with_touch style="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>a=add r=rnd _a=true _b=true m=false _c=128 _d='1.2.2' function _e(tb,v) local _f={} for vl in all(tb)do _f[vl]=true end return _f[v]end d={[0]=0,0,1,1,2,1,13,6,2,4,9,3,13,5,8,14} _g={3,6,7,9,10} _h={} cs=split('𝘣𝘤𝘥𝘧𝘨𝘩𝘫𝘬𝘭𝘮𝘯𝘱𝘲𝘳𝘴𝘵𝘷𝘸𝘹𝘺𝘻','') vs=split('𝘢𝘦𝘪𝘰𝘶','') for v in all(vs)do for ov in all(vs)do a(_h,v..ov)end end for c in all(cs)do for v in all(vs)do a(_h,c..v)a(_h,c..v..'𝘯')end end function gn(l) local _i='' local l=l or 3 for i=1,flr(r(l)+2)do _i..=r(_h)end return _i end _m=gn(2) cn={} for i=1,flr(r(2)+2)do a(cn,{gn(1),false})end r(cn)[2]=true _n={{7,6},{15,9},{11,3}} _o={<img src=smilies/12.png border=0 width=16 height=12>,<img src=smilies/12.png border=0 width=16 height=12>,{2,4}} ps={} bm={} for i=1,flr(_c/27)do a(bm,{x=r(96)+16,y=r(96)+16,c=r(_n)})end for i=1,flr(_c/54)do a(bm,{x=r(96)+16,y=r(96)+16,c=r(_o)})end for x=0,4do a(bm,{x=x*31.75,y=0,c=<img src=smilies/12.png border=0 width=16 height=12>}) a(bm,{y=x*31.75,x=0,c=<img src=smilies/12.png border=0 width=16 height=12>}) a(bm,{x=x*31.75,y=127,c=<img src=smilies/12.png border=0 width=16 height=12>}) a(bm,{y=x*31.75,x=127,c=<img src=smilies/12.png border=0 width=16 height=12>})end function _j(x1,y1,x2,y2) local _p=sqrt(((x2-x1)^2)+(y2-y1)^2) if(_p&lt;0)return 0x7fff.ffff if(_p&gt;=0)return _p end function _k(x,y) local _q=0x7fff.ffff local _l=nil local _r=0 for i=1,#bm do if _j(x,y,bm[i].x,bm[i].y)&lt;_q then _q=_j(x,y,bm[i].x,bm[i].y) _l=bm[i] _r=r(bm[i].c)end end return _r end for i=1,_c do local px=r(128) local py=r(128) a(ps,{x=px,y=py,c=_k(px,py)})end for c in all(cn)do _s=nil while not _s do _t=flr(r(_c)+1) p=ps[_t] if(_t%2==0and r()&lt;0.25and p.x&lt;100and p.y&lt;110and _k(p.x,p.y)!=12)_s=_t end p.n=c end function _l(x,y) local _q=0x7fff.ffff local _l=nil local _r=0 for i=1,#ps do if _j(x,y,ps[i].x,ps[i].y)&lt;_q then _q=_j(x,y,ps[i].x,ps[i].y) _l=ps[i] if(not _a)_r=i&amp;0xff if(_a)_r=i%2==0 and _l.c+_l.c*16 or 0xcc end end return _r end cls() for p in all(ps)do pset(p.x,p.y,p.n and 10or 6)end for p in all(bm)do pset(p.x,p.y,8)end spr(0,51,62,5,3) print('\#7v' .._d,52,80,0) print('\#7travelling to:',73,1,0) print('\#7' .._m,128-#_m*4,7,0) for i=0,15do if not _e(_g,i) then pal(i,128+i,1)end end for y=127,0,-1do for x=127,0,-1do fillp(0b0101101001011010) local _v=_l(x,y) rectfill(x,y,x,y,_v) if(btnp(🅾️))m=true end end fillp() for i=1,flr(_c/2.4)do for x=0,127do for y=0,127do if(r()&lt;0.025and pget(x,y)!=0)circfill(x,y,1,pget(x,y)) end end end function _u() if _b then for p in all(ps)do if p.n then pset(p.x,p.y,8) print('\#d' ..p.n[1],p.x+2,p.y+2,p.n[2]and 10or 0)end end end end function _w() print('\#7' .._m,1,122,0)end for x=0,127do for y=0,127do sset(x,y,pget(x,y))end end function dt() for x=0,127do pset(x,x%2,d[pget(x,x%2)]) if(x&gt;1)then pset(x%2,x,d[pget(x%2,x)]) if(x&lt;126)pset(x,127-x%2,d[pget(x,127-x%2)]) pset(127-x%2,x,d[pget(127-(x%2),x)])end end end dt() if(not m)_u()_w() if(m)menuitem(1,'s: show name')menuitem(2,'d: hide all')menuitem(3,'f: show nations') ::_:: if m then if(btn(⬅️,1))_w() if(btn(➡️,1))_u() if(btn(⬇️,1))cls(12)spr(0,0,0,16,16)dt() end goto _</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p></div></div></div></p> https://www.lexaloffle.com/bbs/?tid=48399 https://www.lexaloffle.com/bbs/?tid=48399 Sun, 03 Jul 2022 08:28:46 UTC Fake 3D Cube + movement <p> <table><tr><td> <a href="/bbs/?pid=105511#p"> <img src="/bbs/thumbs/pico8_puzubineko-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=105511#p"> puzubineko</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=105511#p"> [Click to Play]</a> </td></tr></table> <br /> I decided to mess around with trig functions and came up with this. It's simple, but looks fairly convincing in my opinion.<br /> The code is a mess, I should probably fix it sometime soon.</p> https://www.lexaloffle.com/bbs/?tid=46270 https://www.lexaloffle.com/bbs/?tid=46270 Sat, 22 Jan 2022 14:23:53 UTC Different value for no reason? <p> <table><tr><td> <a href="/bbs/?pid=97757#p"> <img src="/bbs/thumbs/pico8_wg_ps_bugged-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=97757#p"> Bugged Scrolling</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=97757#p"> [Click to Play]</a> </td></tr></table> <br /> I am working on a productivity suite of sorts for PICO-8, and this is the very early version for the text editor.<br /> The bug comes from scrolling with up and down. To reproduce, do the following:</p> <ul> <li>Type some text on the top line, press enter</li> <li>Type some text on the second line</li> <li>Scroll as far down as possible</li> <li> <p>You should see the entire second line.</p> </li> <li>Delete all</li> <li>Leave top line empty, press enter</li> <li>Type some text on the second line</li> <li>Scroll as far down as possible again</li> </ul> <p>You should now see that the top two rows of pixels of the second line are not visible.<br /> My code does not measure the length of the text, but the length of the table containing all lines, separated by new line characters. I have tried to debug, but that has not yielded any results.</p> https://www.lexaloffle.com/bbs/?tid=44741 https://www.lexaloffle.com/bbs/?tid=44741 Fri, 24 Sep 2021 18:06:44 UTC noclip: Finale EXTENDED (+&quot;MV&quot;) <p> <table><tr><td> <a href="/bbs/?pid=96893#p"> <img src="/bbs/thumbs/pico8_noclipfinaleextended-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=96893#p"> noclip: Finale EXTENDED (+&quot;MV&quot;)</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=96893#p"> [Click to Play]</a> </td></tr></table> <br /> Decided to extend Finale, and add a bit of a better animation. It evolves as the music goes on, so watch until the end. Enjoy!</p> https://www.lexaloffle.com/bbs/?tid=44511 https://www.lexaloffle.com/bbs/?tid=44511 Sun, 05 Sep 2021 13:35:56 UTC Exporting multiple patterns? <p>So, as demonstrated by my recent post, I have finished my Pico-8 album, noclip. Now I want to export all the music from the cartridges. However, the exporter for music only exports one pattern. If you select multiple, it will simply export the one you just clicked on. Are there any tools made by the community which can export all the music from a cart and reconstruct it? Cheers in advance.</p> https://www.lexaloffle.com/bbs/?tid=44504 https://www.lexaloffle.com/bbs/?tid=44504 Sat, 04 Sep 2021 16:57:29 UTC noclip 6: Finale <p> <table><tr><td> <a href="/bbs/?pid=96863#p"> <img src="/bbs/thumbs/pico8_noclip_finale-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=96863#p"> noclip_finale</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=96863#p"> [Click to Play]</a> </td></tr></table> <br /> This is the sixth and final song in my album of short Pico-8 songs, noclip. Enjoy!</p> https://www.lexaloffle.com/bbs/?tid=44500 https://www.lexaloffle.com/bbs/?tid=44500 Sat, 04 Sep 2021 12:01:42 UTC Salt Mine <p> <table><tr><td> <a href="/bbs/?pid=96196#p"> <img src="/bbs/thumbs/pico8_wg_sm_wip-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=96196#p"> Salt Mine vEngine</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=96196#p"> [Click to Play]</a> </td></tr></table> <br /> I've decided to have a go at developing a Portal/Portal 2 fangame since I'm a big fan of the series. This is the first public version of that, with most of the core engine code finished. </p> <p>For those wondering, this takes place in the very, very early version of Aperture Science Innovators back when the facility was essentially a spiced up salt mine (hence the name).</p> <p>Arrow keys to move, (X) to interact.</p> https://www.lexaloffle.com/bbs/?tid=44301 https://www.lexaloffle.com/bbs/?tid=44301 Wed, 18 Aug 2021 17:25:44 UTC No BASIC implementations? <p>I've looked around and found out that literally no one has posted anything about attempts to implement BASIC on the PICO-8, which honestly kinda disappointed me. BASIC is, well, basic, so I would have thought <em>someone</em> would have at least tried to implement it... and now <em>I</em> want to do it.</p> <p>Thoughts?</p> https://www.lexaloffle.com/bbs/?tid=44120 https://www.lexaloffle.com/bbs/?tid=44120 Fri, 06 Aug 2021 18:00:13 UTC Weird Loop Error <p> <table><tr><td> <a href="/bbs/?pid=95287#p"> <img src="/bbs/thumbs/pico8_yowawefiwi-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=95287#p"> yowawefiwi</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=95287#p"> [Click to Play]</a> </td></tr></table> <br /> This brings up an error at line 21. I genuinely have absolutely no idea what it means.</p> https://www.lexaloffle.com/bbs/?tid=43950 https://www.lexaloffle.com/bbs/?tid=43950 Sun, 25 Jul 2021 19:30:32 UTC Copying sprite sheet into cartridge <p>Say a player has a way to design a custom painting in a game. This painting should persist between playthroughs, and be stored on the spritesheet.</p> <p>I know that this should be done via cstore(), but I simply do not understand how.</p> <div> <div class=scrollable_with_touch style="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 painting() -- code for modifying sheet through sset() here -- cstore(A,A,L) 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>What I actually <em>need</em> is the values for A and L.<br /> Cheers in advance.</p> https://www.lexaloffle.com/bbs/?tid=43947 https://www.lexaloffle.com/bbs/?tid=43947 Sun, 25 Jul 2021 16:51:46 UTC Little Wanderer WIP <p> <table><tr><td> <a href="/bbs/?pid=95245#p"> <img src="/bbs/thumbs/pico8_wandered_wip-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=95245#p"> Little Wanderer WIP</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=95245#p"> [Click to Play]</a> </td></tr></table> <br /> Decided to make a game about exploring a bunch of islands. Obviously needs a lot of work, but it's a start.<br /> Hold S or (&lt;) P2 to see the map.<br /> Use P1 arrow keys to move.<br /> Hold X or (X) P1 and press any of the P1 arrow keys to place/destroy a platform on water.<br /> To do:</p> <ul> <li>Add Scenery (e.g. trees, plants, etc.)</li> <li>Add crafting + resource management</li> <li>Make music</li> <li>Make player look not trash</li> </ul> https://www.lexaloffle.com/bbs/?tid=43936 https://www.lexaloffle.com/bbs/?tid=43936 Sat, 24 Jul 2021 18:08:22 UTC noclip 5: Card <p> <table><tr><td> <a href="/bbs/?pid=95235#p"> <img src="/bbs/thumbs/pico8_noclip5_card-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=95235#p"> noclip 5: Card</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=95235#p"> [Click to Play]</a> </td></tr></table> </p> https://www.lexaloffle.com/bbs/?tid=43934 https://www.lexaloffle.com/bbs/?tid=43934 Sat, 24 Jul 2021 11:40:12 UTC Prototype RGB Display <p> <table><tr><td> <a href="/bbs/?pid=94415#p"> <img src="/bbs/thumbs/pico8_rgb_wg-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=94415#p"> Prototype RGB Display</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=94415#p"> [Click to Play]</a> </td></tr></table> <br /> Decided to make a little 64x64 RGB display. 64 colours in total, which means 64x64x64. Neat.<br /> Anyways, yeah. I've messed around a bit, and found some interesting colours. This probably won't be used at all, but it was fun to make, and I'm proud of it.</p> https://www.lexaloffle.com/bbs/?tid=43661 https://www.lexaloffle.com/bbs/?tid=43661 Sat, 03 Jul 2021 17:56:49 UTC Palette Arrangement: The World <p> <table><tr><td> <a href="/bbs/?pid=93779#p"> <img src="/bbs/thumbs/pico8_pal_theworld-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=93779#p"> Palette Arrangement: The World</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=93779#p"> [Click to Play]</a> </td></tr></table> <br /> Decided to arrange some of the colours from the 32 colour palette, and this was the result. It consists of four gradients. Every colour has been named by yours truly to give some inspiration to the uses, but you can really use it for anything. If you use this for anything, please comment here! I want to see what you create with the colours.</p> <p>EDIT: Due to SPLORE attempting to preserve explorer colours to keep visibility, it has sacrificed some of the colours in the label preview on native PICO-8. Not a bug, but I'm saying this just so that people don't get confused.</p> https://www.lexaloffle.com/bbs/?tid=43425 https://www.lexaloffle.com/bbs/?tid=43425 Sun, 20 Jun 2021 13:16:13 UTC Pico-8 Webkit V0.2 <p> <table><tr><td> <a href="/bbs/?pid=93104#p"> <img src="/bbs/thumbs/pico8_webkit_proto-2.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=93104#p"> P8 Webkit Prototype</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=93104#p"> [Click to Play]</a> </td></tr></table> <br /> Long winded explanation:<div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> Before I explain exactly what this is and why it exists, I need to explain the history behind it.</p> <p>Some of you may have seen the (relatively small amount of) attempts to implement a BBS-type system by taking advantage of the General Use Memory region and it not being cleared by load(). It fascinated me when I first came across it, but I eventually forgot.<br /> Recently, I came back to the concept with a new idea: static web pages. General use memory can contain 4864 32-bit numbers if not using the custom font, which is more than plenty for a page written in a simplified markup language. We can take that even further if we use the breadcrumb string passed to carts through <code>load()</code>.</p> <p>The first step for me was designing the simplified markup language. I decided on something I call PPML, Portable Pico Markup Language. The syntax is the following:</p> <div> <div class=scrollable_with_touch style="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>tagname&gt; tag content</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>A paragraph, for example, would look like this:</p> <div> <div class=scrollable_with_touch style="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&gt; This is a paragraph</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 decided this was suitable and moved on to the next part.<br /> This next part was the renderer for the PPML. This is what you see in the above cartridge, displaying a demo page. The renderer consisted of a list of tags with rendering functions, a Global Render table and a Frame Render table. The Global Render contained persistent stuff like the background colour, while the Frame Render contained things like the cursor position for text. This then took the PPML, contained in the first tab, and processed it into a table for easy use. The _draw() function then simply looped through this content table, calling the tag render functions with the necessary arguments.<br /> It's a simple method, but works pretty well.</p> <p>The next step would be the networking; loading the cartridge, processing the data it left in General Use Memory and converting it into usable PPML. Then that can be fed into the renderer, and you can see the page.</p> <p>Of course, this renderer is a proof-of-concept prototype. A lot more tags still need to be added and hopefully a very simple scripting language.</p> <p>When all this is done, I hope to have a fully functioning browser which would let you browse the PicoWeb and maybe play some small games on Newgrounds-esque sites. But, we can only hope.</p> <p>Feel free to leave feedback on the renderer/game plan!</div></div></div><br /> UPDATE 0.2:</p> <ul> <li>A bit more content to show possible use cases</li> <li>Implemented scrolling with mouse wheel with <a href="https://www.lexaloffle.com/bbs/?uid=47512"> @Einstein2</a>'s tips</li> <li>Now shows mouse</li> </ul> https://www.lexaloffle.com/bbs/?tid=43221 https://www.lexaloffle.com/bbs/?tid=43221 Sun, 06 Jun 2021 10:52:54 UTC Graffiti's Class Implementation <p>I decided to make a simple class implementation. Here's what I managed to come up with:</p> <div> <div class=scrollable_with_touch style="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 class(c) name=c[1] _𝘦𝘯𝘷[name]=function(...) local initargs={...} local obj={___fnccore={}} for k,f in pairs(c)do if type(f)=='function'then obj.___fnccore[k]=f obj[k]=function(...) obj.___fnccore[k](obj,...) end end end obj.__init__(unpack(initargs)) return obj 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>The (preferred) syntax to use this with looks like this:</p> <div> <div class=scrollable_with_touch style="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>class { 'classname' __init__=function(self,args) -- Stuff goes here -- end, -- Other functions here with &quot;self&quot; or something like that as the first argument -- }</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Here's an example:</p> <div> <div class=scrollable_with_touch style="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>class { 'printer', __init__=function(self,a,b) self.a=a self.b=b end, thing=function(self,c) print(self.a..self.b..c) end } test=printer('one ','two') test.thing(' three')</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>The output for the above would be:</p> <div> <div class=scrollable_with_touch style="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>one two three</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Here is the cartridge containing the above example:<br /> <table><tr><td> <a href="/bbs/?pid=92893#p"> <img src="/bbs/thumbs/pico8_graffiticlasses-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=92893#p"> Graffiti's Class Implementation</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=92893#p"> [Click to Play]</a> </td></tr></table> <br /> Feedback would be nice!</p> https://www.lexaloffle.com/bbs/?tid=43158 https://www.lexaloffle.com/bbs/?tid=43158 Tue, 01 Jun 2021 16:32:16 UTC Smooth Camera Test <p> <table><tr><td> <a href="/bbs/?pid=92769#p"> <img src="/bbs/thumbs/pico8_smoothcam-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=92769#p"> Smooth Camera Test</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=92769#p"> [Click to Play]</a> </td></tr></table> <br /> My test for a smooth camera system. I plan to integrate it into a FNaF style game. Feedback is appreciated!</p> https://www.lexaloffle.com/bbs/?tid=43111 https://www.lexaloffle.com/bbs/?tid=43111 Sat, 29 May 2021 11:01:09 UTC Unnamed Horror Shooter <p> <table><tr><td> <a href="/bbs/?pid=91803#p"> <img src="/bbs/thumbs/pico8_wiphorrorshooter-3.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=91803#p"> Unnamed Horror Shooter</a><br><br> by <a href="/bbs/?uid=46046"> wallgraffiti</a> <br><br><br> <a href="/bbs/?pid=91803#p"> [Click to Play]</a> </td></tr></table> <br /> I've decided to make a horror shooter. This one has easy to expand multiplayer. Just add as many new_player() statements as you need!</p> <h3>Update 1.1.0:</h3> <ul> <li>Added map loading from-sprite</li> <li>Fixed a few bugs</li> </ul> https://www.lexaloffle.com/bbs/?tid=42853 https://www.lexaloffle.com/bbs/?tid=42853 Tue, 11 May 2021 18:14:56 UTC __gff__ section in Pico-8 Carts? <p>So, as most of us know, .p8 cartridges consist of sections. <strong>lua</strong>,<strong>gfx</strong>,<strong>map</strong>, etc etc. Well, I found this other section named <strong>gff</strong>. I just wanted to know what it did, since it doesn't seem to directly correlate to anything you can edit. I'm just asking since I'm making a cart generator in Python so I need to know if gff is an important memory region.</p> https://www.lexaloffle.com/bbs/?tid=42707 https://www.lexaloffle.com/bbs/?tid=42707 Fri, 30 Apr 2021 18:09:22 UTC