So, I'm using this as a base so I don't have to write self everywhere:
As seen 11 minutes into Object Oriented Programming in PICO-8
But because of that, I noticed a few problems:
- this completely removes any way to get parent by getmetatable? because what I'm getting is just an empty table, which is just it following the _ENV variables all the way down to nothing?
So I would have to make a workaround then?



"Side project that now has its own side projects."
I’m not sure what to call this — maybe just "my version" — but it’s a take on the bonus stage from Nintendo's Balloon Fight.
There are some obvious differences, like the scoring, but for the most part, it should feel relatively close to the original.
Try to pop all the balloons in each stage.
If you miss any, you’ll lose a life and won’t earn bonus points.
TODO: Most sounds and all music are still missing.


You play as a blue teddy bear (bluebeary...get it?) armed with a red yoyo. As you traverse the open world, you'll learn new ways to traverse the world and ultimately defeat the witch who has turned the animals in this world against you. Yeah, there's not much of a story and its basically Sonic but here we are...
This game is a metroidvania of sorts - you gain new abilities including swinging from the yoyo, wall dash and ground pound by opening chests. These chests also serve as checkpoints. The reason I say "metroidvania of sorts" is because there is a large section where things are probably too linear to call it a true metroidvania. Once all abilities are gained, there are three beads to find (also in chests) before you can access the final boss. These each require solving precision traversal puzzles.
I am currently developing my second PICO-8 game. I'm considering adding an option to load my first game directly from the new cart, if the player wants to give it a try.
Both games are single carts, and there is no sort of communication between them. It's a simple load call with a breadcrumb parameter.
I was concerned about cartdata though. Both games use cartdata to store progress, each using its own ID. And the PICO-8 User Manual states, in section 6.11, that "CARTDATA can be called once per cartridge execution".
The wording on the manual indicates that my approach was OK, but I decided to test it anyway, just to make sure.
Only once
First, I simply called cartdata twice to see how PICO-8 would enforce the single call.
cartdata("test_load_1") cartdata("test_load_2") |
This is the error message:

Simulating carts


A small little game about gambling all your live savings to win the jackpot in the slots machine
The game was made in a week, and this is my first interaction with pico 8
RULES
Don't lose all your money or you'll eat dirt for the rest of your life
Win the jackpot having 999 coins or more to make your wife and son love you again
CONTROLS
Press X or V to swithc between menus
Press Z or C to play the machine or buy
Press the arrows keys to navigate between the different options in the shop


Luck Be a Pico-Lord
A Pico-8 tribute to Luck Be a Landlord.
This is a fan-made, non-commercial clone of the amazing indie game Luck Be a Landlord (originally by TrampolineTales).
It was created as a passion project using the Pico-8 fantasy console and OpenAI’s ChatGPT for coding, debugging, and design suggestions.
Please note:
This project is not affiliated with, endorsed by, or a replacement for the original Luck Be a Landlord.
All game mechanics and UI are heavily inspired by the original, which you can (and should!) purchase on Steam and other platforms.
All coding, balancing, and Pico-8 adaptation were done as a personal challenge and to learn about procedural game design (with help from AI tools).



With a sea full of trash, someones gotta try to clean that up, leave it to Crabby the Crab! With his trusty basket, he volunteers to collect as much fallen Trash as possible under the sea!
But be careful not to collect the bombs that will explode when it touches your basket while also trying not to leave too many trash to the ground, that can radiate Crabbys home!
Set in the same world as Shore Sweepers!
Huge Credit to Nerdy Teachers for their guides in aiding me through learning Pico-8!

A very simple cart to test:
stat(102)
load("#bbs_id")
load("localfile_or_multicartexport")
Note: I used tiny tactics, my first PICO-8 game, as an example.
stat(102)
Value returned by stat(102)
depending on how the cart is run:
- number 0 when running .p8 file in PICO-8.
- number 0 when running cart from SPLORE.
- number 0 when running Windows .exe standalone.
- empty string when running .html standalone export directly from filesystem.
- "www.lexaloffle.com" string when running from BBS forum post.
I suppose running the .html standalone from somewhere will return the domain name as a string.
I am currently developing my second PICO-8 game. I'm considering adding an option to load my first game directly from the new cart, if the player wants to give it a try.
I know, from the PICO-8 User Manual (section 6.1), that "BBS carts can be loaded from other BBS carts or local carts, but not from exported carts." But how can I detect from which type of cart the code is running?
stat(102)
I know, from the PICO-8 Wiki, that I can use stat(102)
(not officially documented) to gather URL information. For BBS carts, it returns "www.lexaloffle.com". For local carts, it returns 0.
I wrote a simple test cart to investigate a little further.
function _init() s102 = stat(102) end function _update() end function _draw() cls() color(7) print("stat(102):",0,0) print("["..s102.."]",0,6) [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=169477#p) |



Hi there!
PICODACITY is a tiny piano app built with PICO-8. Use your keyboard to play notes, customize the keys, or even add new ones! By default, the key layout is set for AZERTY keyboards, but you can easily change it by editing the "keys" list — just don’t forget to add the uppercase version to the "caps" list too. You can also tweak the sound of each note to create your own vibe.
Hope you enjoy making music with it!

A small remake of the first game I ever made, completed in about 4 days. Take to the skies to defend your city from an aerial invasion, and rescue as many civilians as you can!
The music is courtesy of Gruber (which can be found here and here), and some code was used which was created by professir (for the timer mechanism) and drakeblue (for the water reflection). The sound effects were also done by Gruber (they can be found here). The art was done by me!



Welcome to our first game, Tactic Toe!
Tactic Toe is a block pusher where the adjacency of a block changes where it can move. Over the past year we (Ben and Ben) have sunk dozens of hours into tinkering with this simple premise to expand it into a full puzzle game experience. Thank you so much for playing and please let us know any questions or feedback you have below!
Features:
- 100+ Total Levels, 30 of which have unique rulesets!!!
- Built-In Infinite Level Generator
- Built-In Level Editor (with Save)
- Save File
- Mouse Controls (C=Click, X=Right Click)