Log In  

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

Hi everyone,

This is my first post here—a bit of a "love letter" to PICO-8 and Picotron.

First of all, I want to say a huge thank you to @zep. I truly admire both the console and the workstation; they are such a pleasure to work with. However, the most important component is the community. This group's friendliness, coziness, and openness fuel so much interest and creativity.

I am constantly amazed by what people achieve within such limited environments. There are countless examples of PICO-8 projects that "shouldn't" be possible, yet they thrive through sheer creative thinking. Inspired by all of you, I’ve finally found the courage to start contributing back with my own projects, tools, and games.

Teaching with PICO-8

For the past year, I’ve been teaching programming to kids at a weekend school using PICO-8 as our primary platform. We’ve leaned heavily on the incredible tutorials by @Krystman, @NerdyTeachers, @MBoffin, @2darray, @Gruber, and many many others.

[ Continue Reading.. ]

3
1 comment


Cart #homibekdi-0 | 2026-05-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

It's a game where you tap your friend's cat on the butt. :)

2
2 comments


Cart #boyakgazo-4 | 2026-05-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

5
2 comments


Cart #hesifupuf-1 | 2026-05-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

My first game ever.

You are robot No.21047. Traps kill you. Your corpse stays behind.
The more you die, the clearer the map becomes.

Controls:

Arrow keys: move (walk by default)
X (hold): run
Z: jump

It's very short game.

5
3 comments


function _init()
state="start"
putbacks={}
setup_game()

p={}
p.x=64
p.y=64
p.sp=1
p.atk_sp=3
p.is_attacking=false
p.atk_timer=0
p.atk_duration=10
end

function _update()
--thinking/logic/math--
if state=="play" then
move_player()
elseif state=="start" then
if btnp(❎) then
state="play"
end
elseif state=="win" then
if btnp(❎) then
setup_game()
state="start"
animate_walk()
start_attack()
end
end
end

function _draw()
--visuals--
cls()
local s=p.sp
if (p.is_attacking) s=p.atk_sp

if state=="play" then
map()
aniplr()
pickups()
draw_ui()
elseif state=="start" then
print("press ❎ to start",30,60)
elseif state=="win" then
print("your journey has come to end. now rest.",30,60)
end
---print(py)
end

function setup_game()
--sets up stuff
px=63
py=63
pf=1--player frame
flp=false --player flip
goal=1 --how many articats
init_ui()

for t in all(putbacks) do
mget(t.x,t.y,33)
end

table={x=10,y=23},{x=2,y=3},{}

putbacks={}
end


--animation--

function aniplr()
--animate stuff
if pf>2.95 then
pf=1
else
pf+=.05
end

spr(pf,px,py,1,1,flp)
camera(px-63,py-63)

if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=3
end
end


--pickups--

function pickups()

local ptx=(px+4)/8
local pty=(py+4)/8

spover=mget(ptx,pty)

if spover==30 then
mset(ptx,pty,17)

add(putbacks,{ptx,pty})

points+=1
if points>=goal then
state="win"
end
end
end


--points/ui--

function init_ui()
points=0
end

function draw_ui()
print("treasure: "..points,10,10,7)
color(10)
end


--player movement--

function move_player()

local lx=px
local ly=py

if btn(⬅️) then
px-=1
flp=false
elseif btn(➡️) then
px+=1
flp=true
elseif btn(⬆️) then
py-=1
elseif btn(⬇️) then
py+=1
end

local ptx=(px+4)/8
local pty=(py+4)/8

--is the player over a tile
--that has flag 0?

if fget(mget(ptx,pty),0)==true then
px=lx
py=ly
end

if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=0
end

if p.is_attacking then
p.atk_timer +=.25
if p.atk_timer >=p.atk_duration then
p.is_attacking=false
end
else
if (btn(0)) p.x -=1
if (btn(1)) p.x +=1
end
end


--attack systems

function start_attack()

player = {
x = 64,
y = 64,
atking = false,
atk_timer = 0
}

if btnp(4) and not player.atking then
player.atking = true
player.atk_timer = 10 -- attack lasts for 10 frames
end

-- handle attack timer logic
if player.atking then
player.atk_timer -= 3
if player.atk_timer <= 0 then
player.atking = false
end
else
-- move code goes here so player stops during attack
update_movement()
end

end

2 comments


Cart #ruhotenoro-0 | 2026-05-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
0 comments




Cart #goob_race-3 | 2026-07-05 | Embed ▽ | License: CC4-BY-NC-SA
21

Goob Race!

Goob Race is a silly little racing/betting game I made as a gift for WhiskeyDing0 ♥
Choose your favorite Goob and good luck!

Notes:

  • The song is 'Accumula Town' from Pokémon Black & White
  • Goob is the mascot of the streamer WhiskeyDing0. Check out his channel!

UPDATES:
1.1

  • Added a changelog panel
  • Added a statistics panel
  • Tweaked sprites and colors
21
10 comments




First try with Pico-8.

Cart #puissance4-1 | 2026-05-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


I am unable to get Picotron to respond to my Ctrl keys. I am unable to cut or paste.

I am using a Lenovo ThinkPad T14s with Mint Linux. I have the same issue with Pico-8. Ctrl keys work fine on all other software.

Is there a way to check/modify the keymapping in either?

Any help is greatly appreciated, thank you!

5 comments


Cart #timewaster-0 | 2026-05-06 | Code ▽ | Embed ▽ | No License

first game

arrow keys for movement

0 comments


Cart #puzzlepuppiesv1-2 | 2026-06-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

Puzzle Puppies: match three, save the pups, repeat!

Watch the trailer here: https://youtu.be/JlAXqltkjnU

From DeusTex comes Puzzle Puppies: a chill little matching game with a serious strategic streak and pixel art that'll make you say "aww!"

Here's how it works: Tap a dog on the board, it hops into your tray. Get three of the same breed together (Corgis, Chihuahuas, Huskies, plain old Mutts... There's a whole pack of 'em) and they clear off for points. Catch is, your tray only fits 7 dogs at a time. Fill it up without making a match and... yeah. Game over.

The levels are all hand-built and don't let the cuteness fool you. The game gets surprisingly complex around level 11. Some of what you'll run into:

[ Continue Reading.. ]

10
5 comments


Cart #dasogakotu-0 | 2026-05-06 | Code ▽ | Embed ▽ | No License
3

3
0 comments


Cart #space_tugger-0 | 2026-05-06 | Embed ▽ | License: CC4-BY-NC-SA
1

A silly little game about piloting a tugboat in space. Get the cargo to the red circle and drop it off to win!

1
0 comments


Cart #roulette-0 | 2026-05-06 | Code ▽ | Embed ▽ | No License
10

Simple Roulette table for fun.

Pick up Chips and place them on the table. More Chips can be added and they can be stacked on top of each other. Hovering over sections of the table reveals the name of the bet to be placed and the payout odds. Place your bets carefully because you can't pick up a chip once it's placed. When you are happy with your bets spin the wheel and sit back. Winnings PLUS the stake are added to your chips and the next round begins.
The number of plays are displayed at the top left and when you are out of money this will reset to zero so you can see how long you can last before going broke.

Controls

Usual Keys/Controls are used. Prompts are displayed on screen.

[ Continue Reading.. ]

10
5 comments


Cart #coin_drop-0 | 2026-05-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


My first game upload

How to play

Move left and right to catch the coins as they inclemently drop faster. See if you can make it to 100. Catch the rainbow hearts to earn your lives back.

Sample game play

2
0 comments


Cart #hrbijob-0 | 2026-05-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


Rogue Loop is a looping arcade roguelite platformer where every stage wraps around from left to right and top to bottom. Each run builds a new world from handcrafted rooms filled with enemies, upgrades, hazards, locked doors, and boss fights.

Choose a character, explore the looping map, defeat every enemy to earn the key, then unlock the door and reach the exit flag to advance. Powerups can strengthen your weapon, change your movement, or alter how you fall, but you can only hold 10 at a time.

Every three levels, the Quadropus boss appears, and the world becomes more dangerous as you progress. Clear level 9 to beat the loop.

Characters

Each character starts with different health, weapon stats, speed, and jump feel.

[ Continue Reading.. ]

6
4 comments


Cart #mushrogue0524-0 | 2026-05-24 | Code ▽ | Embed ▽ | No License
3


===Update 05/24/26===
Significant updates this time! We now have:

  • Functioning main menu/level music
  • 2 types of enemies (blobs and ghosts)
  • basic pathfinding AI for enemy mobs
  • a death/game over state that sends the player back to the main menu

I'm hoping to soon be able to work more on level design. As I'm following along with LazyDevs' tutorial, I am looking forward to learning how to use procedural generation! More to come soon!!

=====atr8des=====

Cart #mushrogue0517_v2-0 | 2026-05-17 | Code ▽ | Embed ▽ | No License
3

[ Continue Reading.. ]

3
2 comments


The summer Pico-8 arcade residency is coming up! The selected game will be featured on our custom 2P Pico-8 arcade cabinet from June 1 - September 1. Deadline to apply is May 24th at 11:59pm.

Send your game here:
https://www.wonderville.nyc/pico8-cabinet-application

Pictured above: TAD by Doriancey (Spring '26 resident)
https://doriencey.itch.io/tad

See a list of previous residencies here:
https://wondervilleprojects.org/programs/residencies

3
0 comments




Top    Load More Posts ->