Please notice that this game is WIP.
Special thanks to:
- Murka: some ideas
- Rilden: drawing deck help
- SimL altar help
How to play:
Map of the floor
Press up/down/left/right arrow to choose the room.
Press X to enter.
![]() |
[0x0] |
![]() |
[0x0] |



Right now, tostr(n) converts to decimal, and tostr(n,anything_except_nil_or_false) converts to hex.
Could it use the optional second arg as a base if it's a number? e.g.
>?tostr(255) 255 >?tostr(255,false) 255 >?tostr(255,true) 0x00ff.0000 >?tostr(255,16) 0x00ff.0000 >?tostr(255,10) 255 >?tostr(255,2) 0b0000000011111111.0000000000000000 |
For the sake of simplicity, you could limit it to the bases the parser can read. I think that's just decimal, hex, and binary.



Hi people, thanks for checking out my game.
Instructions:
This is a high score game; you need to get as many gold coins as possible.
Go to the red flag to progress to the next level.
Notes:
This is my second published game on pico-8.
I made this throughout the night and now I need sleep.
My website:
https://sites.google.com/view/owenmyoven
UPDATE: The dungeon generation logic has been revamped. Rooms are not always rectangular, and can often have a bit more cover (or hiding places for monsters). Also added a couple of new enemy types. Gold has been removed (I needed the extra tokens), but it didn't really do anything anyway.
Grab your magic staff and venture deep into the demon realm to defeat Bahmott and his evil servants!
Trial of the Sorcerer is a procedurally generated 3D first person shooter inspired by Wolfenstein 3D and Catacomb Abyss.
Shoot monsters, collect loot, find keys to unlock doors, and try to find the exit to the next level.
And don't forget to pickup the power crystals to level-up your magic staff along the way.










A 0-4 player minimalist 4x strategy game
9 maps to choose from plus a random daily map
Capture bases, farmland, and factories to increase your income
Use science to improve your chance of winning battles
Capture all bases to win the game
Optional fog of war
Rounds last between 2 to 10 seconds based on settings
Tinymal Crossing
A very early start to what I guess could be called a "demake" of the first Animal Crossing on the N64/GameCube.
This started life last year as a modification of Oli414's "Pico Crossing", so while there have been a fair amount of changes to it, you can still see the blood of the original in places. Work on making it its own thing has been fairly on and off, so if someone sees the potential to build off of/improve it, then do what you want with it.
What the game has
- A working real-time day-night cycle, similar to that of the GBC Pokémon games. To change the appearance to night, the colors are replaced with darker shades, usually from the hidden palette.

A simple collection of some PICO-8 Mario games.
Original games:
Super Mario Bros Authentic: https://www.lexaloffle.com/bbs/?tid=31744
Super Mario Bros 0.2: https://www.lexaloffle.com/bbs/?tid=28942
Super Mario Remix: https://www.lexaloffle.com/bbs/?tid=39432
Yoshi in Celeste 2: https://www.lexaloffle.com/bbs/?pid=yoshiceleste2-0
Arcade Mario Bros: https://www.lexaloffle.com/bbs/?pid=arcademariobros_02-1







Embarrassing question but please be gentle. I'm very new to all this.
I have this code: (Lower down there). It's a bit mock up really for this question.
Lower down still in my code I'm working on a collision detection bit that needs, among other things, the value of x.
As you can see, it's all referencing 'self' and I have NO IDEA how to get the x value from this line:
spr(17,self.x,self.y,1,1,false)
Would someone please help a noob out.
Many thanks
Peej
function add_new_enemy() add(enemy,{ x=80, y=96, w=8, h=8, dx=rnd(2)-1, dy=rnd(2)-1, life=20, draw=function(self) spr(17,self.x,self.y,1,1,false) end, update=function(self) self.x+=self.dx self.y+=self.dy self.life-=1 if self.life<0 then del(enemy,self) end end }) [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=94873#p) |


I know we haven't seen a Celeste 2 mod in a while, but I present to you, Celeste 2 Flip!
(Inspired by VVVVVV by Terry Cavanagh and Gravity Guy)
In this mod for Celeste Classic 2, Lani has discovered the gravity suit, use it to flip your gravity (X/V) and traverse the mountain. Enjoy!
Changes:
- Replaced Lani's grappling hook with the ability to flip gravity!
- Controls: Left and right arrows to move, Z/C to jump, and X/V to flip Lani's gravity!
- Removed grapple points and carrying functionality.
- Going too far off of the top of the screen also kills you.
HARD MODE: Well, shortly after creating the mod, I received some suggestions from the EXOK Discord for a new version which I have implemented into a new form of the mod,









Hey guys! This is my first Pico8 submission. I'm hoping it will motivate me to work more on it. I'm trying to port the classic shmup Gradius to Pico8. I'll likely run out of room, but if I can get the first level in playable, I'll be happy.
I'm concentrating on accuracy. Currently there is no real gameplay. I worked on the ship animation, parallax scrolling, and spent far too much time on the music. Next thing to do is enemies so we can actually shoot some things.
Hope you enjoy this prototype and lemme know any feedback!




LCD Custom font
Recreation of the font used by some LCD screens.
Please credit Yolwoocle if you use it, feel free to use it anywhere, like your Idle MMORPG Metroidvania with LCD screen graphics!
(Jokes aside, I would be very curious to see what a game using this font as graphics would look like -- there's an LCD screen pixel art included in the cart.)
Some characters might not correspond to their usual pico-8 counterparts. This is because the character codes are copied directly from the lcd character sheet.
Copy these lines to use the font in your cart:
[hidden]```
poke(0x5600,unpack(split"6,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,17,29,19,17,14,0,14,4,6,4,4,4,14,0,14,14,17,8,4,2,31,0,14,14,17,12,16,17,14,0,14,12,10,9,31,8,8,0,14,31,1,15,16,17,14,0,14,14,17,1,15,17,14,0,14,31,17,16,8,4,2,0,14,14,17,14,17,17,14,0,14,14,17,30,16,17,14,0,14,4,10,17,31,17,17,0,14,15,17,15,17,17,15,0,14,14,17,1,1,17,14,0,14,7,9,17,17,9,7,0,14,31,1,7,1,1,31,0,14,31,1,7,1,1,1,0,14,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,0,10,10,10,0,0,0,0,0,10,10,31,10,31,10,10,0,4,30,5,14,20,15,4,0,3,19,8,4,2,25,24,0,6,9,5,2,21,9,22,0,6,4,2,0,0,0,0,0,8,4,2,2,2,4,8,0,2,4,8,8,8,4,2,0,0,4,21,14,21,4,0,0,0,4,4,31,4,4,0,0,0,0,0,0,6,4,2,0,0,0,0,31,0,0,0,0,0,0,0,0,0,6,6,0,0,16,8,4,2,1,0,0,14,17,25,21,19,17,14,0,4,6,4,4,4,4,14,0,14,17,16,8,4,2,31,0,31,8,4,8,16,17,14,0,8,12,10,9,31,8,8,0,31,1,15,16,16,17,14,0,12,2,1,15,17,17,14,0,31,16,8,4,2,2,2,0,14,17,17,14,17,17,14,0,14,17,17,30,16,8,6,0,0,6,6,0,6,6,0,0,0,6,6,0,6,4,2,0,8,4,2,1,2,4,8,0,0,0,31,0,31,0,0,0,2,4,8,16,8,4,2,0,14,17,16,8,4,0,4,0,14,17,16,22,21,21,14,0,14,17,17,17,31,17,17,0,15,17,17,15,17,17,15,0,14,17,1,1,1,17,14,0,7,9,17,17,17,9,7,0,31,1,1,15,1,1,31,0,31,1,1,15,1,1,1,0,14,17,1,29,17,17,30,0,17,17,17,31,17,17,17,0,14,4,4,4,4,4,14,0,28,8,8,8,8,9,6,0,17,9,5,3,5,9,17,0,1,1,1,1,1,1,31,0,17,27,21,21,17,17,17,0,17,17,19,21,25,17,17,0,14,17,17,17,17,17,14,0,15,17,17,15,1,1,1,0,14,17,17,17,21,9,22,0,15,17,17,15,5,9,17,0,30,1,1,14,16,16,15,0,31,4,4,4,4,4,4,0,17,17,17,17,17,17,14,0,17,17,17,17,17,10,4,0,17,17,17,21,21,21,10,0,17,17,10,4,10,17,17,0,17,17,17,10,4,4,4,0,31,16,8,4,2,1,31,0,7,1,1,1,1,1,7,0,17,10,31,4,31,4,4,0,14,8,8,8,8,8,14,0,4,10,17,0,0,0,0,0,0,0,0,0,0,0,31,0,2,4,8,0,0,0,0,0,0,0,14,16,30,17,30,0,1,1,13,19,17,17,15,0,0,0,14,1,1,17,14,0,16,16,22,25,17,17,30,0,0,0,14,17,31,1,14,0,12,18,2,7,2,2,2,0,0,30,17,17,30,16,14,0,1,1,13,19,17,17,17,0,4,0,6,4,4,4,14,0,8,0,12,8,8,9,6,0,1,1,9,5,3,5,9,0,6,4,4,4,4,4,14,0,0,0,11,21,21,17,17,0,0,0,13,19,17,17,17,0,0,0,14,17,17,17,14,0,0,0,15,17,15,1,1,0,0,0,22,25,30,16,16,0,0,0,13,19,1,1,1,0,0,0,14,1,14,16,15,0,2,2,7,2,2,18,12,0,0,0,17,17,17,25,22,0,0,0,17,17,17,10,4,0,0,0,17,17,21,21,10,0,0,0,17,10,4,10,17,0,0,0,17,17,30,16,14,0,0,0,31,8,4,2,31,0,8,4,4,2,4,4,8,0,4,4,4,4,4,4,4,0,2,4,4,8,4,4,2,0,0,4,8,31,8,4,0,0,0,4,2,31,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,5,7,0,28,4,4,4,0,0,0,0,0,0,0,4,4,4,7,0,0,0,0,0,1,2,4,0,0,0,0,6,6,0,0,0,0,31,16,31,16,8,4,0,0,0,31,16,12,4,2,0,0,0,8,4,6,5,4,0,0,0,4,31,17,16,12,0,0,0,0,31,4,4,31,0,0,0,8,31,12,10,9,0,0,0,2,31,18,10,2,0,0,0,0,14,8,8,31,0,0,0,15,8,15,8,15,0,0,0,0,21,21,16,12,0,0,0,0,31,0,0,0,0,31,16,20,12,4,4,2,0,16,8,4,6,5,4,4,0,4,31,17,17,16,8,4,0,0,31,4,4,4,4,31,0,8,31,8,12,10,9,8,0,2,31,18,18,18,18,9,0,4,31,4,31,4,4,4,0,0,30,18,17,16,8,6,0,2,30,9,8,8,8,4,0,0,31,16,16,16,16,31,0,10,31,10,10,8,4,2,0,0,3,0,19,16,8,7,0,0,31,16,8,4,10,17,0,2,31,18,10,2,2,28,0,0,17,17,18,16,8,6,0,0,30,18,21,24,8,6,0,8,7,4,31,4,4,2,0,0,21,21,21,16,8,4,0,14,0,31,4,4,4,2,0,2,2,2,6,10,2,2,0,4,4,31,4,4,2,1,0,0,14,0,0,0,0,31,0,0,31,16,10,4,10,1,0,4,31,8,4,14,21,4,0,8,8,8,8,8,4,2,0,0,4,8,17,17,17,17,0,1,31,1,1,1,1,30,0,0,31,16,16,16,8,6,0,0,2,5,8,16,16,0,0,4,31,4,4,21,21,4,0,0,31,16,16,10,4,8,0,0,14,0,14,0,14,16,0,0,4,2,1,17,31,16,0,0,16,16,10,4,10,1,0,0,31,2,31,2,2,28,0,2,2,31,18,10,2,2,0,0,14,8,8,8,8,31,0,0,31,16,31,16,16,31,0,14,0,31,16,16,8,4,0,9,9,9,9,8,4,2,0,0,4,5,5,21,21,13,0,0,1,1,17,9,5,3,0,0,31,17,17,17,17,31,0,0,31,17,17,16,8,4,0,0,3,0,16,16,8,7,0,4,9,2,0,0,0,0,0,7,5,7,0,0,0,0,0,0,0,18,21,9,9,22,0,10,0,14,16,30,17,30,0,0,0,14,17,15,17,15,1,0,0,14,1,6,17,14,0,0,0,17,17,17,25,23,1,0,0,30,5,9,17,14,0,0,0,12,18,17,17,15,1,0,0,30,17,17,17,30,16,0,0,28,4,4,5,2,0,0,8,11,8,0,0,0,0,8,0,12,8,8,8,8,8,0,5,2,5,0,0,0,0,0,4,14,5,21,14,4,0,2,2,7,2,7,2,30,0,14,0,13,19,17,17,17,0,10,0,14,17,17,17,14,0,0,0,13,19,17,17,15,1,0,0,22,25,17,17,30,16,0,14,17,31,17,17,14,0,0,0,0,26,21,11,0,0,0,0,14,17,17,10,27,0,10,0,17,17,17,25,22,0,31,1,2,4,2,1,31,0,0,0,31,10,10,10,25,0,31,0,17,10,4,10,17,0,0,0,17,17,17,17,30,16,0,16,15,4,31,4,4,0,0,0,31,2,30,18,17,0,0,0,31,21,31,17,17,0,0,0,4,0,31,0,4,0,0,0,0,0,0,0,0,0,31,31,31,31,31,31,31,0"))
poke(0x5f58,0x81)
[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=94857#p) |

V1.1 I forgot to comment the code. I felt like that would be a useful thing to do so that people understand how this works. Also, I changed the massive if chain in the tick() function to an elseif chain which should slightly improve performance, though optimization has never been my strong suit, so if anyone wants to try to fix my spaghetti code, be my guest.
This is my first thing that I made outside of simple experimentation with the engine! I hope you all like it! Most things have interactions with most other things, so just play around and see what you can do!
This is a small game about a small dragon kid that jumps around collecting gold and video game treasures.
This was my first PICO-8 project (and "finished", published game).
How to play:
You control a small dragon kid. You can jump on slimes, and bounce off slime balloons. You can jump up — or off — walls.
If a slime knocks you out, or if you land on spikes, you will lose 5 gold. Gold is worth 1, and video game treasures/large gold bricks are worth 10. Try to collect as much gold and treasure as you can!
Special thanks:



I found that, when entering the editors, the map resets itself and, furthermore, resets the map for the game being currently played as well.
An example of this bug (using Super Mario Remix):

@zep can you please fix this or make this a setting or something? (I would prefer it being a setting available using config)



