About the Game
Coffee Cart is a casual, fast-paced coffee shop simulation game inspired by Overcooked and Lemonade Tycoon. Stock your cart and serve your customers, but as a one-person shop, things get hectic really quickly. Make sure your water is hot and coffee is ground as people rush to get the best coffee in town (yours!).
How to Play
Tap Z to start the game.

First, you need to stock up your inventory. Use the arrow keys to select between options and hit Z to buy those items.
Make sure to at least by one set of each. Beans will be used to make ground coffee, and cups are needed to actually serve your coffee!
One purchase of beans gets you 12 units, and one purchase of cups gets you 24 units.
Hi, I am totally new to coding and have been learning little bits on pico-8 for a couple of weeks now. I was trying to practise a very basic wraparound effect, so that a circle being moved with the arrow keys can go off one side of the screen and reappear on the other.
This is the code:
'function _init()
x=63
y=63
speed=2
radius=15
leeway=2*radius
end
function _draw()
cls()
circfill(x,y,radius,8)
end
function _update()
if btn(➡️) then x+=speed end
if btn(⬅️) then x-=speed end
if x>(127+leeway) then x=(0-leeway) end
end'
The above code works as expected, but I originally wrote the wraparound effect line as:
'if x=(127+leeway) then x=(0-leeway) end'
(So 'if x=' rather than 'if x>')
But with the original version I get a syntax error of 'then' expected near '='
Can anyone explain to me why one version is functional but the other isn't?
Many thanks for any help!



Hi All,
I've got a noob question I'm afraid and sorry this is such a long post! I've tried searching the forums and wider internet but haven't been able to find an answer my tiny brain can understand! I'm pretty new to coding and very new to Pico 8, loving it so far and just trying to clone a few basic games as a learning exercise.
Currently working on a Frogger-like, but I'm really struggling to make the 'log riding' mechanic work. I'm using AABB collisions and have a hit box defined for the frog and the water area. The plan is then to make touching the water kill the frog unless it's also colliding with a log hit box.
I'm creating the frog as an object within a table during init, then using a build_level function in init to add the logs to another table as below.


I am trying to edit sprites at runtime (using a sprite to store a large map), I know the sprites can be resized and from what I can tell the limit is 512 pixels in dimension?
I managed to draw to the sprite using set_draw_target() and then pset to draw the pixels I want, but I can't figure out how to then read the pixels! The guide mentions sset and sget which I know from pico8 but I can't make them work for some reason, I figured maybe I need to return the sprite as a user data with get_sprite but then sget doesn't seem to be a function of user data and can't find anywhere that explains how to use sget and sset.
Also I know the sprites will reset when the game is run so how would I then overwrite the sprite with the edited version so I can save the generated map?








Welcome to the Ring
Hello everyone!
I’ve made a simple pro-wrestling game called Welcome to the Ring
.
You win by draining your opponent's stamina, pinning them, and getting the three count!
Controls
Button | Action |
---|---|
←/→/↑/↓ | Move |
Z | Punch / Kick (hold direction) |
X | Grapple |





This cart is best used by loading like:
load #stockmonkey run |
because it requires using the command prompt.
The story with this one is:
I unexpectedly got a really tiny amount of money and decided to split it between the (two) kids and put it into stock brokerage accounts for them. Then they had to pick stocks to invest it in, which thankfully isn't too difficult these days due to fractional shares.
One kid picked a few stocks with some help, but the other one wanted to try the "monkey throws darts at a stock page" approach.
Both are learning pico-8 though so I decided to take this opportunity to write some simple pico-8 code to pick random S&P500 stock symbols in a way that's simple enough for younger kids to understand the code.
Dodge enemies with left and right to move along the orbit, and up and down to shrink and grow your orbit press X to blast when you are powered up.
Dodge Missiles and Orbiters until they leave for points
At 50 Score, A minelayer will spawn, The minelayer itself is harmless, but the mines it lays will destroy you.
There is also a secret enemy at 150 score...
It appears that the web runner for Picotron doesn't work properly in Firefox on macOS. I cannot launch carts. The Picotron desktop appears and I can use the built-in apps, but running the associated cart doesn't seem possible. I've tried double clicking, manually loading in terminal, Ctrl+R etc, but nothing.
When I try in chrome, the cart is launched immeadiately on boot.
This is my very first attempt at making a game.
It’s been a challenging but rewarding ride—full of trial and error—but I’ve finally brought it to a playable state. There's still a lot to improve, but I’d love to share it with you and hear your honest feedback.
🎮 v0.5
- Better start screen
- More challenging difficulty
- lots of small but impactful visual tweaks
🎮 v0.4
Survive as long as you can.
Collect XP gems, level up, and unlock powerful abilities.
✨ Current Features:
- 10 unique enemy types
- 10+ unlockable skills
🛠️ Roadmap:
- Improve sound effects and music
- Enhance visual effects and particle systems
- Refine map visuals
- Polish UI and overall presentation
- Thanks in advance for giving it a try!
- Refine enemies animations





Controls
Since this is a basic shmup, it's only fitting the controls are as basic as as it gets.
Arrows keys (up, down, left, right) move you about the screen, and holding down X continuously fires.
Simple as that.
Rules
Kill the enemies to progress through the fight as it adds more and more enemies to the screen.
Once you reach the last stage, you need to defeat the Big Boss Lad before your health bar reaches zero.
Behind The Scenes
This is my first ever game of any sort on any engine. I've never coded anything before (so if you wanna see a bunch of horrible inefficient code, treat yourself.) But I decided to give gamedev a go after a friend mentioned it's not that difficult.


Updated Saucers Desktop Pet Features:
Three Flying Saucers now interact dynamically — they harass each other in mid-air skirmishes.
Abduction Mechanics: If a saucer gets close to a walker, there's a chance it will abduct them.
Ground Defense: Tanks on the ground actively shoot at the flying saucers.
Interactive Mouse Behavior: Saucers are afraid of the mouse pointer — chase them off or herd them around.
Will you help or hinder the chaos? The choice is yours.