"Weaver"
280 characters
poke(24364,7)::n::z,a,r,f,p=64,0,rnd,rectfill,pset cls(0)w=r(32)h=r(32)c=1+r(14)d=c+1+r(14)x,y,b=z,z,r(1)f(w,h,z,z,c)f(w,h,w-9,z,d)::_::p(x,y)p(x,h+z-y)p(w+z-x,y)b+=r(.4)-.2x=min(max(x+cos(b),w),z)y=min(max(y+sin(b),h),z)::m::flip() if(x>w and y>h)goto _ a+=1 if(a>z)goto n goto m |
I sampled PICO-8 for the first time this weekend. Being a rank novice at programming, I have little idea of what I'm doing. Luckily, given the abundance of PICO-8 resources here and elsewhere, I'm learning quickly!
Here is my first attempt at a game: a barely modified version of Cave Diver from Dylan Bennett's Game Development with PICO-8. I give you: Bat Cave!
It leaves a bit to be desired as a "game," but in terms of newbie accomplishments, I'm pretty proud of figuring out how to insert a title screen. That will certainly come in handy later.
Here's to producing better games in the future!

Pico Pixel Jump is a remake of Pixel Jump on TIC-80.
It uses some of the PICO-8 secret colours to have a similar palette.
Keep your character jumping on the platform to earn points and get the high score.
Button controls:
- D-Pad to move the mouse.
- O/Z to click.
To change characters, click the left side of the title screen.
You can toggle between button and mouse control in the pause menu (P or Enter).
Controls
Arrow keys to move. Z or X to fire.
Walk into a gun to equip it. Collect gold / fuel / light / more guns.
The desktop build works with a gamepad plugged in (tested on Windows 10).
Cardinal Gun Prospector
You have beamed down your remote droid to loot the famed Monster Caverns. You only have enough juice to beam down a simple pop-gun next to you but plenty of weapons are left around from previous visitors. Get in there and loot as much gold as you can!
Made for the 7 Day Roguelike Challenge, 2020.

Vector math for PICO-8!
Have you ever been looking at your code and been like:
"Hmm, i sure do add two numbers to another set of two numbers a lot," then do i have the solution for you!
At the low low price of like 400 tokens, PICO-8 vector math can be yours!
I originally made this to streamline a platformer I may or may not ever finish, but I realized that other people might want this, flagrant waste of tokens or not.
Features!
The code
There are two versions of the whole program. One handles errors more gracefully, while the other has a smaller token footprint
Required functions:
The metatable depends heavily on these two functions





can someone tell me why this always fails?
it isn't garenteed to always reach 63,63 even through i floor it.
function main() domain=true while domain do cls() spr(16,4,0,15,2) for i=0,8 do star() end yield() end end function star() dostar=true inst = { sx=rnd(127), sy=127, ex=63, ey=63, } while dostar do local dx=flr(inst.sx)==flr(inst.ex) local dy=flr(inst.sy)==flr(inst.ey) rectfill(0,0,127,24,0) print(tostr(dx)..","..tostr(dy),0,0,7) if dx and dy then dostar=false else pset (inst.sx,inst.sy,7) print(flr(inst.sx).."/"..flr(inst.ex),0,8,7) print(flr(inst.sy).."/"..flr(inst.ey),0,16,7) inst.sx+=(inst.ex-inst.sx)*mainstarspd inst.sy+=(inst.ey-inst.sy)*mainstarspd end yield() end end |


Hello there!
I have been exploring Pico8 for over 2 years now trying to understand coding with let's say "some" progress.
But I'm stuck with Tables. I mean, I get the concept but there's something I haven't got to fully understand therefore I get mixed results.
So I created actors (player, enemy) as tables but I can't make them spawn several instances on screen. So far I have got to draw 5 enemies on stage (at random position) but they keep appearing all the time (where they should appear once), any light about what I'm doing wrong? here's the code:
--init
function _init()
--globals
wave=5
w=112
h=112
--player
pyr={
spt=1,
x=w/3,
y=h/3,
life=10,
spd=2,
flp=false,
idle=true,
}
enms={} --enemies
enm={ --single enemy
spt=10,
life=5,
spd=1,
flp=false,
idle=true,
draw=function()
spr(enm.spt,flr(rnd(w)),flr(rnd(h)))
end,
}
for a=1,wave do
add(enms,enm)
end
end
--draw
function _draw()
cls()
print(#enms,20,20,7) --checking created instances from enms table
foreach(enm,enm:draw())
end
I have read tutorials, videos and everything available but still I haven't figured it out yet :( Any help is much appreciated.


Digging up old Pico-8 jam games that were only on itch.io. This one was made for the Meta Game Jam 2018.
All you have to do is just push the button. It should be easy, although it's been a long time I didn't do it myself, so who knows? For example, the mouse no longer worked and I had to quickly patch keyboard to control pointer. Just use arrow keys, X and C. Hope I didn't mess things up. Coding is strange: you let everything for a while and when you're back, it's like functions have started a life of their own and nothing works like it used to be. Oh well.
The game runs at 60 fps, which is a bit demanding for the web player. For a better experience it is recommended you run it on Pico-8 (download the p8.png or just enter "load #justpushthebutton") or download the game executables from https://elgregos.itch.io/just-push-the-button.



COVID-19 is an infectious disease caused by severe acute respiratory syndrome!
Those affected may develop a fever, dry cough, fatigue, and shortness of breath. A sore throat, runny nose or sneezing is less common. Cases can progress to pneumonia and multi-organ failure.
The infection is spread from one person to others via respiratory droplets produced from the airways, often during coughing or sneezing. Time from exposure to onset of symptoms is generally between 2 and 14 days, with an average of 5 days.
Those who suspect they carry the virus are recommended to wear a surgical face mask and seek medical advice by calling a doctor rather than visiting a clinic in person.
Wash your hands after playing!



"Lunar Blackout"
279 characters
t,m,v,z,r,c,p=0,16,64,128,rectfill,circfill,pset::_::cls(1)c(99,24,20,7)r(0,v,z,z,0)for i=0,8 do x=z-i*9y=abs(sin(i*.11))r(x,v,x+7,v-y*44,0)for j=0,z do c((1+j%4)*t/9%z-i*5+j%63*m-z,m+y*4+j%2*m,6-y*2,2)end g,h=i*m-t%m,i*32+t%32p(g,v,7)p(h,v)p(g+1,v,8)p(h-1,v)end t+=1flip()goto _ |
Stepped away from P8 for a while so I find myself a bit confused about the draw and update behavior.
I am trying to make a game where pieces fall and I am using cicfill to create these.
function build_pill(x,y,color,y2,color2) radius=2.2 x2 = x - 3 pill={circfill(x,y,radius,color), circfill(x2,y2,radius,color2) } add(pills,pill) return pill end |
I call it in update:
function _update() cls() build_pill(30,30,5,30,9) end |
The cls() function keeps erasing my object. However when I remove the cls() function the screen doesnt look right either.
SO
When is the right place to put the cls() and still be able to draw my shapes?
Thanks!

