Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

In this post I'll try to answer some questions regarding the ❎ and 🅾️ buttons. This is a design decision that came up early when I started making my first PICO-8 game.

I'll consider some well-received PICO-8 games from Nerdy Teachers' 200 Best PICO-8 Games when trying to address these questions. When I do that, I will provide the game's ranking in that list in parethesis, e.g., Celeste (#1).

Glyphs or Letters

  • Question 1: Should I use the ❎ and 🅾️ button glyphs when displaying commands on screen, or should I print letters for the key mappings?

In theory, you should use button glyphs, right? I mean, if you were making a NES game, you would prompt the player to press A or B. You wouldn't try to guess key bindings used by the emulator, even though a NES game released in 2025 has very slim chances of being played on original hardware.

Often, though, reality kicks in. If you upload your game to itch.io, for example, people are playing a browser game. Most may not even know what PICO-8 is or even suspect they need to consider key bindings. They may see "press 🅾️", reach for the O key, nothing happens.

[ Continue Reading.. ]

7
4 comments


Cart #tmd_pico_pong-0 | 2025-07-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

First Game to get back into game developement. Pong recreation.

Controls:
Up: Move paddle up
Down: Move paddle down

0 comments


deleted the cart, as the problem was fixed:)

Hey, this is my first time posting, and my first couple of days with pico-8 (and in game dev world)

The game is super simple, I wanted to create a platformer where you walk and collect the healthy mushrooms (one of them fills 20% of the health bar) to survive the road to the village, and you shouldn't mistake the good ones with the poison red and white dotted ones (one of them fills 40% of the poison bar)

The problem I have is that the player goes from 0 to 100 from a single mushroom (or 99 because of the -0.01), when it should go from 0 to 40, so I can go from 40 to 80 if I took another mushroom.

I just get Game Over after collection the first Poison Mushroom... The healthy mushrooms work fine, only adding 20% like I wanted.

Any help would be appreciated, thank you.

12 comments


Cart #autopong-0 | 2025-07-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Hi! I'm Seb (He/Him), and this is my first solo Pico-8 game published on the BBS!
I work in video game QA, but I was always interested in programming and making my own games.

I recently bought a handheld emulator machine that can run Pico-8, and I immediately uploaded all my old Pico-8 experiments from a time when I didn't know how to code at all. Seeing my work run on a cute handheld made it so much more real and kick-started my passion for learning game dev.

Now I can't stop. :D

Hope you enjoy this silly little idle game about making Pong.
I was mostly an excuse to figure out how to create a simple UI.

3
1 comment


@zep o/ I edited a key in a pod; after pressing Enter to set the new name, everything gets weird:

0.2.0g, linux

0 comments


This is my first picotron cart.
I've made a simple falling stars screensaver/wallpaper.
Stars shatter when they impact the ground or on touch with the mouse cursor.
Stars have random sizes and are drawn using lines.
Please let me know if you encounter any bugs or issues.

Reuploaded because previous one didn't show up in bbs.

Cart #fstars-0 | 2025-07-10 | Embed ▽ | License: CC4-BY-NC-SA
2

2
0 comments


Cart #tboidemake-0 | 2025-07-09 | Code ▽ | Embed ▽ | No License
6

[61x11]

This is the first time trying out pico-8! This is a work in progress of a remake of one of my favourite games, The Binding of Isaac.

[32x8]

[ Continue Reading.. ]

6
1 comment


The Mac executable of Pico8 is not signed and notarized, the OS blocks its execution. I know how to circumvent that protection but I don't think I should, a commercial software product should work without forcing the user to disable the OS's protection mechanism.

Please, sign and notarize the executable, thanks!

1
8 comments


hi guys. i'm kinda begginer develop (like others, lol). right now (or not) i developing my first game to our belowed pico eight. kinda rpg with zelda-like dungeons and unique (or maybe little unique) system of magic where you (yeap, you) combine some elements and you cast this blend in you're unlucky enemies. yeap, exactly like in Magica but to pico eight and from me. so... see you later (or not) guys and good luck with you're projects. and lives.

0 comments


Hi @zep

If the CSS declaration image-rendering: pixelated were added to gif images sitewide* (or at least in the gifs page) the sharp edges would be preserved, rendering these more closely to how they appear in PICO-8, even for 1:1 scale gifs (which would require drastically less file size / allow longer gifs).

A full ruleset targetting just gifs would be:

img[src$='.gif'] {
    image-rendering: pixelated;
}

Of course, for pixel-perfect representation, image sizes would need to be restricted to multiples of 128x128.

I hope you'll consider this change.

Thank you!

*Edit: probably not sitewide as it might have a negative impact on small/preview gifs etc compared to the current render method

0 comments


Hey @zep! Im looking to play the carts made on Voxatron 0.2.10 like Chaos Arena since theyre intresting. but however when i search for Chaos Arena, nothing pops up, could you send the cartridges or post them to the BBS?

0 comments


Cart #nitofapuya-0 | 2025-07-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

HOCKEY PONG

A fast-paced retro-styled hockey/pong hybrid for PICO-8!

🕹️ How to Play

  • Player 1 (Keyboard):

    • Move: Up / Down arrows
    • Select: Z key
  • Player 2 (Gamepad, if connected):

    • Move: D-Pad Up / Down
    • Select: X / O (mapped to buttons 4/5)
  • Score goals by hitting the puck past your opponent!
  • First player to 10 points wins the game.

🎮 Game Modes

  • Single Player: You vs. AI paddle
  • Two Player: Plug in a second controller

📋 Menu Options

  • Start: Begin a match
  • Difficulty: Easy / Medium / Hard
  • Controls: View keyboard/gamepad layout

🏁 After Match

[ Continue Reading.. ]

0 comments


Cart #httpserver-0 | 2025-07-09 | Embed ▽ | License: CC4-BY-NC-SA
7

An HTTP Server in Picotron!

Running the cart will start a demo, hosting a server on localhost:8000. The cart will display the access logs. The site serves a form. Once submitted, the form results will be displayed in the log.

Full instructions on GitHub: https://github.com/Rayquaza01/picotron-http

7
2 comments


Cart #fire_keeper-5 | 2025-07-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

My first cart! Collect fire, avoid ice, and try to survive the cold! Reach 500 points for a secret...

Controls and Rules:

Menu:

↑ ↓ Enable and Disable Music
X Start Game
Z View High Score List

In Game:

↑ ↓ ← → Move Character

How to Play:

Fires increase your score and the time remaining. Lightning gives you a speed boost. Ice spikes will hurt you. If the timer reaches 0 (seconds) or player health reaches 0 the game will end.

Credits:

Music from Shadow Venturing by PlayerTheMaker

Changes:

07-09-2025 v1.0

Initial upload.

07-09-2025 v1.3

Fixed bug where new high score was added twice.

[ Continue Reading.. ]

8
2 comments


Cart #pogpuzupa-0 | 2025-08-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment


Cart #ostest99-0 | 2025-07-09 | Code ▽ | Embed ▽ | No License

0 comments


Cart #print_sprite-4 | 2025-07-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A simple function for inserting sprites in the middle of text on screen.
There's a second version that can also highlight text. I made them different to reduce overhead if you only need the first one.

prtspr() arguments:

txtbl: text table, combo of strings and sprite numbers. Example: {"hello",5,"world"}
x,y: line position
c: text color
spry: adjust sprite y pos (optional argument)

prtspr_2() arguments:

txtbl: text table, combo of strings and sprite numbers. Example: {"hello",5,"world"}
x,y: line position
ctx: text color
chi: highlight color
spry: adjust sprite y pos (optional argument)
cdrp: drop shadow color

[ Continue Reading.. ]

0 comments


Cart #strtab-0 | 2025-07-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hey everyone!

Today I present a few simple functions for managing tables!

strtab()

local t=strtab[[
 dark=false,
 red=lala,
 5=32,
 kiss={
  me,before,you,go
 }
]]

a whitespace agnostic function for converting strings into tables. numbers and booleans are cast into their respective types. this lets you write tables out in a human readable way, making it a powerful tool for data-driven development. note that because it removes all white space, there is currently no way to include strings with white space.

tblcpy()

local t2=tblcpy(t,{
 kiss={
  please=don't
 }
})
result:
{
 dark=false,
 red=lala,
 5=32,
 kiss={
  me,before,you,go,please=don't
 }
}

this function (optionally) deep copies any table, and can optionally take another table as a parameter to overwrite values into it. combined with strtab(), this can form a simple yet powerful entity and inheritance system, which I am using in a current project.

tass()

print(tass(t2))

convert a table into a whitespace-formatted string. great for debugging!

rmchr()

str=rmchr("hyuck","h")
result:
"yuck"

removes a character from a given string. this is primarily a helper function for strtab().


I hope these may be useful for you! happy pico-8'ing! 💖

0 comments


Cart #startoutt-0 | 2025-07-08 | Code ▽ | Embed ▽ | No License
1


hey guys.

i got the pico-8 console three days ago, and this is what I've made in that time!

posting this because I'm trying to make a metroidvania, and I also would like some feedback on the tokens i'm using. i'll take any help I can get because I have zero clue what I'm doing.

listing some things I wanna learn how to do:

  • that room-to-room scroll thing in metroidvanias

  • how to spawn a player on a specific map tile

  • walljumping

i've been studying the resources, but i haven't found anything for these issues. hope you enjoy what i've made regardless!

1
0 comments


Does anyone have the same problem as me?

pausable = false

If you disable pausable then in binary exports the escape key goes to the desktop in fullscreen apps.
Is this an intended behavior? I disable it to create my own pause menu.
I would like that in a final binary, no one could exit to the desktop.

Thanks!

2
2 comments




Top    Load More Posts ->