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 "Pico" 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("/projectname")
include ("src/filename1.lua")
include ("src/filename2.lua")
-- 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=154121Thu, 08 Jan 2026 05:47:46 UTCGhost 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=142306Fri, 17 May 2024 06:46:20 UTCPuzstel 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 "caffeinated mode" 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=50647Wed, 14 Dec 2022 10:17:07 UTCChuChu 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=46709Tue, 22 Feb 2022 12:04:12 UTC