Welcome No Witches!
The gala has begun! What fun there shall be, so long as no witches attend...
The gala begins! The invitations have gone out, dresses have been bought, hair dyed and styled, jewelry adorning the many princesses of the many kingdoms. However, some witches have caught wind of the event, and have disguised themselves to sneak in and ruin the party! Follow the dress codes as the princesses enter to ensure that the party goes well!
—————————————————————————————————————————




A little silly lil' game I made to play with my friends (so its only two player), and figured I might as well publish it.
Some things to know:
You gotta fast fall and let go before hitting the ground to gain height.
If you dash into a bullet it is reflected and bounces back and recharges your dash instantly (yes ping pong is possible).
The rest is to be discovered as you play, have fun!

Find your way through the lava field and gather precious treasure.
How to play
Use the arrow keys to navigate the explorer from the starting point to the treasure. Memorizing the correct path is essential! Discover the right route through trial and erro...ehm death 🔥🔥🔥
About
Created by Pidibit as a jam game for Trijam #261, a three-hour game jam.
The jam theme was One wrong move.
This is my first Trijam entry and first project in PICO-8, I love it! 😍
Screenshots

It's Factorio meets Scrabble!
Click Buttons. Spell Words!
I'm planning to add more levels (currently 12) and additional mechanisms.
This is my first attempt at a complete PICO-8 game. Any feedback or suggestions welcome!
Roadmap
- copy/paste level strings (so players can create levels)
- new mechanisms (pistons, timers, sensors)
- more levels
- mouse support
Changelog
0.0.4
- added level select/progress save
- improved navigation between buttons
- added diverter tile
- added two new levels



Pattern Playground lets you select and modify the fill patterns and colours of various shapes in a set, see the rendered results, choose a combination that you like, and output its values to the console.
It helped me get a better grip on patterns while working on some other yet to be released project.
Instructions
Selection / Editing Contexts
- Set (as in, a grouping of shapes) selector
- Object (as in, shape) selector
- Current object (base) colour selector
- Pattern editor
- Pattern on-bits colour vs. transparency toggle
- Pattern on-bits colour selector
Controls
- U/D/L/R to navigate across and within contexts
- [X] to toggle/select
- [Z] to print current set object patterns and colours to console
Sets
Mixed

Prairie

Mars

Unleashed
Infinite runner where you play as a dog getting chased by its owner. The further you get without getting caught, and the more bones you collect along the way, the higher your score. As simple as that.
Demo

How to play
- X/Z to jump
- Up/Down arrows to move
About the game
This is the first game I make for this console, and its development has had quite a lot of changes of direction, so I am not super happy with the final result, let alone the code, which is a total mess. Nonetheless, this has been a super fun challenge that has made me appreciate how incredible this console is and how talented the developers making games for it are. Making this game was a blast!








This is a game I've been coding for a bit, Linecraft! This is my first and biggest demake (though I've been working in other non-published projects before) so I'm very excited that other people will try it!
Also, I'll keep it updated, so if you find any bug, leave it down below on the comments! I'll check them out and fix them in the following versions.
The sounds and music were made by Munchkin (thank you :D) and the code and graphics were made by me.
Thanks to kallanreed for his tline rotation function I used for the splash text in the game.
Thanks to Felice for their implementation of the OpenSimplex noise generator on PICO-8 that I used for the world generation in the game. The code may look a little different in my cart, but that's due to changes in development (back when I thought this game could be made in a single cart!).










The blocks will fall forever. Run, wall-jump and climb as high as you can before you're crushed or trapped! Unlock more levels by reaching certain heights, and collect coins to unlock hats! Later levels introduce greater challenges and new block behaviors where you will need to develop unique strategies to succeed.
Try the first three levels to master your tower climbing in the free version!
Purchase and download the full version at itch.io!
The full version has 9 more levels and 16 more hats to unlock.
CONTROLS:
Keyboard:
- arrow keys to run, climb, and change levels in the title menu
- the 'Z' key to jump or start a level from the menu

This is a hard action-platformer fangame based on the Murder Drones indie animated series by GLITCH.
You play as a new disassembly drone that has to complete his training in a virtual environment.
Controls
- Arrow keys to move.
- [X] to flutter.
- [C] to shoot and detonate rockets (when available).
- [↓] to perform a dive maneuver.
- [Enter] for additional options.
Credits
- Autopawn (Discord: autopawn)
- Remi Mixer (Discord: remimixer)
- Crjönch (Discord: crjonch, Twitter: @Slimyappraisal)
- Miszuk (Discord: miszukuwu)









Hi, I was experimenting with a way of making a multiplayer game on Pico-8 (on different cartriges to have more screen space).
So I was looking for a way to communicate from the cart to the host OS, I know it's possible to inject and retreive data on the web exports with javascript but I'm trying to find a way to do it localy .
I have tried that code:
cls() i_channel=0x804 o_channel=0x805 input='' output='' function _update() local nb=0 repeat nb=serial(i_channel,0x8000,0x1000) for i=0,nb do input..=chr(peek(0x8000+i)) end until nb==0 if (btnp(⬅️)) output..='⬅️' stdout('left ') if (btnp(➡️)) output..='➡️' stdout('right ') if (btnp(⬆️)) output..='⬆️' stdout('up ') if (btnp(⬇️)) output..='⬇️' stdout('down ') if (btnp(🅾️)) output..='🅾️' stdout('𝘰 ') if (btnp(❎)) output..='❎' stdout('𝘹 ') end function _draw() print('\^rf'..output,2,2,7) print('\^rw'..input,66,2,13) end function stdout(str) for i,c in pairs(split(str,'')) do poke(0x9000+i-1,ord(c)) end serial(o_channel,0x9000,#str) end |
it uses the stdin and stdout of the cart to read and write into files when called like this:
> pico8 < input_file.txt > output_file.txt -run mycart.p8
The problem I ran into is that I can't use the same file for the input and output.
My best attempt was to use a pipeline to redirect the stdout of a cart to the stdin of another one like this:
> pico8 -run mycart.p8 | pico8 -run mycart.p8
The problem here is that a strange thing is happening, the first cart boots and works fine but the second one freezes until the first one is shutdown. Then it works as intended, I get the output from the first cart. But I am not able to make the to instances of the cart run at the same time and communicate.
Any idea how to pull it of ?





If you use the command line to set the value of a variable and then attempt to select a pause menu option where menuitem's callback function returns true (that is, an option that's supposed to keep the menu open after selecting), the game crashes with the message "attempt to call upvalue '_superyield' (a nil value)"