Conor [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=63521 Using the Pico8 Extension for VSCode with Picotron <p>I've found a way to use the Pico8 language server extension for VSCode while developing with Picotron.</p> <p>This give you all the &quot;Pico&quot; style changes to Lua as recognized commands that don't throw errors, things like:</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>a += 1 if (something) action() a = b \ c</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>There is some Picotron syntax which will show up as warnings (such as 'fetch' or 'window'), but this is the best we've got until a proper Picotron Lua language server extension is released.</p> <p>To use it - install the pico8-ls extension by Pollywog Games in VSCode.</p> <p>In Picotron open main.lua and enter the following:</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>cd(&quot;/projectname&quot;) include (&quot;src/filename1.lua&quot;) include (&quot;src/filename2.lua&quot;) -- etc for every lua file</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Your source LUA files go in the Picotron drive (type 'folder' at the Picotron command prompt to open it)<br /> in <code>drive/projectname/src</code></p> <p>Save your .p64 file into <code>drive/projectname/projectname.p64</code></p> <p>Lastly, to get the Pico8 language server to think this is a Pico8 game and to include all your Lua files, you create a .p8 file: <code>drive/projectname/projectname.p8</code> and edit it in VSCode. It should look like this:</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>pico-8 cartridge // http://www.pico-8.com version 42 __lua__ -- temp file just used for VSCode file inclusions -- add any .lua files here so that VSCode's pico-8 extension can read them #include src/filename1.lua #include src/filename3.lua -- etc for all lua files</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 your Lua files will be parsed by the language server so that code auto-completion will use the functions and variables from your Lua files.</p> https://www.lexaloffle.com/bbs/?tid=154121 https://www.lexaloffle.com/bbs/?tid=154121 Thu, 08 Jan 2026 05:47:46 UTC Ghost Wave <p> <table><tr><td> <a href="/bbs/?pid=148521#p"> <img src="/bbs/thumbs/pico8_ghostwave-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=148521#p"> ghostwave</a><br><br> by <a href="/bbs/?uid=63521"> Conor</a> <br><br><br> <a href="/bbs/?pid=148521#p"> [Click to Play]</a> </td></tr></table> </p> <h2>How To Play</h2> <ul> <li>Z - Shoot</li> <li>X - Rockets</li> <li>Arrow keys - Move</li> </ul> <p>Some enemies have a blue outline - when they die, collect their ghost for a large score bonus. Each ghost is worth 50 points times the number of ghosts collected so far - so the key to a high score is to not miss any of the ghosts.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/collect ghosts.gif" alt="" /> <p>After you've used your rockets 3 times, they take 10 seconds to reload. Save your rockets for difficult situations or blue enemies.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/instructions.png" alt="" /> <p>Inertia is on by default, which makes the player's helicopter move smoothly. If you prefer more responsive controls without acceleration and deceleration you can turn inertia off.</p> <p>With inertia on changing direction takes a small amount of time, the player's movement flows more like a real helicopter. Inertia off feels like a traditional arcade shmup, where you can change direction or stop instantly. Inertia off is also slightly easier. Choose whichever mode you enjoy more.</p> <h2>Credits</h2> <p>Made by Conor O'Kane</p> <p>Thanks to: <a href="https://www.youtube.com/@LazyDevs">Lazy Devs</a> and everyone on the Lazy Devs Discord, in particular: </p> <ul> <li><a href="https://louiechapm.itch.io/">Louie Chapman</a> for help with Lua and shmup design.</li> <li><a href="https://lokistriker.itch.io/">LokiStriker</a> for playtesting and feedback.</li> <li>GPI for the <a href="https://www.lexaloffle.com/bbs/?tid=49307">jaP8e editor</a>.</li> <li>Trog for the <a href="https://www.lexaloffle.com/bbs/?tid=53519">Trog font family</a>.</li> <li>And of course, Zep for pico8.</li> </ul> <p>This game is free. You can download an executable <a href="https://monorail.itch.io/ghost-wave">from the itch page</a>.</p> https://www.lexaloffle.com/bbs/?tid=142306 https://www.lexaloffle.com/bbs/?tid=142306 Fri, 17 May 2024 06:46:20 UTC Puzstel Storm <p> <table><tr><td> <a href="/bbs/?pid=122383#p"> <img src="/bbs/thumbs/pico8_puzstelstorm-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=122383#p"> Puzstel Storm</a><br><br> by <a href="/bbs/?uid=63521"> Conor</a> <br><br><br> <a href="/bbs/?pid=122383#p"> [Click to Play]</a> </td></tr></table> </p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/puzstle_storm_logo.png" alt="" /> <p>Puzstel Storm<br /> A match-3 puzzle game featuring <a href="https://pastelstorm.carrd.co/">Pastel Storm</a> and friends.</p> <h1>How to Play</h1> <p>Use the arrow keys to move the cursor and press Z to swap tiles.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_swap.png" alt="" /> <p>Arrange the tiles to create matching groups of 3 or more.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_match3.png" alt="" /> <p>After every 5th swap, the matching groups will break, awarding you 5 points per tile.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_match_score.png" alt="" /> <p>The remaining tiles will fall and new ones will enter from the top.</p> <h3>Chaining</h3> <p>If the falling tiles create a new matching group, a chain starts. A 2-chain is worth double points, and a 3-chain is triple points etc...</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_chain.png" alt="" /> <h3>Egirls</h3> <p>Egirl tiles are worth 15 points each, so try to match them at the end of a chain for a huge score.</p> <p>The first match in this chain scores +5 points per tile:</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_egirl01.png" alt="" /> <p>The second chain scores double, +10 per tile</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_egirl02.png" alt="" /> <p>The third chain scores triple, and egirls are 15 points each. 15 x 3 = 45 points per tile!</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/tutorial_egirl03.png" alt="" /> <p>There is no time limit, instead there is a limited number of swaps per game, so take your time and plan your moves carefully.</p> <p>You can play a short game with 50 swaps, or a longer game with 100 swaps.<br /> The Score Attack 100 game includes rare tiles later in the game making it a little harder.</p> <p>Here's an example of how to set up a long chain for a high score:</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/63521/pastel_storm_1.gif" alt="" /> <p><strong>Update!</strong><br /> I added a new mode. In &quot;caffeinated mode&quot; there is a 3 minute time limit. You have unlimited moves, but the first match of a chain doesn't count, you have to trigger a 2-chain or more to score points.</p> https://www.lexaloffle.com/bbs/?tid=50647 https://www.lexaloffle.com/bbs/?tid=50647 Wed, 14 Dec 2022 10:17:07 UTC ChuChu Pico <p> <table><tr><td> <a href="/bbs/?pid=107471#p"> <img src="/bbs/thumbs/pico8_fajufupuze-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=107471#p"> ChuChu Pico</a><br><br> by <a href="/bbs/?uid=63521"> Conor</a> <br><br><br> <a href="/bbs/?pid=107471#p"> [Click to Play]</a> </td></tr></table> </p> <p>Hi, this is my first Pico-8 game. It's a remake of the Dreamcast game ChuChu Rocket. This is a multiplayer game, best played with 2 controllers. The game contains 16 levels.</p> <p>I've tried to make the code easy to follow so others can examine it and learn the techniques.</p> <p><strong>Instructions</strong></p> <p>Use the arrow keys to move your cursor.<br /> Press the O button and a direction to place an arrow on the grid. Mice and cats will follow the arrows.<br /> Steer the mice into your rocket (the red or green circle), and steer the cats into your opponent's rocket.<br /> Mice score 1 point, or 50 points for a gold mouse. Cats remove 1/3 of your total score.<br /> The round ends after 3 minutes and then moves to a new random map.<br /> The results of the previous 10 games are shown on the left.</p> <p><strong>Comments</strong></p> <p>I haven't included the pink mice which spawn random events and don't plan to. This was made as an exercise to learn Pico-8 and to have some easy-to-understand code to show to students learning Lua and Pico-8.</p> https://www.lexaloffle.com/bbs/?tid=46709 https://www.lexaloffle.com/bbs/?tid=46709 Tue, 22 Feb 2022 12:04:12 UTC