It goes without saying that you should always publish and share your PICO-8 games here on the the official site. Not only will you get great feedback, your game will appear in the Splore menu of PICO-8. So it's a no-brainer for any game you make.
But where else should you publish?
When I made my first PICO-8 games, I wasn't sure where to put my games. I saw a few others use Itch.io so I did the same...and that's where my game publishing journey started.
.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.
Itch.io
http://www.itch.io
Pros
- Nice site that's easy to use for everyone
- Customizable game pages
- Web player and binary download options
- Good analytics
- Donation options
Cons
- Limited exposure and findability
- Lots of competition, focus on download games
Itch.io is a great platform on which to publish games (PICO-8 or otherwise). The site is nicely designed so it's easy for visitors to come and play. They also let you customize your game page so it's easy to add your own graphics and styles to help promote your game. I create a rather generic template for my games but also made a "fancy" one to promote Alien Harvest...check it out.

Hi guys, so this is just an old version of my game with alternate music, the full game is in this thread. Please don't play it as if it's the final game!
Hi guys, I have a game uploaded in this thread. The main cart is fine, but there is a secondary cart I linked to in the post, it's just there as a demo for some alternate music.
The problem is, that secondary cart is showing up in the "Finished carts" section of this forum, and people are playing it as if it's a finished game and telling me there are bugs.
EDIT: Okay I worked around this by just making it its own post in the WIP forum and linking it from there via the actual page URL instead of the cart reference ID. Now I can't delete this post now that I've solved my own problem!


LITTLE SPACE RANGERS
Journey across the stars, crashing your Star Cruiser into a series of increasingly dangerous, procedurally generated planets as you attempt to make your way back Home. Explore hazardous surfaces, rescue your stranded crew, salvage lost cargo, and zap hordes of enemies. Will you be consumed by a slime, zapped by an enemy blaster, boiled in acid, or burnt to death by a toxic atmosphere?
CONTROLS
- Arrow Keys/Directional Pad - Move
- [Z] - Jump (tap, or hold for higher jumps)
- [X] - Use Held Item
- [Down] + [X] - Pick up / Swap Item

This is a demo using the fill patterns introduced in 0.1.11 as a way of dithering between two or more colors. Use the buttons to adjust spread of the gradient, the number of sample circles drawn per frame, and the radius of the circles.
The way it works is I have a gradient table, a fill pattern table, and a spread value. I'm going to draw 500 circles randomly each screen refresh, and each circle is going to use two colors and a fill pattern as its fill. The circle's colors are determined by the nearest and next nearest colors on the gradient based on some measurement, in this case the proportion of the spread to the shortest distance from a circle to one of three bouncing points.
I set up a table of fill patterns that I generated from a 4x4 ordered dithering matrix. There's a good description of ordered dithering here. Here's the matrix I used:
Hello!
I really loved playing around with the new fillp() possibilities, but it took me a little bit to understand how it actually worked (possibly because I'm primarily a web developer and this is quite far from any concept I've used before), so I made a small cart that helps visualize how exactly it works and what setting the different bits does. Maybe it will help someone else get a better understanding of it. If nothing else, it's fun to play around with :-)
Also this is my first post and my first published cartridge, so please let me know if I did anything wrong or if I could have done something better
Cheers

HMS Repulse's short sharp mission is to repel mines in the unstable asteroid field. Use the ships repulse beam to repel gold explosives converting them to green energy. Then shoot these green orbs to recover energy. Every missed mine depletes your red energy orbs.
[First attempt at anything playable, would dearly appreciate if someone can help me apply and understand functions in tables, and meta-tables to improve the code. I have a few power ups in mind, but really the game is to see if you can last 60 seconds. Please provide me with game feedback, although the difficulty should be easy to adjust in _init().]

While playing with the very handy picotool utility, I discovered that simply removing tabs on my well formatted code I was able to save 813 compressed bytes!!!
Seriously???
I've spent days trying to remove code, reshuffle stuff to save 50-100 bytes and simply making my code unreadable beats any of these optimizations??
:_[
The goal is to get the color blocks on the appropriate colored switch. The color blocks move in the opposite direction of the player. If two colors blocks touch they will mix (e.g. red+yellow=orange) Avoid walking into the color blocks...unless you want to die.
I didn't submit this to the 3cjam because 1) it wasn't done then and 2) it's not spoopy.
It's still not spoopy, but at least it's done. It's really more of a tech demo or proof of concept, just me seeing if I could do something in the limits of 3-colors-on-screen-at-once.
Not sure how well this will work in browser... probably not very. It should work, uh, well enough, in the client if your client can hold 60fps steady, though.
3cjam
Note: you can slow down the strobe with down on the dpad to confirm that I do, in fact, only use 3 colors at any one time.
Also note: there's some debug code in the source that I didn't bother to delete. Oh, well. :)
Hey Everyone! PICO-8 0.1.11d builds are now live on Lexaloffle and Humble! We are still working on CHIP / Pocket CHIP builds -- I'll update this thread when they are live. [Edit: they're live now with 0.1.11g]
Welcome to the Core
Despite the unassuming version number of 0.1.11, this update marks something of a milestone: The core of PICO-8 is now feature-complete, with API and specifications that are likely to remain fixed. Before it becomes entombed as a read-only blob of C code however, there is still some time before beta to address any issues that crop up. Let's see how 0.1.11 works out and what points of friction emerge.
One of the goals of PICO-8 is to create a stable, familiar medium in contrast to the shifting sands of modern software development. Instead of growing by changing the core of PICO-8 over time, I'm aiming to settle on a minimal, eternal component that can be built on top of (improved tools and bbs integration), extended sideways (extra ports / host platform support), built out from the inside (making useful snippets and carts!), and around (nicer BBS, cartverse, documentation, resources and community events).
v0.1.11 is also the point after which PICO-8 and Voxatron co-development start to part ways -- Voxatron's API and specification is a superset of PICO-8 v0.1.11's. The upcoming Voxatron update looks basically like a 3D PICO-8, with its own version of splore, png cart format, labels, and bbs integration. I messed up the Voxatron release plan partly because of committing to this -- but more on this later in a separate post. o(_ _)o
Many thanks to the numerous PICO-8 users who helped iron out bugs in the 0.1.11 release candidates. I snuck 0.1.11 out via twitter thinking it was pretty solid, but it took 3 more builds to get right. If you find any old carts that don't run or behave strangely, please ping me on twitter, or better still, post a bug report in the support forum. There will be another follow-up (0.1.12) to catch any left-over issues. After that it will be onwards to beta (0.2.0) \o/

| "After Miracle, Techno, and Shinobi, Alex has found yet another world to adventure in, and it wasn't easy! Cramming yourself into a world which only exists inside an 8192 token limit is no mean feat! But that's no problem for Alex's mean fist!" |

After I don't know how many months, this is finally "finished", bang on the token limit (that part was easy and fun), but staying under the compression limit was a literal impossibility, and I had to run it through PicoTool to get it under. For that reason, I've made the un-garbled code available in a Google doc at this link. But that is exactly at the token limit! No room for edits... so I've also provided this version, which gives you a bit of breathing room if you want to experiment, it's missing some tweaks that the final game has, which are bug fixes and extra minor features like the level intro.

Hello! Er... this is the first game i've ever made with Pico-8, so please forgive all the bugs you'll find in this little game.
This is my little homage to one of the games I used to play in my arcades back in the early eighties when I was a kid... a game with a trackball, many missiles and the almost impossible task to avoid a thermonuclear world war for as long as possible.
Yes, I know... that's not exactly a very cheerful theme, but it's also not worse than your average "zombie apocalypse" theme that you can find in many games today ;-)
THE STORY
In this game the final war that will annihilate the human race has just started. Your name is Dave Theurer, and unfortunately you're not a superhero. You can't stop all the missiles and you can't keep your loved ones and your city safe forever; but if you're brave and lucky enough you might be able to allow your fellow citizens to see the lights of another day.
Till the next night of bombings.
MOVEMENTS
Use your mouse or the directional keys to move the gun target. Push the Z button or click the left mouse button to shoot a single rocket, Keep pressed the X button or keep clicking the right mouse button for rapid fire.
Shoot the enemy missiles and avoid them falling on the buildings. When your last building falls, it's game over.






5 comments






