This is a work in progress digital version of the 18-card solitaire game, Numbsters, designed by Milan Zivkovic and published by Buttonshy Games. This game was created in Pico-8 for educational purposes.
This cart currently has minimal art, bell, or whistles. The primary purpose for creating this cart is to learn how to manage and manipulate data in tables with the hopes of taking that knowledge into the creation of other deck-building and deck-building adjacent games.
Overview
The gods have vanquished your people, the giants. You have been condemned to work in the continent factory, where you toil to produce endless worlds.
In this game, you have a limited amount of time to create as many continents as possible by matching the patterns that the gods are asking you to create. By completing runs, you will earn gold which will let you unlock new kinds of blocks that are more dangerous, but more valuable! Can you beat the high score?
How to Play
In the block selection menu, use the arrow keys/dpad to move the cursor, and Z (keyboard)/O (controller) to select/purchase blocks. Select GO on the right to start the game. Use your gold coins to unlock new types of blocks!

🍒 YUM! is a fruit dice game inspired by Balatro and the board game Miams.
🍊Roll 5 fruits, lock the dice you want, reroll the rest. Play Yahtzee figures like pairs, full house, four of a kind... and score enough points to beat each round.
🥝 Between rounds, spend your $ at the market: buy stamps that permanently boost your multipliers, fruit values, or unlock new tricks.
🍌 Every 4 rounds, a boss appears with a twist! Survive 16 rounds to win and complete the game.
🍓 Share your high scores and fastest runs in the comments! This is my first game, feedbacks are welcome :)

The Bezt Suite
Version 0.1.1 [Alpha]
About
Ever decided to add some interpolation to your application, searched for hours, and finally had to settle with a plain old lerp? Search no more! The Bezt Suite leverages the wonderful Bezier curve to help you create, tweak, and export interpolation, paths, and anything else a curve can become.
A lot more features are planned for this cartridge in the future - see todo.txt in the cart for a list of most of the features planned for this.
Any bug reports, suggestions, or ideas are much appreciated. Thank you for checking out my cart!
Installation
First, run load -u #bezt_suite in the terminal. It's best to run this program unsandboxed.
Hi everyone,
I've always enjoyed realistic physics in games. To me, it is a crucial component that breathes "life" and unpredictability into virtual worlds. When masterfully implemented, it adds a layer of enjoyability and replayability that can last for years—or even decades (look at Half-Life 2!).
I’m planning to develop a few Picotron games that incorporate physics-based gameplay elements, which means I need a solid engine to work with. I found a fantastic PICO-8 implementation and demo by @aatish (https://www.lexaloffle.com/bbs/?uid=32237) that utilizes the Verlet Integration method.
After researching the method further, I’ve been working on an extended port specifically for Picotron. It is still a work in progress, and I am currently focused on:

Hi everyone,
This is my first post here—a bit of a "love letter" to PICO-8 and Picotron.
First of all, I want to say a huge thank you to @zep. I truly admire both the console and the workstation; they are such a pleasure to work with. However, the most important component is the community. This group's friendliness, coziness, and openness fuel so much interest and creativity.
I am constantly amazed by what people achieve within such limited environments. There are countless examples of PICO-8 projects that "shouldn't" be possible, yet they thrive through sheer creative thinking. Inspired by all of you, I’ve finally found the courage to start contributing back with my own projects, tools, and games.
Teaching with PICO-8
For the past year, I’ve been teaching programming to kids at a weekend school using PICO-8 as our primary platform. We’ve leaned heavily on the incredible tutorials by @Krystman, @NerdyTeachers, @MBoffin, @2darray, @Gruber, and many many others.

function _init()
state="start"
putbacks={}
setup_game()
p={}
p.x=64
p.y=64
p.sp=1
p.atk_sp=3
p.is_attacking=false
p.atk_timer=0
p.atk_duration=10
end
function _update()
--thinking/logic/math--
if state=="play" then
move_player()
elseif state=="start" then
if btnp(❎) then
state="play"
end
elseif state=="win" then
if btnp(❎) then
setup_game()
state="start"
animate_walk()
start_attack()
end
end
end
function _draw()
--visuals--
cls()
local s=p.sp
if (p.is_attacking) s=p.atk_sp
if state=="play" then
map()
aniplr()
pickups()
draw_ui()
elseif state=="start" then
print("press ❎ to start",30,60)
elseif state=="win" then
print("your journey has come to end. now rest.",30,60)
end
---print(py)
end
function setup_game()
--sets up stuff
px=63
py=63
pf=1--player frame
flp=false --player flip
goal=1 --how many articats
init_ui()
for t in all(putbacks) do
mget(t.x,t.y,33)
end
table={x=10,y=23},{x=2,y=3},{}
putbacks={}
end
--animation--
function aniplr()
--animate stuff
if pf>2.95 then
pf=1
else
pf+=.05
end
spr(pf,px,py,1,1,flp)
camera(px-63,py-63)
if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=3
end
end
--pickups--
function pickups()
local ptx=(px+4)/8
local pty=(py+4)/8
spover=mget(ptx,pty)
if spover==30 then
mset(ptx,pty,17)
add(putbacks,{ptx,pty})
points+=1
if points>=goal then
state="win"
end
end
end
--points/ui--
function init_ui()
points=0
end
function draw_ui()
print("treasure: "..points,10,10,7)
color(10)
end
--player movement--
function move_player()
local lx=px
local ly=py
if btn(⬅️) then
px-=1
flp=false
elseif btn(➡️) then
px+=1
flp=true
elseif btn(⬆️) then
py-=1
elseif btn(⬇️) then
py+=1
end
local ptx=(px+4)/8
local pty=(py+4)/8
--is the player over a tile
--that has flag 0?
if fget(mget(ptx,pty),0)==true then
px=lx
py=ly
end
if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=0
end
if p.is_attacking then
p.atk_timer +=.25
if p.atk_timer >=p.atk_duration then
p.is_attacking=false
end
else
if (btn(0)) p.x -=1
if (btn(1)) p.x +=1
end
end
--attack systems
function start_attack()
player = {
x = 64,
y = 64,
atking = false,
atk_timer = 0
}
if btnp(4) and not player.atking then
player.atking = true
player.atk_timer = 10 -- attack lasts for 10 frames
end
-- handle attack timer logic
if player.atking then
player.atk_timer -= 3
if player.atk_timer <= 0 then
player.atking = false
end
else
-- move code goes here so player stops during attack
update_movement()
end
end

Goob Race!
Goob Race is a silly little racing/betting game I made as a gift for WhiskeyDing0 ♥
Choose your favorite Goob and good luck!
Notes:
- The song is 'Accumula Town' from Pokémon Black & White
- Goob is the mascot of the streamer WhiskeyDing0. Check out his channel!
UPDATES:
1.1
- Added a changelog panel
- Added a statistics panel
- Tweaked sprites and colors

I am unable to get Picotron to respond to my Ctrl keys. I am unable to cut or paste.
I am using a Lenovo ThinkPad T14s with Mint Linux. I have the same issue with Pico-8. Ctrl keys work fine on all other software.
Is there a way to check/modify the keymapping in either?
Any help is greatly appreciated, thank you!

Puzzle Puppies: match three, save the pups, repeat!
Watch the trailer here: https://youtu.be/JlAXqltkjnU
From DeusTex comes Puzzle Puppies: a chill little matching game with a serious strategic streak and pixel art that'll make you say "aww!"
Here's how it works: Tap a dog on the board, it hops into your tray. Get three of the same breed together (Corgis, Chihuahuas, Huskies, plain old Mutts... There's a whole pack of 'em) and they clear off for points. Catch is, your tray only fits 7 dogs at a time. Fill it up without making a match and... yeah. Game over.
The levels are all hand-built and don't let the cuteness fool you. The game gets surprisingly complex around level 11. Some of what you'll run into:






0 comments




