How to Play
Use the arrow keys to move your character around the map, one tile at a time. Explore carefully and look for keys—you’ll need them to open doors and reach new areas. If you try to walk into a wall, you’ll be blocked, so plan your path ahead.
Avoid dangerous tiles, as stepping on them will end the game. Your goal is to find the correct path and reach the win tile. Hold ❎ at any time to check your inventory and see how many keys you’re carrying. If you lose, press ❎ to restart and try again.
Find the Stags and Spirits to get insight on the story! There are 9 stags and 6 spirits in total!
-- i am struggling to get the camera to follow the player rather than be based off walking to the next map part. if anyone has any insight i would appreciate!

An API for handling scoresub highscores as traditional networking packets through strings.
To test an example made using this, run #scorenet-3 in your Picotron terminal.
Updated: April 10, 26
Functions and API
Core
- scoresub_poll(include_sent)
- scoresub_set_table(table_name)
- scoresub_get_ping()
- scoresub_get_icon(user_id)
- scoresub_get_username(user_id)
Packet Handling
- scoresub_send_packet(str,raw)
- scoresub_packet_count()
- scoresub_get_packet()
Examples
A basic usage of this api:
function _init()
-- Sets the current table to perform networking on
-- Maybe use this for room IDs?
scoresub_set_table("test_table")
end
function _update()
scoresub_poll() -- Recieve packets from scoresub
-- Process every packet
while scoresub_packet_count() > 0 do
local packet = scoresub_get_packet()
-- Print out the packet values
print(packet.timestamp)
print(packet.user_id)
print(packet.username)
print(packet.extra)
end
end |
The Library
Save this to a file in your project and use include() to add it to your project.
Including it will make sure the local variables do not get overwritten.
Packets are manually rate limited to two per second, to hopefully prevent a crash from occurring on the Picotron-end of scoresub.
local _packets = {} -- Unprocessed scoresub packets
local _old = {} -- Packets that have already been processed
local _table = "" -- Scoresub table name
local _highest = 0 -- The highest ping in scoresub
-- Cache
local _icons = {} -- Cached icons loaded by scoresub
local _usernames = {} -- Cached usernames
-- Manual rate-limiting to prevent crashing picotron
local _rate_limit = t()
local _rate_sent = 0
-- Utils ========================================
-- Returns an item if the table contains it.
local function has(tbl,v)
return add(tbl, del(tbl,v))
end
-- Scoresub =====================================
-- Polls the current scoresub state
-- Skips packets already recieved by scoresub
-- include_sent <boolean> Include packets send by the user
function scoresub_poll(include_sent)
local newstate = scoresub(_table) or {}
local id = stat(64)
-- Get the latest ping
if newstate
[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=186236#p) |
Astral PICO Orb 🔮
The demake of the renowned 3D physics-platformer: Astral Wizard Orb (which isn't even out yet)


Features ✨
This isometric ball-roller features:
- 20 cosmic stages 🗺️
- Soundtrack with 3 songs 🎶
- Level select 👆
- Full game speedrun timer 🕐
Expect to play for about an hour or so. If you're a worthy wizard, that is.
Controls 🎮
How do u play this?!?
- ⬆️⬇️⬅️➡️ - Move the Orb
- ✖️⭕ - Jump
... also features an option for an alternate control scheme if your controller can't easily do diagonal input.

Testing beta changes for loose ties, this cart is likely to be unstable. The stable version can be found here.

This code works for cardinals, but not diagonals. I also tried with key("w") on so on, but again only cardinals worked. Am I doing something wrong here or is this a bug?
if btn(8) then -- fire left A pl.bdir=1 elseif btn(9) then -- fire right D pl.bdir=5 elseif btn(10) then -- fire up W pl.bdir=3 elseif btn(11) then -- fire down S pl.bdir=7 elseif btn(8) and btn(10) then -- fire up+left AW pl.dir=2 elseif btn(8) and btn(9) then -- fire up+right AD pl.bdir=4 elseif btn(11) and btn(8) then -- fire down+left SA pl.bdir=8 elseif btn(11) and btn(9) then -- fire down+right SD pl.bdir=6 end |
I tested for keyboard ghosting at https://www.microsoft.com/applied-sciences/projects/anti-ghosting-demo but multiple wasd keys have no issues in this test.

Super UFO Blaster: How to play
Welcome to the arcade game of Super UFO Blaster, or SUFOB for short. In SUFOB, your goal is to kick some alien butt! But to do that, you have to press 🅾 to shoot, ⬅ and ➡ to turn, and ⬆ to move forward. Keep in mind that running into an alien or the planet can seriously beat up your ship. Also, the planet has some gravity, so make sure that you keep your distance. Of course, you can also take advantage of the gravity by orbiting around the planet or sling-shooting yourself across. You can also warp around the screen, and you gain a heart whenever you clear a wave. Make sure your not lollygagging, or the aliens will speed up!
GOOD LUCK!
Inspiration:
This is my DX (Desktop Xperience) version of my adaption of pancelors brilliant MAKETEN. If this one is for you definitely have a look at their Deluxe version on itch that features great gamemodes and way more style!
It is also a test of Scoresub for a simple game. The three best scores of all logged in users will get displayed for everybody in every game mode.
HOW TO PLAY
Select as many fields(empty or not) as you'd like. As long as they sum up to 10 you'll get points for every field selected.
UPDATES
26/3/26 - "The more the merrier" - update: More scores on the scoreboard!
Hi everyone!
I'm excited to share System Breach, my very first "test" cartridge made with PICO-8. It's a minimalist cyber-hacking puzzle game inspired by the classic Mastermind mechanics, but with a fast-paced arcade twist.
I built this to learn the basics of Lua and the PICO-8 environment. It's not a final masterpiece, but I'm quite proud of the "game feel" and the hacking atmosphere!
The Mission:
You are a runner trying to bypass security nodes. Each node has a hidden PIN that you must crack before the countdown reaches zero.
Rules of Engagement:
- Crack the Code: Use the arrows to change the digits and press (X) to submit your guess.
- Read the Feedback: - Green Square: Correct digit in the correct position.
- Yellow Square: Correct digit, but in the wrong position.
- Dark Square: This digit is not

Classes
Warrior passive: Shieldbash - has a 30% chance to nullify damage and send to back onto the attacker.
Mage: Gets a extremely powerful aoe fireball spell.
Thief passive: Silver edge - has a 50% chance of dealing a critical strike for 100% more damage.
Priest passive: Divine favor - at the start of every player turn start up, heal the party for 25% of their max hp.
Controls
You move with the directional keys. z is menu/back. x is to select.
Progression/Gameplay loop
you spawn in a infinitely generated world. the farther you go out the harder enemies get and their spr change as well every 800 distance. once you get far enough the enemy spr colors get mixed and repeat. you have a free warp to the Inn in the overworld menu, pressing warp again will get you back to where you teleported from so it saves progress of distance traveled. its a turnbase FF styled game with lufia inspired visuals.
When you get 10,000 gold in your inventory you get the consumable item the crown. it triggers the final boss a level 500 warrior, defeating him completes the game.
Development
This project was created through an iterative, experimental workflow using an AI coding assistant as a tool for prototyping and implementation.
All gameplay design, art, and music were created by me, with the assistant helping translate ideas into code step by step.
The game evolved from a single procedural prototype into a more complete experience through continuous refinement and expansion.
(Translation: This wasn't made in a single prompt. It took over a week, I had to learn and understand some coding, and all the art and music were made by me.)
Future plans
I am happy to say this is fully where I want it. maybe adding more spells but its good where its at.
Outro
I hope you enjoy the game and that this will inspire others to make games like it, I can see this type of lufia roguelike genre really take off in the community if done well I know I myself wanted something like this so I made it myself and am happy with it. a ff turnbased rpg roguelike style was fun to make. I hope this style inspires others and we get more games like it to the library.
Recent update
I added two more classes. this will most likely be the final version because of byte space limitation for 1 cart. if I can surpass this with duel cart booting I will add new spells and a lot more features!!

This is a wee test of the new highscore table feature in Picotron 0.3
Scores (and logins) are only available in the downloadable binaries for now; [update: now available in the bbs web player]
Log in first via the Picotron menu and then either run boink from commandline:
> #boink
Or find it in splore. Press X to start, and X again each time you're over the target.
A separate namespace is used for highscores when running locally (including loading and running a bbs cart) because otherwise it would be trivial to submit scores from a modified version of the cart. There are a few simple measures to keep cheating manageable, but they are mostly aimed at keeping honest people honest.

Watch the game trailer on youtube: https://www.youtube.com/watch?v=-DXxJv4SFh8
Holy Torrent
The Story
As a Healer, you must follow your allies into the heart of the corruption. Your mission? Keep them alive, keep them fighting, and cleanse every last enemy.
Design
In Holy Torrent, you have no direct attack. You cannot harm the enemy yourself. Instead, you manage your mana to influence the tide of battle through four distinct skills:
💧 Healing Spray: Emits a stream of healing particles that flow toward injured allies.
⚡ Holy Buff: Temporarily boosts an ally's attack power and grants a passive health regeneration.
🌀 Regroup: Recalls all active allies to your position for a concentrated AOE heal.
KNUCKLEBONES ON PICO-8!
I absolutely loved playing Knucklebones on Cult of the Lamb. So much so that I made a 3D-printable travel case. The next thing I wanted to do was to be able to play it on my 3DS. First, I tried developing an original DS game. That was not fun. There was not enough documentation. Then, I stumbled upon FAKE08 for the 3DS and subsequently, Pico-8. Now we’re here.
Rules
- The game consists of two 3x3 boards, each belonging to their respective player.
- The players (you and CPU) take turns. On a player's turn, they roll a single 6-sided die, and must place it in a column on their board using left arrow, right arrow, and Z. A filled column does not accept any more dice.
Speaking?
This is your commander, captain. A Verco 1020 bot ship has been destroying our bases, and the damage is getting serious. I need you to destroy the space creatures and the smaller bots. Your jet is the strongest ship we have currently.
Yes, Sir!
However, proceed with great caution. The Verco may come after you, so avoid contact unless neccesary. Understood?
Yes, Commander.
Good luck. We are counting on you.
Controls
Battery barrage
Sometimes when defeating an enemy, a battery that you can pick up will spawn. When you have any batteries, hold Z + X to unleash a barrage of bullets. Pick up ten batteries, and you gain an extra life.
PLEASE PLEASE PLEASE pay careful attention to the warning at the start. This was all amateur research done for a gift for a friend using potentially harmful information on the internet. Exercise extreme caution when identifying plants. Things that have medicinal or illicit uses listed in the game may also be poisonous if ingested or used improperly.
This game was made for my dear friend Hilda, while she was recovering from burnout. She also made a really lovely game for me because I was also recovering from burnout. I think it says something about us both as artists that we did this.
If you type "Help", it will bring up a list of keywords






2 comments
