
Controls
arrow keys and the "X" and "C" buttons
Controls
Z to Jump
X to Teleport
Arrow Keys to Move and Aim
-There is a 'WIPE SAVE' option in the pause menu ('p')
Rules
In Porter, you play as Yug who may teleport and jump. If Yug teleports into a wall, Yug dies. If Yug jumps into spikes, Yug dies. The goal is to use Yugs teleportation and jump to get to the yellow coin in each level.
Story
Yug is a Porter, a gatekeeper to the underground city. They don’t pay him enough to live IN the city, so he lives outside where it is dark and dangerous… but he LOVES it outside!! Help Yug get to work by jumping, dodging and teleporting your way to safety! I hear if Yug clocks in early enough he might get a raise…
Bounties
The first person to send me a video of them achieving “RANK B” gets a $20 gift card.
The first person to send me a video of them achieving “RANK A” also gets a $20 gift card. (this one is messed up hard)
The video must contain the full run, to reach me go to my Twitter @BluMakesGames
Download from Itch - https://blumakesgames.itch.io/porter
Description
This is a small roguelike inspired by the Shin Megami Tensei games
How To Play
Controls
- Left Arrow and Right Arrow to turn
- Down Arrow to turn 180 degrees
- Up Arrow to move forward
- X to open/close the map and to select moves when in combat
- Z to run when in combat
Gameplay
You will encounter enemies while you explore the dungeon. Each enemy will have a weakness. The likelihood of encountering an enemy is indicated by the compass. When the compass has a red ring, you will encounter an enemy soon.

You will find a ladder on each level. This level will take you to the next floor. Each floor will increase the enemies difficulty.

You can press X to open the map. Use this to find items and the ladder.

Throughout the dungeon you will find various items. Health items will increase your max health and current health.

MP items will raise your max MP and your current MP. MP is used to cast spells.

Power items will increase the amount of damage you deal to an enemy.

Random items will give you either a random stat buff or a debuff.

Logarithm Benchmark
Logarithm algorithms
wiki method
stats
tokens:46
description
the wiki method uses an interesting property of logarithms to compute a value. specifically:
log(A * B) = log(A) + log(B)
by using a look up table for all the logarithms (base 10 of course) of the first 9 digits (1-9) we can use the following code to compute logarithms:
log10_table = { 0, 0.3, 0.475, 0.6, 0.7, 0.775, 0.8375, 0.9, 0.95, 1 } function log10(n) if (n < 1) return nil local t = 0 while n > 10 do n /= 10 t += 1 end return log10_table[flr(n)] + t end |
what this algorithm actually does is repeatedly divide by 10 and add the number of times it does this to a counter. Essentially we are assuming the number n can be expressed as m * 10 *10 *10... and we are simply removing these tens. then re-adding them in at the end.
extended wiki method
stats
tokens:98 (can probably be improved easily)
description
its the same thing but we use the following properties to extend the domain of the function:
log base n of m = log base 10 of n / log base 10 of m
log(n)=log(A)-log(A/n) when 0 < n < 1
my method
stats
tokens:118
description
I simply test 'all' the possible digits and calculate the error. then take the digit with the lowest error then I move on to test the next digit. Effectivly a brute force method.
The code:
function log(n,m) assert(n>0and m>0and m!=1) if(m<1)return log(n,10)/log(m,10) if(n<1)return -log(1/n,m) local g,cur,err='0000.0000',g,9999 for i=1,9do if i!=5then for j=0,9do cur=sub(g,1,i-1)..j..sub(g,i+1) local c=m^tonum(cur)-n if abs(c)< err and c<=0then g,err=cur,abs(c) end end end end return tonum(g) end |
This is a sample jukebox of songs made with bebop, a music generator desktop app I created for making songs for videogames. With bebop you can generate songs in .wav format or export a function that saves the song in your Pico-8 cartridge in the sfx and pattern slots (either momentarily or permanently).
You can find the tool here: https://srsergior.itch.io/bebop
This jukebox has a couple of generated songs that show the type of music that bebop can make. I think that this tool can be useful for giving Pico-8 games that extra musical polish in fast game jams and other projects :)
(it is not an AI tool)
how to export from bebop to Pico-8
Hey @zep I was working on my game and found that my pokes were failing to update the .p8d.txt?
here I tried doing:
?"⁶!5e00²" ?dget(0) stop() |

I found it replicable by doing
cartdata"test" color(7) local v = @0x5e00 if v<8 then [email protected] ?"⁶!5e00"..chr(v+1) run() end ?"done" |
I understand if it's meant to take time to update the file but my game depends on this writing to memory for handling state and I wish I could rely on it.. is there some way to make sure the file has time to be written to that'd be token cheap? like giving it extra flip time or something?
I'm on v0.2.5e not sure if this exists on newer versions.
Random Cart loader
Loads random cartridge off bbs
Fun for wasting time and getting nothing done!
dear @zep
so, i use pico 8 EDU, everywhere! (songs, games, existential crisis, you name it!) and I usually use my PC for it! the problem is, sometimes i get too exited and accidently tap my screen, EDU thinks that means im on mobile and i cant use my real mouse, so i have to quickly save the project and load it back in on another tab, seeing as how many times i ( and most of everybody who has AD(H)D)do this a day, it gets annoying, fast, please fix this!!!
- tetris mino
PICO-VIEW: May 2023

Hello Pico-View Reader, this May issue is the fifth in the series. This month has been jammed full of fun in the community. In this issue we are placing a focus on the multiple game jams that occured in May and the many PICO-8 games made for them!
We'll begin with our usual tasty Game Dev Articles, and then we'll take a look at each major jam that happened this month, with some jam-specific articles sprinkled in there as well. This issue is stuffed with games, so if you missed out on all the releases this month, don't worry, we've got you covered with the must-plays.
Thank you to the writers, contributors, and all supporters, that includes you reader! We thank you from the bottom of our hearts. And with that, have fun adventuring through the pixels and paragraphs of this issue of the Pico-View web-zine!
Authors:
Glimm, RidgeK, Luchak, Citizen608, Marina, Achie, Andrew Reist, Fletch, Kevin Portelli, and Nerdy Teachers
Contributors:
Godmil, NoBad7049, Munchkin
Contents:
-So You want to Make a Game - Glimm
-Basic Chord Progressions - RidgeK
-RP-8 Rendering (Part 2) - Luchak
-Featured Interview - Citizen608 ft. Marina
-Start of Game Jam Section
-PICO-butter and Jam: Spreading Game Dev Delight in every Byte - NerdyTeachers
-Game Jam #1
-Ludum Dare Jam 53 Intro
-LD Jam Featured PICO-8 Games
-Featured Game Review: Air Delivery - Achie
-Game Jam #2
-TweetTweet Jam 8 Intro - Andrew Reist
-TT Jam Featured PICO-8 Games
-The Making of TweetTweet Game: XTRIS - Fletch
-Game Jam #3
-Pursuing Pixels Jam 2 Intro - Kevin Portelli
-PPJJGG Jam Featured PICO-8 Games
-Conclusion of Game Jam Section
-Random Reviews - New Release Recommendations
-Prototype Party
-Closing Remarks
To read this issue of the Pico-View Web-Zine go to the nerdyteachers website here:
https://nerdyteachers.com/PICO-8/Pico-View/?issue=5
Did anyone else get swarm racer 3000 with their copy of pico-8 (and is it any good) or is it just me
From your local autism gremlin
Bad Apple on Pico8

Link to github here
Note this works by dragging and dropping a frameData.bin onto the running cart so it dose not work on BBS.
Drawing Function Used by Cart:
How it works
frameData.bin contains all the video data, every 2 bytes is an x,y coordinate for the endpoint of a line, an 0xfe byte represents the end of a polygon, a 0xff byte represents the end of a frame.
The pico8 cart reads this data 1,000 bytes at a time, and draws the outline of each polygon (filling them in would be a challenge).
Shout Out
Shout out to this project here which did the initial work of turning the original video into a list of polygons, which this project is based on.
Follow Up
I'd like to investigate the possibility of compressing the frame data into a single cart, which might be difficult at full scale resolution. I'd also like to investigate algorithms for filling in the polygons efficiently. Any ideas / advice is most welcome!
lil demake of shazia from counterpact :3
I can't get my custom font with variable width to work
the font maker tool
a cart that uses the result code
and also the output code:
poke(0x5600,unpack(split"5,8,8,0,0,1,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,112,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,63,63,63,63,63,63,63,0,0,0,63,63,63,0,0,0,0,0,63,51,63,0,0,0,0,0,51,12,51,0,0,0,0,0,51,0,51,0,0,0,0,0,51,51,51,0,0,0,0,48,60,63,60,48,0,0,0,3,15,63,15,3,0,0,60,6,6,6,6,0,0,0,0,0,48,48,48,48,30,0,99,54,28,62,8,62,8,0,0,0,0,24,0,0,0,0,0,0,0,0,0,3,6,0,0,0,0,0,0,0,1,0,0,0,5,5,0,0,0,0,0,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,2,0,3,0,0,5,5,0,0,0,0,0,0,20,62,20,20,62,20,0,8,60,10,62,40,30,8,0,0,18,24,12,6,18,0,0,14,27,27,110,59,59,110,0,4,4,0,0,0,0,0,0,24,12,6,6,6,12,24,0,12,24,48,48,48,24,12,0,0,54,28,127,28,54,0,0,0,12,12,63,12,12,0,0,0,0,0,0,0,6,6,3,0,0,0,31,0,0,0,0,0,0,0,0,0,0,1,0,32,48,24,12,6,3,1,0,6,9,13,15,11,9,6,0,2,3,2,2,2,2,7,0,7,8,8,15,1,1,15,0,7,8,8,14,8,8,15,0,9,9,9,14,8,8,8,0,15,1,1,15,8,8,7,0,14,1,1,15,9,9,7,0,7,8,12,6,2,2,2,0,6,9,9,15,9,9,6,0,7,9,9,14,8,8,7,0,0,0,3,0,0,3,0,0,0,0,2,0,0,2,1,0,48,24,12,6,12,24,48,0,0,0,30,0,30,0,0,0,6,12,24,48,24,12,6,0,15,9,8,12,6,0,6,0,0,30,51,59,59,3,30,0,0,0,6,8,14,9,14,0,0,1,1,7,9,9,6,0,0,0,6,9,1,9,6,0,0,8,8,14,9,9,6,0,0,0,6,9,15,1,14,0,0,12,2,2,15,2,2,0,0,0,6,9,9,14,8,6,0,1,1,7,9,9,9,0,0,2,0,3,2,2,7,0,0,4,0,6,4,4,4,3,0,1,9,5,7,5,9,0,0,0,1,1,1,1,6,0,0,0,17,27,21,17,17,0,0,0,7,9,9,9,9,0,0,0,6,9,9,9,6,0,0,0,6,9,9,7,1,1,0,0,6,9,9,14,8,8,0,0,6,13,1,1,1,0,0,0,14,1,15,8,7,0,0,2,7,2,2,2,4,0,0,0,9,9,9,9,14,0,0,0,9,9,9,13,6,0,0,0,17,17,21,31,10,0,0,0,17,10,4,10,17,0,0,0,5,5,5,6,4,3,0,0,7,8,6,1,14,0,31,3,3,3,3,3,31,0,1,3,6,12,24,48,32,0,31,24,24,24,24,24,31,0,6,15,9,0,0,0,0,0,0,0,0,0,0,0,15,0,6,12,0,0,0,0,0,0,6,9,9,9,15,9,9,0,6,9,9,7,9,9,7,0,6,9,1,1,1,9,6,0,7,9,9,9,9,9,7,0,14,1,1,7,1,1,14,0,14,1,1,7,1,1,1,0,14,1,1,13,9,9,6,0,9,9,9,15,9,9,9,0,7,2,2,2,2,2,7,0,15,4,4,4,4,4,3,0,9,5,5,3,5,5,9,0,1,1,1,1,1,1,14,0,17,27,21,17,17,17,17,0,9,9,11,15,13,9,9,0,6,9,9,9,9,9,6,0,14,9,9,7,1,1,1,0,6,9,9,9,9,5,10,0,7,9,9,15,5,5,9,0,14,9,1,15,8,9,7,0,15,4,4,4,4,4,4,0,9,9,9,9,9,9,6,0,9,9,9,9,9,13,6,0,17,17,17,21,21,27,17,0,17,17,10,4,10,17,17,0,9,9,9,14,8,8,7,0,7,8,4,6,2,1,14,0,28,6,6,3,6,6,28,0,8,8,8,0,8,8,8,0,7,12,12,24,12,12,7,0,0,0,110,59,0,0,0,0,0,0,0,0,0,0,0,0,127,127,127,127,127,127,127,0,85,42,85,42,85,42,85,0,65,99,127,93,93,119,62,0,62,99,99,119,62,65,62,0,17,68,17,68,17,68,17,0,4,12,124,62,31,24,16,0,28,38,95,95,127,62,28,0,34,119,127,127,62,28,8,0,42,28,54,119,54,28,42,0,28,28,62,93,28,20,20,0,8,28,62,127,62,42,58,0,62,103,99,103,62,65,62,0,62,127,93,93,127,99,62,0,24,120,8,8,8,15,7,0,62,99,107,99,62,65,62,0,8,20,42,93,42,20,8,0,0,0,0,85,0,0,0,0,62,115,99,115,62,65,62,0,8,28,127,28,54,34,0,0,127,34,20,8,20,34,127,0,62,119,99,99,62,65,62,0,0,10,4,0,80,32,0,0,17,42,68,0,17,42,68,0,62,107,119,107,62,65,62,0,127,0,127,0,127,0,127,0,85,85,85,85,85,85,85,0"))
I made a custom font with the font maker from zep, but I need custom width and it just doesn't work for me.
I have really tried to make the variable width work but as soon as I put it into another cart, the effect doesn't apply.
The adjustments work inside de font maker cart, but when I try pasting the result code on another cart it works as a monospaced font.
I don't know if I'm forgetting something or just being dumb, but just wanted some help.
credit orignal game: Super FNaF - @Lylly - https://gamejolt.com/games/sfnafarchived/158082
This is a project for me to learn more about pico 8.
Super FNaF Demake v0.0
- Characters
- Basic Movement
- Some Tiles
- ...
v0.1
- side scrolling???
My Discord: AaronsLG#4641
arrow keys to move, z to jump, x to dash.
you can change direction mid-dash!
a mod of Celeste by Maddy Thorson and Noel Berry:
https://www.lexaloffle.com/bbs/?tid=2145