Arrow keys to move, x to shoot, z to use ultimate (meter at top left next to star). Hitbox is the pink square in the middle of the ship. Blast your way through 4 unique areas with over 4 power-ups and 8 challenging enemies including a final boss.
A small shmup based loosely off of the tutorial from amazing Krystman from Lazy Devs. Looking forward to (maybe) making another one now that the advance tutorial is out :)
Music credit to "neon" by lucatron and "Dimensional Gate" by Gruber.
Additional math formulas for rotation and other things from TheRoboZ and some other forum posts (sorry I forgot to save them)





Hi, I love pico8 and have the official version, I managed to do a small workshop at work to make other people as excited as I am developing games. I have build some steps and would like to let the other people make a small game in pico-8
As I have a lot of example code/sprites to copy and paste ( and hopefully sprites to ), I noticed somewhat flaky behaviour. First time copy paste seems to work, after that no more. pico8-edu pastes the old content, and I can't copy new content.
I have tried safari, chrome and firefox.. I'm on a macbook. Are there other windows/linux people who also have this bug on the edu version?
On reddit someone else posted the same issue.. https://www.reddit.com/r/pico8/comments/118azhk/copy_and_paste_not_working/
Hope this could be fixed since you run very quickly into this problem
kind regards, a pico8 fan

I'm not sure how much it makes sense but sometimes when I'm sploring or even just working on my own projects I take gif captures and screenshots and I want them saved to my desktop, But I don't want them to stay there for forever I want to decide if I move them to my folder or not where I store them but a problem that comes up is since it's like cartName_0, cartName_1 if that already exists then my OS prompts me to replace or not and if not then it renames it to .." copy" which is annoying... (I know I can move the directory but I want to view them first.)
Is there anyway you could add a config.txt option to instead of naming it in sequence give it a random character ID at the end or something? (cartName_021a4, cartName_5v30o maybe? ...) it doesn't have to be too long just would be nice for my really niche gif capturing and stuff ;p
Thanks for reading




Knuckle Dice v1.3
Knuckle Dice is an attempt to recreate Knuckle Bones from Cult of the Lamb. This is my first programming project ever so there's no AI yet - it's two player only to begin with.
In the future I will try to add:
- CPU AI (DONE)
- I want to experiment with perfect information. In other words, remove the randomness and tell the player exactly what the opponent is about to play.
Controls
- z to start/restart
- x to play a dice
Rules/Game Logic
- Maximum 3 dice in one column
- Playing a die in a column that matches dice in the opposing player's column removes all instances of that dice
- When nine dice are played by either player the game ends
Scoring
- You receive points equivalent to the die played multiplied by the number of instances of that dice. (e.g a 5 played twice in one column will give you twenty points - 2*(5+5)
- The player with the most points wins
v1.1 Updates
- Changed GFX to more of a 1bit style
v1.3 Updates
- Now it's a single player game with some rudimentary AI for P2



A quick experimental pixel based platformer. I was inspired by some interesting ascii / 8 bit retro art and thought it would make an interesting game. This is purposefully simple, 2 screens, strange behaviors, and no explanation! The thinking is for the player to figure out the rules (and bend them) of the weird looking 'world' and experiment to figure it out. It does track time, collectibles, and deaths.
I don't think I quite captured the artistic merit of its source inspiration, ended up looking a little more like a platformer level than I wanted, but it was fun trying!
Checkout the original art that led me to create this here: https://twitter.com/LootBndt
Good luck!


- Fixed v0.2 showing v0.3 for some reason
v0.3
- Made the function CURSOR()-dependable
I got an idea to make this from this post: https://www.lexaloffle.com/bbs/?tid=51903 (I probably didn't understand what did they mean though)
This library is still in development.
Old versions:


I'm having issues with this code, everytime I run it i just get this
runtime error line 34 tab 3
if collide_map(player,"down",0) then
attempt to call global "collide_map" (a nil value)
here's my code:
--external functions-- function dns(sp) spr(sp.sp,sp.x,sp.y,sp.w/8,sp.h/8,sp.flp) end function player_update() --physics player.dy+=gravity player.dx*=friction --running if btn(⬅️) then player.dx-=player.acc player.running=true player.flp=true end if btn(➡️) then player.dx+=player.acc player.running=true end --jumping if btnp(🅾️) and player.landed then player.dy-=boost player.landed=false end --collision on y axis if player.dy>0 then player.falling=true player.landed=false player.jumping=false if collide_map(player,"down",0) then player.landed=true player.falling=false player.dy=0 player.y-=(player.y+player.h)%8 end elseif player.dy<0 then player.jumping=true if collide_map(player,"up",0) then player.dy=0 end end --collision on x axis if player.dx<0 then if collide_map(player,"left",0) then player.dx=0 end elseif player.dx>0 then if collide_map(player,"right",0) then player.dx=0 end end player.x+=player.dx player.y+=player.dy end --function player_animate() --end |
here's just the section its calling out:
collide_map(player,"down",0) then
player.landed=true
player.falling=false
player.dy=0
player.y-=(player.y+player.h)%8
can anyone help me out with this


i spent my time very wisely today while on an extremely unproductive conference call, and now you can benefit from my varied attentional deficiencies.
please enjoy some emoji sprites, completely free for you to use. they work great on the forum here, but i think i'll also put them into my textbox dialogue parser so characters can emoji at the player. maybe that's fun, maybe that's insufferable. i guess i'll find out!
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |
![]() |
[8x8] |



A simple game where you use the left and right arrow keys to shorten or lengthen a permanently rotating tether ball. Hit the green circles for points, and avoid the yellows.
update:
Now has an easy mode with tether that extends and constricts faster
update 2:
Now has music and sfx for tether length change.


The Nightportsman of El'al Raheeb
in a far away archipelago called el'al raheeb the summer weathers are not but the most extreme.
the long, scorching days limit trade between the islands. foods spoil, water evaporates, the crews are pushed past their limits by the endless sun.
despite their best attempts merchants find the summers unbearable. luckily, the winters are a much needed reprieve for the boatmen and community alike.
in winter, the sun hides for 45 days of calm darkness which brings milder temperatures and turns the multiday voyages between islands bearable. bearable at least for those merchants willing to brave the other dangers of the sea.
these critical and unique boatmen work day and night through the winter, trying their best to supply the islands and turn a profit.
when the sun eventually rises and summer approaches then the merchants finally turn home. they pray to have made enough to support their families until the next winter.
you are one of these merchants, a nightportsman, and winter has come.
good luck may elals guide you.
Tips & Tricks
This calm business sim is all about strategically packing your ship and sailing from port to port to make money.
- Keep an eye out for items which are cheap or expensive at a port, similar items will have similar prices.
- You have 45 days to make as much money as possible.
- Balance spending your money on goods with upgrading your ship, buying newspapers, and exploring.
- Island needs, positions, and traits don't change between seasons, so keep notes.
- Around 1000¥ is a great score.



I found creating custom cartridge labels to be an exceptionally infuriating process, so I built a python script that can transform any image file to a Pico 8 label. The tool works best with images made especially for Pico 8, with a size of 128x128 and their official color palette, but for shiz and giggles I made it work with any image.
Here's the GitHub repo: https://github.com/amirave/pico-label
If you don't want to go through the troubles of cloning the repo, just save the pico_label.py file inside of it (:
A demonstration of the tool:






I wrote this little space "bullet hell" game as the final product of a tutorial I'm working on.
Food icons humbly yoinked from https://twitter.com/JUSTIN_CYR





Welcome to the Pico-verse - a pixelated land of tiny horizons and even tinier characters. In the Little Apple, a bustling town on the seaside, something terrible has happened! An oversized simian sprite has escaped and taken a citizen in its cruel clutches! Making its way through town, it has climbed up the construction site of the town’s tallest building. But one brave soul stands forth, determined to rescue their fellow citizen from the dreaded… Dinky Kong!
How to Play
Select your hero - choose from Minio or Smalline.
Press ⭕️ to start.
Move with ⬆️⬇️⬅️➡️
Jump with ⭕️.









