
The 5th annual PICO-8 1K Jam (#Pico1k) has now started! 🥳
🌐 https://itch.io/jam/pico-1k-2025
You have until the end of September to make cool things in PICO-8 (or Picotron)
...by using only 1K (1024) Compressed Bytes of code 🗜️
No using of built-in Gfx, Map or Sound data (or external files)
ALL content must be created using code submitted.
It can be a:
🕹️ Game
🎞️ Demo (Animated or Interactive)
🛠️ Tool or Utility
...whatever you can fit within 1KB, basically!
It's a relaxed, non-competitive jam, running for a whole month.
Please refer to the PICO-1K 2025 Jam page for Rules, FAQ & Resources & more info.









Pico Ninja
A demake of Fruit Ninja!
How to play
Press Mouse 1 (left click, or just tap on touchscreen) and slide the little white ball around, to slice the "fruits" before they fall out of sight. Nothing groundbreaking.
Hit detection is a bit wonky; since the game is limited to 60fps, a collision may not register if you slice too fast. I've tried to remedy this by making the fruit check if the pixel at its center is white and thus is colliding with the cursor/trail. It remains jank.
Out of kindness to your ears, I have not tried to create music/sound effects.
Enjoy!

A visual tool to explore files

gui_fm is a really simple file manager for Pico-8.
Use it to explore all folders and files saved on your Pico.
You can enter folders and load saved carts directly from it.
You can even use it to create new folders. Kinda...
To use
load #gui_fm save **filename** run |
Won't work if run directly from the BBS, as sandboxed carts don't have access to the file system.
Choose your input method
Use both controller inputs 🎮 or mouse 🖱.
You can switch input method in the pause menu.
Launch saved carts with a single click...
...and go back to the file manager using the pause menu.
Create new folders
gui_fm streamlines the mkdir command.
Select the option to create a new folder and give it a name.
The console command for creating the folder will be copied to the clipboard.
Create new text files
You can use gui_fm to create new text file as .p8l (.txt won't show up in the file manager).
It's not particularly useful, since they are empty, but you can do it.
Limitations
While it is possible to create new folders and text files, I still don't have a solution for renaming and deleting folders and files.
I'll keep exploring new ideas on how to reach these goals, like the suggestion from @ChazBCook.
If you have any idea on how to make it possible, share it in the comments.
CHANGELOG
1.0:
- Initial release
1.1:
- Added scrolling
- Added mouse controls
- Added menu items:
Open folder in host os,
Go back to root folder,
Change input method - Added breadcrumb to launched cartridges. Go back to gui_fm using the pause menu
- Added warning page if runned in sandbox mode
1.2:
- Added functionality to create new folders
1.3:
- Added functionality to create new text files (.p8l)




Hi y'all!
This is the third version of Pico Pad!! (I made a version 2 but didn't release it lol)
It's not totally finished, but I'm very happy with it now and I think it's about 90% done.
If I release version 4, it'll be the last one.
Controls
- 🅾️ to delete the last stroke (not a general undo)
- ❎ to toggle the gui
- ⬆️ and ⬇️ to change the brush size
- ⬅️ and ➡️ to cycle the current tool
Tools:
- Pencil: draws lines
- Bucket: fills background or changes color of a line
- Pull/Front: moves the targeted stroke to the top
- Push/Back: moves the targeted stroke to the bottom
- Eraser: deletes the targeted stroke


For optimal viewing experience, view the code in the PICO-8 font.
(297 chars)
-- love as a construct cls(); j=32.5 ;for x=0 ,▤,.5do line(x+j ,x,x,x+j ,14.5+x%1)end;poke (0x5f2c,5)memcpy(0 ,3<<13,⧗)::♥:: c=cos(t());cls() if(c>0)pal(15,8) ;sspr(0,0,48,128 ,64,j,-abs(c)* 48,128,1); ;flip(); pal(); goto ♥ |


Fear not, it's not an horror game... au contraire, it's sexy
Full Map:
Controls:
⬆️⬇️⬅️➡️ Move with arrow keys
⭕️ [Z or C] Action: interact with objects
❎ [X or V] Attract others' attention
⬆️+⭕️ Place a piece while facing the flashing box (De-medusa)
[P or Enter] Pause Menu and options...
Gameplay:
Collect all the green flashing components to rebuild the De-Medusa device and bring your petrified partner back to life so you can leave the castle in time before the Time Warp!
A couple of crazed characters will try to kill you (specifically RiffRaff and Eddie) others will simply undress you, run away and drop your clothes (blue icon) somewhere. While in this... 'vulnerable' state you can't do much (collect pieces, keys, push buttons, open doors) well a couple things maybe... but you better to find those clothes to proceed with your adventure.





Controls in Spotytron
- Up / Down arrows: Navigate albums or tracks (scroll is automatic)
- Left arrow: Return to album selection from track mode
- Button O: Enter album / Play selected track
- Button X: Stop music
Where to Place POD Files
To use your albums in Spotytron, place all .pod
files in this folder:
/appdata/albums
Spotytron will automatically detect them and show them in the album list.
Overview
The encodepod()
function is a simple utility for creating a music POD file in Picotron.
It takes one or more SFX files, encodes them into POD-compatible binaries, and packages them into an album with multiple tracks.
How It Works
-
Fetch SFX files: The function fetches SFX files from
/desktop/
. -
Encode to POD binary: Each SFX userdata is converted into a POD binary using the
pod()
function. -
Define album structure:
sfx_files
: List of encoded SFX binaries used in the album.tracks
: Table of tracks, each containing:name
: Track namesfx_file
: Number referencing the SFX usedpattern
: Starting pattern number
-
Define metadata: Metadata includes
album
name andartist
. - Save the POD: The album and metadata are saved into
/appdata/<AlbumName>.pod
using thestore()
function.
Example Code
function encodepod() local sfx_pod1 = fetch("/desktop/sfx1.sfx") local sfx_bin1 = pod(sfx_pod1) -- encode the userdata into POD binary local sfx_pod2 = fetch("/desktop/sfx2.sfx") local sfx_bin2 = pod(sfx_pod2) local album = { sfx_files = { sfx_bin1, sfx_bin2 }, tracks = { { name = "Intro", sfx_file = 1, pattern = 0 }, { name = "Theme principal", sfx_file = 2, pattern = 10 }, { name = "Outro", sfx_file = 1, pattern = 20 }, } } local meta = { album = "Test Album", artist = "Me", } store("/appdata/test_album.pod", album, meta) |

Hello! Me again.
I've been working on a large project, and have recently run into an "out of memory" bug... that only happens if I'm running the cart from the IDE. Even if I exit the program at the very first line, I can't run it with CTRL+R without getting an "out of memory." But, (if I remove that line of course) I can run the program from the desktop, by manually clicking on it and running.
Are my files too big? What's going on?
I would happily share the cart, by the way, but I'm not sure if I can for legal reasons. It's a demake of Balatro and it's far enough along that I don't know if I should risk it.
EDIT: After going along with this for about 10 lines of code, this no longer works, and it pulls an "out of memory" constantly. Checking stat(0) reveals I'm only using a few hundred KiB (when I remove a few dozen lines of code at random to get it to run, nothing essential or large though
.png)
PICO-WEDDING is a game I developed to commemorate my wedding. Yes of course I will have memories, pictures and signed documents, but what better way to remember and celebrate my big day than with a game where you control my beautiful bride and myself!
All joking aside, this is a collection of wedding themed mini-games.
Controls
- Arrow keys to move the character
- X key (x on keyboard) for most interactions
- O key (c or z on keyboard) for secondary interactions
Rules
Each mini-game has its own rules as follows.
Cake baking
There are two phases, in the first you must catch all the ingredients using the arrow keys to move, during the second phase you must press the correct arrow keys at the right time to stir the ingredients.






4th project! A snake clone. I took the foundations of the game from a youtube video (
Live Coding Snake con Pico-8 en 20 minutos https://youtu.be/jDSg6iEaMGc?si=B2EtfcI8zzHY9lsI)
because I couldn’t figure out how to make the snake grow. But I still had to add some things that weren’t there, like proper rabbit spawning, game limits, correct snake movement, and so on.
Also, this time I tried to make better art. Hope you like the game!

Orbital Dance
A mesmerizing PICO-8 gravity puzzle game where simple physics creates complex beauty
Game Overview
Guide particles through gravitational fields to collect targets while avoiding dangerous enemy wells. What starts as a simple concept evolves into a strategic dance of orbital mechanics, creating unique procedural art with every playthrough.
How to Play
Controls
- Arrow Keys: Move your gravity well (blue circles)
- Goal: Guide all particles to collect the pulsing green targets
- Avoid: Red enemy gravity wells that destroy particles on contact
Game Mechanics
Your Gravity Well (Blue)
- Attracts nearby particles with gravitational force