"Evening Train Ride"
280 characters
z,t,r,c=128,0,rectfill,circfill::_::cls(2) c(40,64,25,10) r(0,90,z,z,1) for i=0,z do r(i,64-sin(sin((i-t)/999))*20,i,90,3) r(i,70,i,99-sqrt(abs(sin((i-t*4)/z)*640)),6) end for i=0,32 do r(40+24*i,65,64+24*i-2,69,5) if(i%8<7)then r(41+3*i,67,42+3*i,67,9) end end t+=1 flip()goto _ |
This is a test for the purpose of using poke() bytes vertically as a way to draw transparent lines more efficiently.
Before version 1.12d you could only use pget/pset to draw a vertical transparent line, while now you can use poke(0x5f2c,135) to draw bytes vertically.
While the effect is the same, the CPU usage difference is pretty significant :)
This could be used for transparent rain effects for example.
Keep in mind that poke(0x5f2c,135) only works in the bbs right now.
Space Fluff
Hi guys, this was my first successful attempt at making a "full game" in anything. I've had Pico 8 for a while now and dabbled with it but over the past couple of months I've been learning again from scratch over some lunch breaks and threw together this small shooter.
If anyone has any feedback or finds any noticeable bugs i'd appreciate it! I'm not planning on expanding the game at all but i'd love to hear any critique. I thoroughly enjoyed finally finishing a project and want to work on a new one now I have gotten a good feel for it, just haven't worked out what kind yet!
Features
-One stage that runs for about 2 minutes
-Boss fight
-Score bonuses for killing specific waves


This is a rough draft of my idea for https://itch.io/jam/weekly-game-jam-136 "Single Player Co-Op". You are a turret gunner that can only shoot in one direction, and you only have about 16 seconds (no visible timer yet) to shoot all the targets circling around. Unfortunately that's not enough time. So then you start over, pointing a different direction, helping out your previous iteration, but that's still not enough. So you do it a third time, and now there are three of you. Eventually there are enough of you working together to kill all the enemies within the time limit... and nothing happens because I didn't include an ending yet.
I realize it's not applicable for all games, but would it be feasible to implement screen reader support for PICO-8? I don't know a lot about WAI-ARIA for web or anything about accessibility of standalone applications, so I don't know how such a thing is to be done, but we already have printh() commands sending data to the "@clip"board - adding something like "@tts" (text to speech) seems PICO-8-ish.
PICO-8 already does a lot of accessibility-positive things - the color palette includes a lot of nicely contrasting brightnesses and hues, the controls can already be remapped freely, carts can implement optional mouse and keyboard input - and setting up for speech reader integration would give programmers another way to make their carts playable by everyone.


I made this PICO-8 game for my girlfriend for Valentines Day. The idea was for her to collect as many hearts as possible and the amount at the end corresponded to a gift. The more hearts the better the gift! Getting all 18 hearts is harder than you might think. Currently I am trying to get it to work on a GPi CASE - Retroflag case.




A game made for Trijam #57. You're a little enzyme, reconstructing a strand of DNA - remember, A goes with T, and C goes with G! Build the complementary of the strand using the pieces you have, and make sure no base reaches the top of the screen without its twin!
Controls:
Up/Down - Move cursor
Z - Place base
X - Discard base (move to next)
My first tweetcart with sound. Pop all the bubble wrap, then start again!
poke(24365,1)s=stat::r::b={}::m:: flip()cls()for p=0,63 do(b[p]and circ or circfill)(p%8*16+8,flr(p/8)*16+8,7,p%15+1)end if(s(34)>0 and not b[p])sfx(0)b[p]=1 if(#b>62)goto r x=s(32)y=s(33)pset(x,y,6)p=flr(y/16)*8+flr(x/16)goto m __sfx__ 000400000e6453667528655126350b624 |



can someone explain to me how to get a sprites bounding box?
I have this code which reads from the center of a sprite and keeps checking above it until the pixel is 0 or its at the top of the sprite.
function boxt(s,x,y,w,h) local sx1=flr(s%16)*(w*8) local sy1=flr(s/16)*(h*8) local sx2=sx1+(w*8) local sy2=sy1+(h*8) local cx =4 local cy =4 //find 0 pixel or top while sget(sx1+cx,sy1+cy) != 0 or sy1+cy > sy1 do cy-=1 end sspr(sx1,sy1,sx2-sx1,sy2-sy1,x+cx,y+cy) return cy+y end |
however it doesn't seem to work
local s,x,y=22,63,63 function _draw() cls(1) if(boxt(s,x,y,1,1) > 0) then y-=1 end //spr(s,x-4,y-4) end |


Bumble Bots Re-Pair is a difficult action puzzle game. In the game you need to re-unite (re-pair) bots by fixing the paths they traverse. Can you complete all ten levels?

Credits
The idea for this game was created during this year's Global Game Jam, where the theme was "repair". It's a spin-off of the Robo Re-Pair game that we created during the jam.
The music was created by my brother and first used in my original Bumble Bots game (Low Rez).
Tips
The tiles that you are offered are randomly selected. However, you will always be offered tiles that fit somewhere on the grid. Furthermore, the tiles on offer will be unique. The order in which you place tiles and where you place them therefore matters. Exploit this to increase the odds that you get favourable tiles.





------------------------------------------------------------------------ -- takes a string describing a map and the width of the map -- other parameters reimplement map() -- example "0123456789abcdef",4 represents this 4x2 map: -- [[0x01,0x23,0x45,0x67],[0x89,0xab,0xcd,0xef]] function mapstring(mapstr, mapw, celx, cely, sx, sy, celw, celh, layer) -- remove[] to save tokens by making parameters mandatory ms, celx, cely, sx, sy, celw, celh, layer = ms or "", celx or 0, cely or 0, sx or 0, sy or 0, celw or 1, celh or 1, layer or 0 for y=cely, cely+celh-1 do for x=celx, celx+celw-1 do local sprnum = tonum("0x"..sub(mapstr,(y*mapw+x)*2+1,(y*mapw+x)*2+2)) if sprnum>0 and band(layer, fget(sprnum))==layer then spr(sprnum, sx+(x-celx)*8, sy+(y-cely)*8) end end end end |
This might be useful for games that define a large number of small maps (like metroid or zelda screens).


