hello!
sorry if this is "yet another" boring token-saving post (haven't been around long enough to know how common they are), but here's a list of (fairly) generalizable token saving tricks i've compiled while working on my upcoming game, in case it might be helpful to anyone. i think there are some on here that i haven't seen elsewhere on bbs, but also some of these may be pretty basic :)
this list does not include unpack(split())
tricks, or _ENV
tricks, which can both have enormous token windfalls.
also, by far the best way to save tokens is not using these tricks, but to stare at your code hard... really hard... until something clicks and you realize you can convey 3 variables' worth of information with one, that you can reuse functions, that you're doing the same computation throughout your code many times and can use a variable, etc. or you know, to delete stuff.
these are kind of last-resort, please god just 3 more tokens sorts of things (although they do add up). hope they are of some use. with that aside, let's begin!



No duh, right?
I've been making PICO8 games for 7 years now (doesn't feel that long) and the tokens and limits have just been part of the fun. Those restrictions can push our creativity into something better. That's the whole point and I love it.
My focus has always been on making the games for people playing on the P8 console in some fashion, whether on a PC or a handheld or whatever. And that audience is basically other P8 devs and gamers that know and appreciate the limitations.
Until now, Itch.io has mostly been an afterthought for my games. Basically just a nice way for people to play them all via the web...and you get some nice exposure bumps from the platform and so on.
Don't Dig Up the Dead it was the first time I put more conscious effort into the Itch.io versions of the game, whether that be the downloadable binaries or even just playing the web version for free. I've also put more effort into spreading the word about the game because I'm just proud of it and very happy with how it turned out. No shame. But with that push comes more feedback, which is always wonderful to receive...




Frogs Can't Swim



Controls
⬅️⬆️⬇️➡️ Face direction
🅾️ Hop forward
How to Play
As a tiny, little frog, find the exit to each level by hopping on and over lily pads to reveal directional clues to the exit, and eventually the exit itself. Avoid speeding cars, irritating bees, wiggly snakes, and falling into water (since you can't swim) to reach the exit before the timer runs out! How many levels can you complete? (*Except in 'Not Frogger' Mode, you need to land on all the flowered lily pads at the top of the screen to complete the level)




Hello! I've been playing around with the Pico 8 for a while, and I thought I'd sit down and try to create a full game myself! I coded this in about 4 days. It's an arcade-like experience, loosely inspired by Disc Room and Pigments, but it takes that general game structure in a new direction. There's twelve different levels to try to survive in, each with their own obstacles, powers, and goals.
Controls should be explained in-game. Have fun playing, and good luck earning the highest medals!
Thank you to Heracleum and the PICO-8 Discord with help optimizing the game's draw loop.


BZB is a busy bee and needs your guidance to reach her hive.
Each garden has 36 patches on a 6x6 grid and there are two flowers on each flower bed patch.
BZB will fly, orthogonally, from one patch to another, as long as the two patches have one flower in common.
Note that BZB cannot be convinced to fly to a patch she has been before, since such patch has no pollen left.
Help BZB bring the most pollen to the hive.
How to play
⬅️/➡️/⬆️/⬇️: move cursor to adjacent patch
❎: move bee to cursor patch (if possible)
🅾️: undo, move bee to previous patch
Goal
Guide the bee to the hive through the longest path to collect the most pollen and thus produce the most honey.



This code uses 11% CPU according to Pico-8, but if I delete the v[0]=1
lines in the if false
block it uses 7% CPU:
v={} ::_:: if false then v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 v[0]=1 end for i=0,1023 do v[0]=5 v[0]=5 v[0]=5 v[0]=5 end flip() goto _ |
Other observations:
- If I put the
v[0]=1
lines in a for loop with a huge iteration count this code uses 7% CPU. (No bug.) - If I put this code into
_update()
or_draw()
it uses 7% CPU. (No bug.) - Adding / removing
v[0]=5
lines bumps CPU by roughly 3% per line. - Replacing
v[0]
withv[1]
makes no difference. - Pico-8 does act on this CPU info, the contents of the
if false
block will affect whether Pico-8 visibly stutters if I add draw code and the non-executing lines push CPU over 100%.




I had only played with the AI-generation stuff without any real thought as to how I can actually benefit from it. But with the release of Don't Dig Up the Dead, I had a happy accident when using AI to generate some supporting art.
Don't Dig Up the Dead uses a mix of borrowed and original in-game assets. Music and sound came from some packs and some of the animation came from other games, but a large part of what you see is my own art and I'm proud that I was able to put something together that felt like it all belonged. There's enough of "me" in what people see that I'm not embarrassed to show it off.
I marched along making my game and got it to a very happy spot that I thought I was ready to release and be done. But then AI showed up. I took the bait like the rest of the world and started playing around with the art generation AI to see what it would do...just for fun without any real intent to use it for anything. But then I thought, "hey, I could use this to make art for my game." My game was done so this wasn't about generating pixels or sprites, just supporting material, like cover art and promotional stuff.


Every hole digs up a soul
You must find 3 magic relics to help rid the land of evil. Use the Find-O-Meter and your trusty shovel to search the forest. But if you dig up the dead you'll need to fight them off to stay alive, so pay attention to everything you unearth...it might just save your life.
- Find more than 30 items scattered throughout a spooky forest
- Challenging shmup action as you fight off the dead
- Simple and rewarding inventory management
- Secrets and riddles abound
Playing the game
For PICO8 owners: Play through Splore or by running load #dontdig
from the PICO8 commandline.
Gamepad recommended for best experience.
- D-Pad/Arrows: Move your character
- B Button/Z: Action button. Hold down to dig and shoot.
- A Button/X: Inventory
- Start/P: Pause and settings
- > Read the manual to learn more (PDF)










This prototype was made for Pico-View, a monthly web-zine hosted here on the BBS and also on NerdyTeachers.com.
You are challenged with taking on this mechanic of rewarding the player for nearly missing obstacles.
You can:
1) Play this prototype as-is, and share your highscores below.
2) Take this cart, and edit it as much as you'd like to create your own spin-off!
Don't forget to share it here on the BBS with the tag "Prototype Party" so we can see all the imaginative creations that all started from this prototype. And keep your eyes out for more in the coming issues of Pico-View!
Read the full issue here:
BBS Pico-View
Alien Bread
Antoine Foucault
Alien Bread is a short experimental shooter that allowed me to learn the basics of Pico-8.
I will continue improving my Pico-8 skills and create small prototypes and short games.
Don't hesitate to give me feedbacks!
Story
Play as a piece of bread whose day was interrupted by aliens!
Shoot butter to attack your otherworldly enemies!
Controls
Arrow keys - Move
C / V - Shoot
X / Z (hold) - Switch to horizontal shoot mode
I don't know if people are still having problems with the inline music player but here's a cart with the song just in case.
I've made no attempt to optimize space and used pretty much all the sfx slots. Though some are duplicated just so if you happen to listen on the editor music/sfx tab it's kind of satisfying to watch. To me at least.

switching between custom and default fonts (?"\015"
) behaves a bit strangely; the first line of text is spaced differently from the rest, depending on whether:
- custom fonts are enabled by default (
poke(0x5f58,0x81)
), and - the line height (
peek(0x5602)
) is more or less than 6 (the size of the default font)
run this cart to see what I mean:
specifically:
- when the custom font is enabled by default and the custom font's height is more than 6, the default-font text in this cart has a large gap between the first and second lines:

- when the custom font is not enabled by default and the custom font's height is less than 6, the custom-font text in this cart has a large gap between the first and second lines:


Prologue
PIXBURGH, PIXELVANIA, 5/13/2023 - The city has fallen. The dead pixels have taken over. You can hear them growling all around you. They hide everywhere & pop out when you least expect it. They smell you, they get hungry. Hungry for pixel flesh. You can outrun 'em . . . for awhile. The longer you avoid them though, the faster & more determined they get. They got Spot, they got Dot, and now they're after me. I'm the last one left. Well, me & my buddy Point up in the tower. He's real good with fixin' stuff up, but parts & power are scarce. Every now & then he'll hit me on the radio with a new place to hide, or to let me know he's got a few seconds of juice for the lights & fences. Heck, sometimes he even rigs up a bomb for me to blast a few of the dead to oblivion! Just hoping it's enough. Hoping I can hold out long enough for them to give up & maybe take out a few along the way.




