

A simple function for inserting sprites in the middle of text on screen.
There's a second version that can also highlight text. I made them different to reduce overhead if you only need the first one.
prtspr() arguments:
txtbl: text table, combo of strings and sprite numbers. Example: {"hello",5,"world"}
x,y: line position
c: text color
spry: adjust sprite y pos (optional argument)
prtspr_2() arguments:
txtbl: text table, combo of strings and sprite numbers. Example: {"hello",5,"world"}
x,y: line position
ctx: text color
chi: highlight color
spry: adjust sprite y pos (optional argument)
cdrp: drop shadow color
Hey everyone!
Today I present a few simple functions for managing tables!
strtab()
local t=strtab[[ dark=false, red=lala, 5=32, kiss={ me,before,you,go } ]] |
a whitespace agnostic function for converting strings into tables. numbers and booleans are cast into their respective types. this lets you write tables out in a human readable way, making it a powerful tool for data-driven development. note that because it removes all white space, there is currently no way to include strings with white space.
tblcpy()
local t2=tblcpy(t,{ kiss={ please=don't } }) result: { dark=false, red=lala, 5=32, kiss={ me,before,you,go,please=don't } } |
this function (optionally) deep copies any table, and can optionally take another table as a parameter to overwrite values into it. combined with strtab(), this can form a simple yet powerful entity and inheritance system, which I am using in a current project.
tass()
print(tass(t2)) |
convert a table into a whitespace-formatted string. great for debugging!
rmchr()
str=rmchr("hyuck","h") result: "yuck" |
removes a character from a given string. this is primarily a helper function for strtab().
I hope these may be useful for you! happy pico-8'ing! 💖
hey guys.
i got the pico-8 console three days ago, and this is what I've made in that time!
posting this because I'm trying to make a metroidvania, and I also would like some feedback on the tokens i'm using. i'll take any help I can get because I have zero clue what I'm doing.
listing some things I wanna learn how to do:
-
that room-to-room scroll thing in metroidvanias
-
how to spawn a player on a specific map tile
- walljumping
i've been studying the resources, but i haven't found anything for these issues. hope you enjoy what i've made regardless!

Does anyone have the same problem as me?
pausable = false |
If you disable pausable then in binary exports the escape key goes to the desktop in fullscreen apps.
Is this an intended behavior? I disable it to create my own pause menu.
I would like that in a final binary, no one could exit to the desktop.
Thanks!


The adventure of a janitor in an office building
Made for the Mini Byte Game Jam
DropBearByteJam2025
The Last Shift.
You are a janitor who is scheduled to clean an office building daily, you have your daily tasks to do but there are twists along the way...
At the beginning of everyday choose an item from your car to unlock different things to do in the office building. Find out the secrets of the office.


Pico Hero - A Guitar Hero demake
Controls
< Green
v Red
^ Yellow
> Blue
O Strum
X Star Power
Changelog
v0.3.1 (12th July 2025):
-New launcher cart in preparation for additional songs
-New star power system (hit glowing notes to gain SP)
-New save format (Old saves do not carry across)
-Changes to note chart in "I Love Rock N' Roll" (Hard/Medium)
v0.2.3 (10th July 2025):
-Added medium difficulty
-Star power now scales with difficulty
-Visual improvements / new logo
-Tighter timing window for HOPO notes
-Default difficulty set to easy, change from the main menu
v0.2.2 (9th July 2025):




I'm going to occasionally post some development gifs and images for Goldy Blocks Inc. starting with this one! This is the earliest gif I have of the project. The internal name for the game was Block_Builder, and this image is literally called "block_builder_0.gif" You can see I'm using sprites from Tower of Medusa to prototype it. The crumbly rock texture actually made it all the way into the release of the game, but it became the backdrop to the building section!
Another funny coincidence I didn't notice until now is that the shape being created is made of silver blocks while the un-attached blocks are golden. This is the exact opposite of how it is in the final game! At this early point I didn't even have an idea for how the game would look or what the setting would be, so part of me wonders if the placeholder golden blocks influenced me subconsciously.
I'll post more gifs soon, and after the game has been out for a little bit, I'll post some unused concepts/sprite/art!

This is my startup.lua:
-- User Startup File -- Run Dock at startup if fstat("/desktop/Apps/dock.p64") then create_process("/desktop/Apps/dock.p64") end |
When my system boots, the dock gets opened in a separate workspace instead of the desktop. When I try running create_process("/desktop/Apps/dock.p64") from the terminal after boot, it works correctly.


This salesman may be shady, but a deal's a deal. Help him create golems out of pure Living Gold!
Music by:
- The Packbats
- Gruber
- Fettuccini
Check them out clicking their names!
Controls and Rules:

Builder:
↑ ↓ ← → Move Block
X Export Block
Z View Map
Stacker:
↑ ↓ ← → Move Block
Reset the current level and turn screen-shake on and off in the pause menu!









CELESTE: AXOMOD
the second mountain
Original
Celeste: Classic was made by Matt Thorson and Noel Berry (according to the bbs page)
Go play it, its a good warm up for axomod.
Intro
Ever played Celeste: Classic and thought, "Hey, what if I could play this, except brutally difficult with a ton of new mechanics and a completely useless scoring system?" Well, I've got news for you: It's here, and all you get is two dashes to find your way up to the top of the mountain.
Features
- Two dashes from the start
- Echo berries (tbh they're reskinned chests)
- Winged echo berries
- Mitosis (it'll make sense later)
- Faded Gems
- Dash Gems
- Score
- A little secret for those who manage to find it...
Controls
- (o) to jump
- (x) to dash
- (<^v>) to move
Conclusion
Climb the second mountain if you dare, in Celeste: Axomod!






OCTOROQ is a block-pushing puzzle game (sokoban) for Pico 8! It has 30 levels.
v1.1 Update
- Added more music!
Music and SFX by Rex Bennett






"long cozy road to distant nowhere"
(265 chars)
::★::z=cos(t()/30)*10cls(1)rectfill(0,66,127,127,0)for d=140,20,-15do x,y=50+z+(1250-z*99)/d,63+600/d for r=5,1,-1do ovalfill(x-r*100/d,y-r*20/d,x+r*100/d,y+r*20/d,8-r/2)end line(x,y,x,y-500/d,6)line(x,y-500/d,x-50/d,y-500/d)pset(x-50/d,y-500/d+1,7)end flip()goto ★ |


"hey, at least we had fun, right?" - she said as we were jumping between rails
(277 chars)
r=ailroad ::★::l=line c=circfill d=t()*9cls(0)rectfill(0,0,127,30,1)for x=0-d*0.7,199,30do c(x,30,10,0)fillp(▒)c(x,30,15+sin(x/64)*2,0)fillp()end for y in all{55,65,75,90}do l(0,y,127,y,1)end for x=3-d,127,9do z=(64-x)l(x,55,x-z/10,65,1)l(x-z/5,75,x-z/2.5,90,1)end flip()goto ★ |


The Genie loved joking around with the gullible. He also had to love the riverbed where his pranks often landed him
326 chars (unfortunately)
::★::z=sin srand()cls(1)c=circfill q=64
c(q,q,38,12)c(q,q,9,7)for y=9,99 do
memcpy(24576+yq+z(y/8+t()/5)3rnd(2),24576+yq,q)end
function d(x,y,a,s,i)if(s<0)return
c(x,y,s,0)o=z(i+t()/15)(z((t()/50)+rnd())/5)d(x+cos(a+o)s,y+z(a+o)s,a,s-0.5,i+0.1)end
for a=0,1,0.1 do
d(q+cos(a)92,q+z(a)*92,a+0.5,9,rnd())end
flip()goto ★

Blobun Mini
You are a blob bunny. Your goal? Touch every tile! Enjoy 60 bite sized puzzles across 5 different worlds in this casual puzzle game.
Blobun Mini is also available on itch and Steam!
If you like this game, check out Blobun! The non-mini counterpart features 140 puzzles across 8 worlds. Available on itch and Steam.
A New Adventure on Pico8!
After the events of Blobun, Stephanie and her girlfriend decide to continue adventuring for fun! Take a small trip around Mythandra and solve many puzzles. Your goal is simple: touch every tile! However, it's not as simple as it sounds. Many obstacles get in your way, from floor zappers to deadly lava. You'll have to keep sharp to solve these puzzles!






