In the Elven country life is hard for architects.
You have been proven guilty in a murky affair about bridge collapse and the elf King sentenced you to survive on a very small island in the acid lake of Torgründ.
Of course acid level is rising everyday and your only solution is to build a tower to escape a terrible death.
Thanks to gods, stones are literally falling from the sky in this region, so it should not be a problem for you.
CONTROL :
- arrow keys : move your architect
- (z) jump
- (x) + wall : kick or destroy a wall
- (x) + up : build a ladder ( consume one plank )
- (x) in the air : build a wooden floor.
TIPS
ladders and wooden floors can earn you gems if you do them right.

You ever have that moment when somebody tells you something and you SORT OF get it but not really, and then later, maybe a day or two you cry out, "Ah ha !" because then you understand it ?
Well I'm not going to claim full knowledge of the YIELD() command, but I will tell you what it CAN do - at least for me.
I can take any program I've written to date and make it OOPS very simply.
Replace all FLIP() with YIELD(), then make a coroutine to run my MAIN() function. Done.
But it goes beyond this. Since I can now join the ranks of _DRAW() and _UPDATE() this means I can write a custom background engine that operates exactly as I like it.

Demo of PUMA industrial robot kinematics.
The user can move the Tool Center Point (TCP) and the robot will follow.
The demo operates in three modes:
- Camera mode (rotate the camera)
- Motion mode (move the TCP)
- Rotation mode (rotate the TCP)
The inverse kinematic (IK) problem is the problem of calculating such joint angles that the robot TCP takes the proper position and orientation.

Years ago I had written a QBasic program for Gina in Taiwan. In it, it imploded the map of Texas along with a greeting. When you ran it, it had the pixels come from all sides of the screen to implode the image I put in there.
Now you can do the same thing in Pico-8 !
Create any picture you want, call initexplosion() then explosion(1,flag) Flag to 1 if you want to skip seeing the explosion and only want to calculate for it. Then you are ready. Now call explosion(-1,0) to see the neat implosion effect of the image you put in there.
I first off wanted to let you know that I was just experimenting recording some .GIFs in PICO when I noted that the last .GIF I made was 6.49mb in size.
I loaded this up in VirtualDUB to check each frame in it, to make sure it looked alright, and then tried saving it back as an EXPORT .GIF to compare filesizes.
The filesize THEN was only 209k ! A 97% reduction !
I compared both. None miss frames, none have any distortion. They are the same EXCEPT that VirtualDUB has some massive compression going on there !
So ... Zep, someone, anyone ? the .GIF saver in current PICO-8 can definitely be optimized. No doubt about it. VirtualDUB was written 19-years ago - so it's not something new.
I can't upload the 6.49mb GIF in comparison here, says the filesize is too big.
Here is the 209k GIF though so you can see it's not missing anything. There's definitely good compression going on there !

Sybil's Tail is a tiny, 15-30 minute long platformer made for PICO-8. Run, jump, slide, grab, and toss your way through 6 bite-sized areas as you search for a mysterious meteorite that fell nearby!
hi there!! after 4 months of working on it, I've finally finished my first PICO-8 game, Sybil's Tail! this project was a lot of fun to work on, and getting everything to fit into the 32k of cart space required a lot of tricks to make things work right. a large reason it took so long was all the rewriting and compressing it took to get in all in there. but! the result is exactly the game I set out to make! I hope y'all enjoy exploring this little 8-bit world I've made.
it's also on itch here, which includes native exports, and the soundtrack. speaking of, I would like to extend special thanks to @kitorchid, who made the incredible cover art for the soundtrack, and @osmoru, whose adorable artwork formed the basis of the cartridge label design. In addition to those commissions, I also received wonderful artwork of Sybil from @MarziManed and @_pexl, who are both very cool artists that you should check out as well! And of course, I would like to thank all testers and of course my friends, without them none of this would have been possible.

Hi, my name is Chase, but you can call me Cheez...or even Scorch for that matter.
I am a musician who hopes to learn how to develop for the Pico-8. I've been making music since 2014, but didn't really take off until 2016. It's been great.
I also suffer from anxiety and I tend to get nervous and stuff. So, yeah.
I hope to have fun with you all though.
Sincerely,
Cheez

Hi everyone. During the 3rd GameShell Game Jam, I and my friends made a tiny puzzle game named SHIFT, and it is also the theme of the game jam. We spent about four to five days in all making the mechanism, levels, and the music.
The game combined the Sokoban mechanism with "shift", which you can move into the wall area when your shift ability is enabled. Your goal is to move onto the tile which looks like a teleporter or something. The current version features 16 levels. None of us are experienced game dev, so this game may feel a little bit weird, but I hope you could enjoy playing it.
Control:
O to toggle the shift ability.
X to undo.
You could restart the level in the pause menu.

I don't think anyone will seriously read this, I'm a nobody and I never blog here.
However, it's a tad frustrating that there seems to be an overabundance of Celeste mods within the normal places to release carts which makes me wonder if maybe Pico8 BBS needs a section just for game mods?
I think it would help fix a little of the clutter. I look at what appears to be a new game then after I get into the thread, I find out it's a mod of a game I already played.
It's just something I was thinking about and there's no place on the forum to speak to this so I figured I'd just mention it into the air for it to disappear forever. :)

I ported Shenzhen Solitaire to PICO-8. I made this a while ago but have only just now gotten around to posting it. It should handle all cases correctly, but please let me know if you run into any bugs.
I am not musically inclined at all, so if someone would like to help by translating the music to PICO-8 that'd be awesome.
Controls:
Z: select/move card(s), press dragon buttons
X: swap between free cells and table
Left/Right: move cursor (wraps around screen)
Up/Down: grab multiple cards (if able)
Rules can be found here: https://shenzhen-io.fandom.com/wiki/Shenzhen_Solitaire

Years ago computers had very little memory. I am reminded of the Apple ][ computer which although having 2-HIRES graphic pages each 8192-bytes in size with a resolution of 280x192 B&W pixels, you only had about 16k of RAM space if you used both of them for your program.
The original method was to plot an image on one page while viewing the other, then swap the two so you were always plotting on one while viewing the other. Yet this technique cost two HIRES pages of memory.
So a new method was adopted to handle plotting sprites and graphics over existing static images, and that method was called XOR.
On the Apple for instance you could plot a shape with XOR dots, that is for every pre-existing black dot you plotted on, it would appear white. Likewise if you plotted on a previously existing white dot, the plotting color for your dot would be black.
I am trying to do a simple game of pong for class and am having trouble. I have got the ball and the paddle. Now I am having trouble making the 2 collide. I am trying to get the ball to turn a different color when collided with the paddle.
I am also having trouble coding to get my paddle to stop when it hits the end of the screen so it does not disappear. Any advice would be much appreciated. I have attached my code so far that I have been working on. Thank you
ball_x = 3
x_speed = 1
ball_y = 15
y_speed = 1
ball_round = 3
col = 7
x=1
x1=5
y=127
y1=1
speed=5
function _init()
cls()
end
function _update()
buttpress = false
if btn(0) then speed =-5 end
if btn(1) then speed+=5 end
if not (buttpress) then
speed = speed/1.7
end
x+=speed
ball_y = ball_y+y_speed
ball_x = ball_x+x_speed
if ball_x > 127
then x_speed = -2
end
if ball_x < 0
then x_speed = 2
end
if ball_y > 127
then y_speed = -2
end
if ball_y < 0
then y_speed = 2
end
end
function _draw()
cls()
circfill(ball_x,ball_y,ball_round,col)
rect( x, y, x+8, y+1, 8)
end





25 comments

