I couldn't find any pathfinding example for pico-8 that could be used for non-grid movement, so I took this one and built on top it.
The necessity came when I started writing a game that had fluid movement inside a grid map (so rather than moving one tile at a time, the characters move one pixel at a time). Even with a tile-based map system, the collisions still had to be checked again for every pixel.
This cart visually shows how the pathfinding works:
- Yellow squares: path found with the grid pathfinding.
- White line: path to the next grid tile, found with the pixel pathfinding.




This cart allows you to create simple "Magic Eye"-style stereograms: 3D images hidden inside a field of seemingly random dots.
Create stereograms by drawing a depth map. This is a picture where different colours signify different distances from the object to the camera. When you're finished, select "make stereogram" to turn your depth map into a stereogram.
These stereograms are designed for parallel viewing. Relax your eyes and allow them to diverge, as if looking through the screen at something much farther away. The two black dots at the bottom of the picture should become three dots, with the middle one in focus. Then the hidden 3d image will emerge. If you're having trouble seeing the pictures, you can search online for "






Scaled text without any lost cartridge/screen data? At last we have it, and to that I say:
Everything you need to start scaling your text is in tab 0 of this cart. If you don't feel like looking at the cart, just copy-paste these fully-commented, fully-optimized routines you see here:
function mcpy(dest,src) --because poke4() is so --relatively fast, it actually [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=65232#p) |
Hi!
Greyknurl Diahaze is a tile-based puzzle and treasure-collecting game with nine large levels. There's stuff to read and experiment with and a mysterious little story that unfolds along the way. It doesn't really entirely make sense, but that's part of the point! Don't get discouraged - most of the levels have multiple angles of approach, depending on the clothes you pick before the first level begins!
Cursor keys to move, (O) to reset the level. (O) is assumed to be Z.
Thanks for checking this out! If you liked the game, share your high score!
(four fixes:
1.4
- fixed score and hp clash with resetting the level
1.3
- unbroke the digging tool stats



ROAD REX
After a day's work Road Rex just wants to get home like everyone else. Road Rex is a giant dinosaur with laser eye beams.
Get home as fast as you can! Beat your arch-rival, the quick and messy Blue Dinosaur (tm). Stop tv traffic choppers from getting footage of the mayhem you cause. Try not to get a speeding ticket from a speed camera (speed limit is 70mph in the UK) - but if you do, make sure you do it in style for extra points. Shove cars out the way and spill delicious lorry loads of kebabs, shoes and beans. Try to exit the motorway in the left lane and don't get lost!
Controls
Arrow keys right and left - accelerate and decelerate
Arrow keys up and down - switch lanes, aim lasers





If you are on linux you can use firejail to launch PICO-8 sandboxed. That way PICO-8 cannot access all your files, only those in its directory and its configuration directory.
I assume that you have the PICO-8 binaries in ~/pico-8 and that you are using the default config directory ~/.lexaloffle
I also assume that you are saving screenshots in the ~/pico-8 directory and not on your Desktop. To do that you need to edit the "desktop_path" line in your ~/.lexaloffle/pico-8/config.txt to be like this:
desktop_path /home/username/pico-8/screenshots/
Replace "username" with your actual Linux username for the rest of this post.
Now, install firejail from your repositories (sudo apt install firejail) or download a newer version from their website (up to you)
Create a file called pico8.profile in ~/.config/firejail
Put the following in this file:
include default.local include globals.local noblacklist ${HOME}/.lexaloffle noblacklist ${HOME}/pico-8 [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=65219#p) |
Each ball is drawn in the same colour (brown) but it appears red, green or blue depending on which colour stripes are drawn over it.
Inspired by an image shared on twitter. (See https://twitter.com/testingham/status/1139558284631789568)
I thought i'd see if pico-8 can create the illusion even with its limited palette. The answer is: yes it can! :-)
And unlike an image, in pico-8 you can read the source code to confirm the illusion acts as stated.

Put PICO-8 directory at /home/pi/ either via SSH then unzip, or manually by putting MicroSD in a computer and copying the files over.
Scroll down to the part about Launching PICO-8 from EmulationStation (about halfway down)
Follow these instructions through terminal (quit EmulationStation) and a Bluetooth Keyboard. Should work through SSH if that is your thing.
THEN, you need to run:
sudo apt-get install wiringpi
Start EmulationStation back up and you should have a launch option for PICO-8. Sound and Controls and Everything worked for me after that :)





This was a slide deck I made for a mini workshop I gave on arcade mechanics at a PIGSquad Summer Slow Jams event last night. (Following in the footsteps of @nextlevelbanana, I used a Nintendo controller as a clicker. 😄) Feel free to use the code for your own presentations.



IT DOESN'T WORK YET ON PURPOSE, BUT WILL BE FIXED SOON!
Today, while playing with the default settings on the CLI on Windows, I found a series of colors that I started to really like. So, what does that have to do with this?
Basically, when this cartridge is done, it's going to be a lot of things: but PICO-8 is going to serve as the first star, and from then on, sadly, I believe I will have to write a program of my own. Unless I find a way to display more than the 16 colors - and that's the only reason why.
I have written a program in python that allows one to select any color they see, from anywhere at any time, or simply play around with them til the find one on their own. Then I pipe that on over to a modified form of lua - the Aseprite variety actually.
I’m trying to print text centred around a point.
At the moment my code offsets the x coordinate by half the width
of a string in pixels, calculated as (4* #s)-1
.
This works fine for
alphanumeric text but is wrong when the text contains glyphs.
Is there a built in function to help achieve this?
Or do I need to examine every character when computing the pixel width of the text?


A quick little function to draw 9-slice boxes. Has modes for stretched or repeated sprites along the borders, and an optional background color. A little heavy for general use at ~444 tokens, and could probably be optimized further.
Use:
nineslice(x origin,y origin,width in px,height in px, sprite index for upper left corner, stretched mode (true/false), background color) |

Title says it all. I don't know a lot about Lua but I do know that in general VMs operate on similar principals to hardware description languages, which can be implemented in real hardware. Besides being a ton of work (and needing access to the lowest-level bones of pico) what is stopping a true hardware version of our favorite fantasy console from existing?
The biggest thing I can think of is that carts would be a whole beast of their own, but I'd love to hear everybody else's thoughts, including if there are any good hardware emulators out there (I've seen a few raspberry pi versions, but many of them fall short when it comes to screen, buttons, ports, size, etc).

This was our entry for last Ludum Dare. Forgot to post it here, sorry i dumb!
Team Cardboard Box presents… JBA: Oversequel
You are a bounty hunter. Your target is a bounty hunter. Everyone around you is a bounty hunter.
Interrogate passersby of the whereabouts of your target, once you see them, grab their attention - a light tap on the shoulder, or a bullet to the knee - anything goes! From there, only you decide which one would reap the reward.
And be careful! Anyone around could recognize you as their target!
—– INSTRUCTIONS —–
Walk with the D-pad, shoot with Z, talk with X.. but that much is written on screen. Out of battle with your target, holding Z locks shooting direction to aid with fighting those who want your head
Look carefully at your target’s face. It could give you a clue about their abilities!
Now, go! Survive in this wasteland where anyone ought to get anyone! Will you be able to reach the 11th day?
First, thank you to everyone in the Pico-8 community for being so amazing. With a heavy heart, I have had to regretfully shut down PlayPico after 3 years. I no longer have the time or finances to maintain the site, as I have a very demanding job and a 4th child due 3 weeks from today (PlayPico was a labor of love and cost around $30/mo to run). Other than the finances, I simply don't have the time; the site required a lot of maintenance, and over the past 3 years, I probably invested over 1000 hours into development and maintenance. It started growing in users to the point where more and more new features were becoming absolutely necessary, and it was getting neglected. Several key features were also broken after the BBS updates, and while I fixed many of them, I couldn't find time to fix all of them or continue to keep up should the same issues arise again.
Thanks again for everything, everyone! I hope PlayPico at least brought you all some joy, that's all it was ever meant to do. I'm sorry that it can't continue, but I hope it served you all well while it was there. It had a good run.



A reimagining of the rules of chess.
I don't have anyone to test the game with, so if anyone plays a round, I would absolutely LOVE your feedback. there are very many issues still such as the lack of a two-space pawn move, and no victory event, but I hope to have those finished soon and I hope you can still enjoy what I have made. I also hope you can understand the concept without the tutorial :/
thanks for checking out my game!
Update 2022-11-03:
If anyone decides to play, here is the basics:
- a turn is made of two actions
- action 1: paint a tile
- action 2: move a piece
The idea is that the way pieces move is determined by the color of ground, rather than only by directions.

