This is my first cart.
I hope you all enjoy. Please do not criticize my unoptimized coding, I just wanted to post this ASAP. Anyways this took a lot lot lot of play testing, and I am really satisfied with how it turned out!
Very curious to see the highest score..
Don't worry, the pin layout is not random!
.gif)
Version 1.4:
- Improved the customization menu greatly
- Added CHAOS mode! Play classic but with only chaos!
- Added ZEN mode! Play casually, just for practice and fun!
- Added brief descriptions to some menu options!
- Spent way too long optimizing tokens. This will probably be the last major update

.gif)






expint(): Counting To Eleventy-Bajillion In PICO-8 With Exponential Integers (v 1.01)
Overview
Hello, everyone! I'm back with another Quick 'n' Dirty code snippet: extreme range, low precision Exponential Integers!
expint()
lets you easily work with extremely large numbers at low precision in PICO-8. You can create them, add to them, "spend" from them, display them in a friendly format, and save/load them using a single 32-bit data slot.
expint()
is particularly well-suited to games where you need to track very large amounts of points or money, like incremental games/idle clickers, large-scale exploration games, and other places where 32k just isn't gonna cut it.
Update: Version 1.01
- Fixed weirdness with the
print()
function - Shaved a few tokens off, to boot
The Snippet And Its Use
Install
Paste the following snippet into your cart:
[hidden]
function expint(new_sig, new_exp) local num = {} function num._step_up(steps) while steps > 0 do num.sig \= 10 num.exp += 1 steps -= 1 if num.sig == 0 then -- we've lost all precision; for whatever we're doing, this number is as good as zero num.exp += steps steps = 0 end end end function num._norm() while num.sig >= 10000 do num._step_up(1) end while num.sig < 1000 and num.exp > 0 do num.sig *= 10 num.exp -= 1 end end function num.add(val, sig) local to_add = expint(val, sig) -- be non-destructive with arithmetic; copy info into another expint to protect precision to_add._step_up(num.exp-to_add.exp) -- instead of doing any logic, just run step_up num._step_up(to_add.exp-num.exp) -- on both the numbers. It'll only affect one of them. num.sig += to_add.sig num._norm() end function num.spend(val, sig) -- if val < num, subtracts val from num and returns true -- otherwise, returns false local to_spend = expint(val, sig) if to_spend.exp > num.exp or to_spend.exp == num.exp and num.sig < to_spend.sig then return false -- to_spend is greater than num; can't make the spend end to_spend._step_up(num.exp-to_spend.exp) -- instead of doing any logic, just run step_up num._step_up(to_spend.exp-num.exp) -- on both the numbers. It'll only affect one of them. num.sig -= to_spend.sig num._norm() return true end function num.print() -- local suffixes = split("K,m,g,T,P,E,Z,Y,R,Q") -- SI suffixes local suffixes = split("K,m,b,t,qU,qI,sX,sP,oC,nO,dE") -- number suffixes local return_string = num.sig if num.sig > 1000 then local modval = num.exp%3+1 local suffix = num.exp\3+1 if suffix > #suffixes then return_string = sub(return_string,1,1).."."..sub(return_string, 2).."X10^"..(num.exp+3) else return_string = sub(return_string, 1, modval).."."..sub(return_string, modval+1)..suffixes[suffix] end end return return_string end function num.save(cart_slot) dset(cart_slot, num.sig | num.exp>>16) end function num.load(cart_slot) num.sig = dget(cart_slot)\1 num.exp = dget(cart_slot)<<16 end num.sig = new_sig num.exp = new_exp or 0 -- handle special cases: input can also be either an integer in string format or a table (assume it's another expint()!) if type(new_sig) == "string" then num.sig = tonum(sub(new_sig, 1, 4)) num.exp = max(#new_sig-4, 0) elseif type(new_sig) == "table" then num.sig = new_sig.sig num.exp = new_sig.exp end num._norm() return num end |


Well I am now 99% complete my Pico-8 version of Mr. Robot and His Robot Factory. I loved this game back in the day when it was new on my Commodore 64 and now here is a Pico-8 version for everybody to enjoy. I can't believe I am right at the limit of the Pico-8 memory and made it fit. barely.
It is complete, although I have about 6 more levels to draw still and my trampoline logic needs some love. I doubt very much that I will fix the trampoline logic since the levels with trampolines were difficult to make work just like the original due to the limitation in screen width. Regardless I think I got the general look and feel of the original game pretty close, and the sounds aren't too bad either.



My jam game called Sun Break, finished in 7/8h. Very short scope but worth it, hope someone like it. The itch.io is https://raphaelkieling98.itch.io/sun-break
> You are a girl in a temporal loop. Are you able to escape? 10/15m of playtime :)





So yeah
I joined the pico-eightely world of Pico-8 and decided to try to do some stuff.
One of the things I (and assumedly many others) noticed is the quirk of the numbers range only going up to ~32700 because it's only stored on 8 bytes, and I figured I could try improving on this system...
Now of course many others did before me, and I could have tried to improve on their systems but I decided to do my own whole thing so instead of trying to recreate a mechanical calculator or a double-type number system, I went for the "scientific approach".
I made these snippets (located in tab 1) to turn a simple "12" into "1.2e+1" and to have the ability to do some math operations with it, all in just a bit over 200 tokens.
Hi, I have an RGB30 with an up-to-date version of Rocknix and the latest RPi (64 bit) version of Pico-8 installed.
Some games run and play just fine, Celeste 2 for example. But some games quit after they've loaded when I try to play them. For example, ExTerra - It loads okay, but when I select 'play' and then 'retro' or 'modern' from the in-game menu, it flashes "loading" briefly on the screen and then quits.
Does anyone have any ideas on what might be happening? Thanks.


I’m a low-vision developer who recently fell head-over-heels for Pico-8 and Picotron—honestly, the low-res aesthetic is a game-changer for central vision loss. With fewer pixels and tight constraints, these platforms are some of the most playable and buildable game dev environments I’ve come across.
That said, I’ve been running into some accessibility bumps—especially with the IDE tooltips. The red-on-brick-red color scheme is tough to parse, and jumping my gaze from one side of the screen to the other really adds up in eye strain over long sessions.
Here’s my wishlist:
• Screen reader support: If tooltips and field labels had ARIA tags or other hooks for screen readers, I could fly through tools without as much visual fatigue.
• Retro screen reader mode: Even better? Imagine a built-in reader that sounds like an old-school ’80s computer voice. Bleeps, bloops, the whole vibe. Functional and fun.
I know accessibility work takes time, but even a small tweak—like upping the contrast on tooltips—would go a long way. I’d love to hear if others have worked around this or if it’s on the roadmap.


Ten days of hyperfocus later, I have a working playtest ready!
The "how to play" section needs a lot of love, but the game is functional. The logic is based on the Andy Looney game Icehouse (https://www.youtube.com/watch?v=Zjow6EJflw4&t=192s), which is a real time board game played with 3-4 players.
Just a little snippet I use when looking sfx that haven't been used in the pattern editor.
p,s={},"" for a=0x3100,0x31ff do p[@a]=true end for i=0,63 do if not p[i] then s..=i.." " end end print(s) |
Paste into the terminal and hit enter.
WARNING: This only shows sfx that are unused in any pattern. You are responsible for checking whether they are:
- Used as sfx in the program
- Used as instruments by another sfx (i.e. for sfx 0 to 7)
- Used in some other way I haven't thought of
PicoZip
A PICO-8 rendition of LinkedIn's daily Zip puzzles. Procedurally generates a square grid with checkpoints that must be crossed in order, and all squares in the grid must be filled in order to complete the puzzle.
Controls (Game):
Up/Down/Left/Right: Extend path in direction if possible, or backtrack last move
X: Backtrack last move, or open exit menu
Features:
- Random color scheme per game
- Adjustable grid size (3-6) and checkpoint count (2-9, may be less in smaller grids)
- Random wall generation in grid
To-do:
- Add SFX/Music
- Need to optimize the path generation algorithm for 6x6 and higher grid sizes. Even 6x6 can take up to a minute to generate right now with naive Hamiltonian path generation.


A new WiP for a 4 player RTS game. It's also my first pico project. yay!
Pyramid Panic – A Game of Tactical Geometry 🚀
Hey PICO‑8 pals! I’m brewing a snappy 3–4‑player skirmish where every pyramid you fling can flip the table. Try it, break it, tell me what hurts!
Quick Pitch
Redirect lasers? Nah—redirect pyramids! Stack attacks, juggle defenses, and overload your rivals before the buzzer.
Controls
Each player drives one cursor with three modes (cycle with ⬅️ / ➡️):
Mode | What it does |
---|---|
Attack | Plant an 8‑pixel pyramid aimed at any defender. Hitting your own defender scores 0 but still fuels Overcharge. |
Defend | Keep a defender alive at all times. Lose it and you’ve got 10 s to drop another or you’re out. |
Capture | Triggered by Overcharge—snatch an attacker pointed at your defender, then redeploy it anywhere. |
Scoring
We recalc right after every placement:
- Attackers earn 1 pt if 2 + attackers point at the same defender of another color.
- Defenders earn 1 pt if facing 0 – 1 attackers.
- Everything else = 0.
Each player totes 6 pieces → 36 pyramids max in a 4‑player frenzy.
Overcharge ⚡
Three or more attackers locking on one defender? That defender Overcharges. Its owner gets an instant Capture move before play rolls on.
Endgame
- 3‑minute round timer, or
- Player 1 may end early by holding both buttons 5 s.
Highest score wins. Tie = sudden‑death; first point steals the crown.
State of the Panic
Alpha build live! I need your hot takes on:
- Attack/defense balance
- Is six pieces each spicy enough?
- Can you always tell which cursor mode you’re in?
Drop feedback, gifs, and victory dances below. Salty taunts encouraged.
This is something i have worked on for a while, and was wanting feedback!
Controls:
X - Switch selected block (block abouve head)
Z - place selecte block
Up arrow - jump
Down arrow - break block below and put in inventory, or, if pushed with Z, places a block below player
left arrow - moves left and places block to left when using Z
right arrow - same as left arrow but flipped
if you have any questions, just ask!

PIXOTHELLO is a colorful and strategic twist on the classic game of Othello, built with a retro-inspired aesthetic. Battle against the computer or test your tactics solo as you flip your opponent's pieces and dominate the board.
The game starts with the traditional four-piece setup, then evolves dynamically as you choose your moves and watch the board change in real-time. Every move counts—capture corners for maximum points and outmaneuver the AI’s logic.
Can you control the grid and claim victory in black or white?
Press ❎ to start flipping!
Feel free to check out my other games too ! https://www.lexaloffle.com/bbs/?uid=91692
I've been considering using Pico-8 Education Edition to teach kids the cozy world of game-dev in pico8. But one friction I've had is that using a tablet (most kids nowadays have access to one), it's impossible to hit the escape key (I've tried it with a couple of bluetooth keyboards).
Again, it's meant for kids, so I'm not really looking for a roundabout complex solution.
It would be great if this educational tool had an alternative way to hit [esc]. I'm open to any possible alternatives really, but I do think it would open the door to a lot of kids to play with the tool and have fun with it.
Any thoughts on this?
Jose


