v0.6 update:
- added menu item to invert the horizontal controls, let me know what you think!
Dead Man's Slope

WIP post for early feedback. Tell me what you think!
Fast paced, technical slalom skiing!
Controls:
arrow keys: point the skis toward the arrow direction
x: dash
z: jump
Slalom around the gates and get to the finish line as quickly as possible. Missing gates incurs a time penalty, so try to stay on track! Jump over the holes and avoid the trees.
I'm still iterating on the polish and level design. I have already implemented ice patches that you slide across and moguls that you can jump off of, but haven't built levels around them yet. Thought I would release this a bit early to see how people react!







Hi, i'm new to pico 8 programming so i was trying to redo the pong game from the pico-zine 1! I understood almost all the code (minus the collision stuff) and i was trying to make the game restart when pressing a specific button (for example X). I tried "while btnp(5) == 1 do" but it isn't working as inteded.. What i'm missing is a way to hang the game until the button is pressed and how to restart the game completely... This is the cart i'm working at atm (i commented the broken function)
Thanks!



Hi Everyone,
I have made a lot of stuff in GameMaker (Hiss Boo I know).. but I'm a complete noob at Pico8 .. I LOVE IT so far and I am trying really hard to understand how to do two things to get me up and running. Firstly I just wanted to do a simple top down walk around shoot at things in game.
So far I have a simple sprite I can move around with up/down left..etc... As far as pretty well every youtube video ever takes me....I can also do sound and music ok , so that parts fine...
But what I need to know is how to fire a bullet in the direction I am facing. I mean if I am pressing up and right .. to be able to press a button and actually fire up and right. Or facing right...press and fire right etc etc.
I have dug around in several Carts, but I get lost as everyone seems to do this different ways. All the Youtube videos I can find don't go over this either.
I would even be happy with a single pixel firing from my box sprite. (Hell even if it fired from a single character as a pixel I would be over the moon)
The other question would be the collision detection between the bullet and the target.
From what I can gather in Pico8 PPl seem to be drawing a box around the enemy and the bullet for detection of collision... I was wondering if making a bullet say RED and the enemy BLUE ... could I simply use Mget to check if the direction+1 of the bullet is that specific color to call the hit as well?. I have not tried this yet, but was curious as to if it's even possible.
I know this is probably really easy stuff for a lot of you. And if anyone could spare the time to show me how to do this I will name my first Pico8 Game in your name :)


Hi, I'm getting a weird issue where there's some not random but not right blue pixels in some of my sprites when they get rendered.
Here's the map where you can see the sprites correctly not having blue pixels

Here's the game when it's running with the weird blue pixels

As you can see I'm using color 14 as my transparent color, color 13 is used in the sprite and the blue color is color 12. Not sure if that has anything to do with it. The code I'm using for that is:
function _init() palt(14, true) palt(0, false) end |
Any ideas as to why this might be happening or what I can do to prevent it?


Let's say I have a table called 'objects' that contains all of the objects in my scene. I want to loop through it and call each object's update function. The order in which the objects are updated doesn't matter. Of the following examples:
-- example 1 for obj in all(objects) do obj:update() end -- example 2 for _,obj in pairs(objects) obj:update() end -- example 3 for i in pairs(objects) objects[i]:update() end -- example 4 foreach(objects, function(obj) obj:update() end) |
which is the fastest?
Thanks.




Updated to 1.01: fixed a bug where levels starting at coordinates other than 0,0 had wonky collisions
Hey everyone!
This is the second public domain tileset I'd like to share with everybody (after the top-down tileset released a few weeks ago). Like the one before, it was originally created for my PICO-8-based game design workshop, but it would be a shame to limit its use to only the workshop participants. So I made it a little bit more universal, bundled it with the engine code I used for the workshop, and released it here!
The tileset contains heads and bodies for a variety of characters, enemies, obstacles, three terrain types, lots of stuff to climb on, some random items and a few additional things no platformer should go without. As far as I'm concerned, this is all public domain, so feel free to use all of it or parts of it in your platformer projects, and feel free to remix or alter it in any way you want.
The cartridge is commented as heavily as the PICO-8 compressed size limit would allow, but I'm happy to answer any additional questions you might have.
Hope this comes in useful, and do let me know if you make anything with it! Have fun!
[i]This tileset would not exist without the support of the generous folks on my [b]Patreon










Hello there. This is a silly cart I did as a result of a inside joke. It started with one of my current avatars being a tracing of a "I REGRET NOTHING" gif with a rotating chicken and it ended up somehow on Pico-8.
Some technical stuff:
So we have 12 frame gif exported into spritesheet/map data with a tool I wrote on the fly to make it possible and took most of the programming time. The tool loads the frames from a gif and split each frame in 8*8 sprites, indexes them to avoid repetition in sprites and gives me the map data of each frame (or better, the map values to be changed from a frame to another, making a frame's data negligible).
I wanted to use the vector tool to vectorize the frames by hand but the lack of overlaying a model image and the amount of frames made me prefer automatically chunking the frames instead...
The end result? Probably my silliest cart yet.
Sorry.

Hey, everyone! Christmas is near, and it is a good reason to make something, about winter and Christmas in pico8!
So I challenge you to create a game or write a song until 24'th, so we all can check your cart near the Chrismas!
The rules are simple:
- Be sure to submit it till 24'th of December
- It should be Christmas-themed
- Be nice to other ;)
P.S. thanks to @kittenm4ster for his awesome tracker idea!


My first cart with PICO-8, Dot Party is a very simplistic implementation of a particle system using OOP techniques. I'm an hobbyist programmer and I've never used Lua before so this was mainly a learning experience figuring out how to make and use "classes" in PICO-8.
I'm not sure if my implementation is the best way (or even good), but here's the breakdown:
dot = { x = 64, y = 64, size = 15, shrink = 0.2 } function dot:new(o) local o = o or {} setmetatable(o, self) self.__index = self return o end function dot:update() self.x -= (self.x-64)/128 self.y -= (self.y-64)/128 self.size -= self.shrink end function dot:draw() circfill(self.x, self.y, self.size, self.size) end function dot:exists() return self.size > 0 end |
this is a remake of Grid Game by Mark James: https://jayisgames.com/review/gridgame.php
when the pieces rotate and join up with each other they cause chain reactions - the aim is to cause the longest chain reaction and get the most points! you can also click pieces to rotate them (including while a chain reaction is happening - maybe this is overpowered?).
also it's the first thing i've ever made in pico8 since i only installed it yesterday, but i like it a lot. maybe i'll use it for the upcoming ludum dare?
Woo! 1.0!
I really appreciate all of the feedback you guys have given me.
- Use bombs to destroy inactive beacons
- A beacon that is currently being used as a checkpoint cannot be destroyed. To destroy the last beacon, you'll need to use the checkpoint inside the ship's cockpit, which will deactivate all beacons.
- The "double jump" for the game is actually just an upwards attack (with a power up). It can be used in conjunction with the roll to clear pretty good sized gaps.
- Once you get the dodge-roll, you can use it to overcome some fall damage if you roll as soon as you hit the ground (parkour!)
Hope you like it! Any and all feedback is always welcome.










Hiya! Took me a little while to figure out how to read from a GPIO pin on a PocketCHIP, so thought I'd put my example code here in case anybody else comes looking for the same thing I was. It's not actually very complicated, but maybe the code and the notes will save someone some time.
This example uses GPIO 6 - to use a different pin, just change the pin value accordingly e.g. GPIO 5 would be 0x5f86.
Pico-8 reads hardware pins as digital, so you're not going to get a value from them other than 0 or 255. In this example I've called these two values "on" and "off".
You might need to run Pico-8 as root by opening Terminal from the PocketCHIP home screen and typing "sudo pico8".
This example won't do anything in browser.
The Bug:
I've been noticing lately that the cursor in Pico-8's code editor sometimes will get "stuck." It will suddenly start moving continuously to either the start or end of the current line, and even if I try to move the cursor it will just move itself directly back. Holding down the arrow key opposing the direction it's moving in will make it stay in place, a character away from the start/end of the line. For whatever reason, this never makes the cursor change lines, so it doesn't appear to be something as simple as a single input getting repeated unnecessarily. It also affects the cursor command line.
The Cause:
This bug does not appear to have a consistent cause that I can identify, though I think it most often happens when I'm hitting multiple keys at once.
Solutions:
As far as I'm aware, the only way to restore normal functioning is to closing and re-opening Pico-8.
Have other people have encountered this? Does anyone know of any other solutions to this issue?
(I'm using 0.1.11D, but it happened with earlier versions too.)


Hello! This is a quick little Lunar Lander clone made in the week following the PICO-8 Workshop Series through the Portland Indie Game Squad. It's based on one of the prototypes made during the workshop.
Features:
-1024 unique levels spread across 2 modes (selectable from options, 512 levels per mode) -32 unlockable lander sprites (including some fun surprises) |
Controls for the unfamiliar:
Z key - (o) button
X key - (x) button
Enter - Options, etc.
Arrow Keys - Move
Enjoy!
bluesky: @rewrking
Mastodon: https://mastodon.gamedev.place/@rewrking


