Log In  

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

Cart #easy_chords-0 | 2026-11-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

I made a function that can turn the custom instruments into single-channel chords.

Sure, you can just use the arpeggio effects, but this code gives you fuller-sounding chords, and it allows you to put multiple chords in the same four-note group, so you can play syncopated chords!

function set_chords(wave,start,bass,filter,...)
	local harmonics={...}
	local addr=0x3200+68*start
	for i in all(harmonics) do
		for j in all(i) do
			 for k=0,63 do
			 	poke(addr+k,peek(addr+k)+wave(k/64*j)*127/#i)
			 end
		end
		poke(addr+66,128)
		poke(addr+65,bass and 1 or 0)
		if (filter) poke(addr+64,filter)
		addr+=68
	end
end

[ Continue Reading.. ]

5
2 comments


A basic color changing pong demo

(260 chars)

::➡️::
bx=60by=60bw=8bh=8ba=1bb=2
py=0s=127k=0
r=rectfill::😐::cls(k)bx+=ba
by+=bb
k=time()\6
color(k-5)
r(bx,by,bx+8,by+8)r(0,py,8,py+64)py=py+1/8*(by-py-34)if bx+8>s or bx<7 then ba*=-1end
if by+8>126 or by<0then bb*=-1end
if bx+8<0then goto ➡️ end flip()goto 😐

1
0 comments


The first exhibition of PICO-8 postcarts is happening at Pico Pico Cafe in Tokyo later this month! Each postcart is displayed as a physical 15x15cm card with the author, title and source code (<= 300 chars of PICO-8 code) on the back. A card reading machine hooked up to a crt tv can be used by guests to view the postcarts in their animated form.

We already have over 100 postcarts lined up for the exhibition, including some vintage tweetcarts and rare unposted postcarts. But the more the merrier! If you would like to show something, just check the permission box when submitting it BEFORE THE 15TH OF NOVEMBER, although we can probably include some stragglers before the opening on the 20th. I'm also happy to accept URLs via email (e.g. to old tweetcarts or personal webpages where src is visible) if you prefer: hey at lexaloffle dot come with "postcart" somewhere in the subject field.

[ Continue Reading.. ]

14
0 comments


Cart #boot_it-0 | 2026-11-09 | Code ▽ | Embed ▽ | No License
5

tap UP repeatedly to keep the ball in the air -- tapping too quickly or slowly will send the ball out of bounds

watch out for the enemy team! how far can you BOOT IT?


this is my first game on pico-8!

shoutouts to dylan bennett for the tutorial zine and animation demo!!

5
4 comments


This function replaces an sfx slot in a given music/pattern. Useful for dynamically changing music, making drum machines etc.

This function will also turn the channel "on" for you.

function replace_music_channel(music_id,sfx_id,channel_id)
	target_channel_offset=channel_id
	pattern_addr=0x3100+music_id*4
	goal_addr=pattern_addr+target_channel_offset
	poke(goal_addr,sfx_id)
end

Call it with a pattern id(0-63), an sfx slot(0-63) and the channel id to change (0-3).

3
0 comments


im not announcing a release date but i can confirm that its gonna be a lil toolkit that* i will (hopefully) use but im not gonna confirm anything yet, i will announce updates over time and dont be suprised if i end up canceling the project and releasing early src... i have a tendancy to do that when i announce a project and realise how much i put on the projects goals, currently my goal is to just make pico-8 code editing a tad bit easyer

-- upd1 - fixed a typo

0 comments


Andy's Arcade Presents
CROSS ROADS MAZE RUNNER.
Controls:

Cart #deduwenera-0 | 2026-11-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

PLR1: Controller or

keyboard Arrow keys to move and "N" to fire. "M" for menu

PLR2: Controller or

keyboard "E" , "S" , "D" , "F" to move and "TAB" to fire. "Q" for menu

While in players menu: press up and down to view options

and press right to purchase.

Press "Enter" to pause the game.

Aim of the game:

Navigate your way around 16 mazes filled with 9 different creatures each with its own skills to take you out.

Armed with a pistol with recyclable bullets, you start your quest in a labyrinth with unfriendly monsters. As you shoot and blow apart each foul creature many colored pixels fly everywhere. As you pickup these particles, they become useful in crafting a range of tools. At the end of each round you get a chance to do damage to the maze by calling in an air strike. Once all mazes have been neutralized you will have completed your quest.

This game idea came from memories of playing the C64 game Cross Roads and Cross Roads 2. Pico 8 seemed like a good platform to make a similar game. Enjoy.

This game is not complete.

Other Tittles from Andy's Arcade.

https://andy67.itch.io/space-invaders-co-op

https://andy67.itch.io/elevator-action-pico-8

https://andy67.itch.io/hexplore

https://andy67.itch.io/marble-effect

https://andy67.itch.io/supermarket-skid-masters

0 comments


Cart #cozyghostgames-0 | 2026-11-06 | Code ▽ | Embed ▽ | No License
3

This pico-8 demo features the main combat loop. Progression loops, RPG-esque elements and meta game content is planned but not in this demo. This is just all action baby! All content is work-in-progress and not final. Select single or 2-player mode. Should work with most game pads, though the button mapping between controllers is anyone's guess. On keyboard the basic attack is X and the super spell, once acquired is Z. Movement is the up and down arrow keys.

3
0 comments


Cart #pondsim-0 | 2026-11-06 | Code ▽ | Embed ▽ | No License
3

This is a project I made a few months ago. Original post (from reddit) below:

'Inspired by the pico 8 game I found on the 'splore page 'tad' and dedicated to my partner as a birthday gift, I made this little pond simulation!

Pond Sim is a basic simulation of a pond ecosystem, with algae, small herbivore fish which eat the algae and large fish which eat the smaller fish.

Poke around here!'

3
1 comment


Cart #flocksim-0 | 2026-11-06 | Code ▽ | Embed ▽ | No License
12

This is FlockSim, a tiny simulation of a flock for inside your computer.

The flock is simulated using a boids algorithm. The various meadow effects are mostly variations of combining and subtracting different sine waves. There is even a little doggy! They wander around and chase after sheep occasionally, but will also go where you click!

Enjoy!
Feedback welcome.

12
2 comments


Cart #manbomber_plus-3 | 2026-10-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


Intro and Credits

This game is an extension of the original work made by Fresh-D and maaax published under MIT license on Github.

The main difference of this version is that you can play agains CPU to a max of 4 players.

To make space to the added logic the game became a multicart, and with the increased space I included some extras like the items description.

How to Play

This is an homage to a classic arcade game where the goal is to drop bombs and eliminate the other players.

[ Continue Reading.. ]

1
0 comments


Cart #reriwihare-0 | 2026-11-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

It’s just a small game with no real meaning. Break stones, upgrade the drill, blow things up, and melt things with a laser. But keep an eye on the fuel and money so you don’t end up in a dead‑end situation.

Controls:

Arow keys — Move,
X — Menu,
Z — Use tool (tap for dynamite, hold for laser).

Have fun digging!

6
2 comments


I'm a software dev. Like anyone else in the field, AI has changed my job very quickly. I was looking for something to goof off with on the side so I could exercise my coding muscles and I stumbled on pico-8. This is my first attempt. I'm not really familiar with lua but I'm excited to learn all the tips/tricks/optimizations. Give it a play if you want. Feedback/suggestions greatly appreciated. Happy hacking.

Cart #finoyumewe-2 | 2026-11-06 | Code ▽ | Embed ▽ | No License
5

5
0 comments


for i=1,16do for i=24576+rnd(4),32767,rnd(4)do poke(i,@i>>1&113)end flip()end

Use like this:

if btnp(X) then
 for i=1,16do for i=24576+rnd(4),32767,rnd(4)do poke(i,@i>>1&113)end flip()end --fade stops entirey program
 next_level()
end

Preview:

About:
takes each byte from screen memory and performs (byte>>1)&0b1110001 to lower the colors, inspired by:https://www.lexaloffle.com/bbs/?pid=197936#p

3
2 comments


Cart #cozinhaassombrada-1 | 2026-11-05 | Code ▽ | Embed ▽ | No License
7

7
9 comments


Cart #chaotic_fish_pong-0 | 2026-11-05 | Code ▽ | Embed ▽ | No License
3

Created for the Desert Bus for Hope 2026 game jam

This is my first real project in PICO-8! I would have liked to have done more, such as more particles and having some music, but I was quite invested in just watching Desert Bus for Hope. Maybe I'll learn more about those things for PICO-8 in a future game.

There were four themes for this jam, each given by one of the four shifts: Pong, Chaos, Fish, and Posthumous.

Theme Explanations:

Pong - You bounce bubbles to defeat the mutant Freshies

Chaos - There is a lot happening on the screen

Fish - You play as a fish.

Posthumous - Freshy has died but more Freshies have come to attack

[ Continue Reading.. ]

3
0 comments


Cart #ctdpr1-1 | 2026-11-04 | Code ▽ | Embed ▽ | No License
1

1
0 comments


Cart #hihugonosi-0 | 2026-11-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Go alone or grab your buddy and jump on a bike in this western themed 2 player action extravaganza, compete to get a high score, ram each other, steal sidecars, shoot the enemies, chase down the brain train.

instructions:

.fill the power gauge by shooting enemies

. once the gauge is full a sidecar will appear from the top

. ride onto the side car to gain extra fire power or shoot to cancel bullets

X=fire

O=launch sidecar

start menu to erase highscore / pvp tally

9
6 comments




Usage

This should be used to learn how the video memory works at the low level.

What this function does

It gives you a higher level wrapper for PICO-8s 4-bit framebuffer (0x6000-0x7fff) (lower 4-bits: left pixel, upper 4-bits: right pixel), and does some bitwise math and multiplication to put a single pixel on screen.

setp is recommended because it's the officially documented way writing single pixels directly.

Code Snippet

NOTE: This function should be only used sparingly, it's expensive to use and not fully optimized (e.g. batching and minimizing the code to only required calculations) (using it heavily can cause severe lag).

function putpixel(x,y,col)
	-- floor x & y to stop rounding errors in pixel position calculations
	x, y = flr(x), flr(y)

	-- prevent pixel from wrapping around the screen horizontally 
	if x > 127 or x < 0 then return end

	-- get 1 dimensional bit offset, multiplying y by the screen width to iterate by line
	local pixel_pos = x + (y*128)

	-- divide the pixel position in half to fit into the 4-bit offset to a 2 pixel pair in memory
	local offset = 0x6000 + pixel_pos\2

	-- do not draw pixels if they are outside the framebuffer
	if offset < 0x6000 or offset > 0x7fff then
		return
	end

	-- get the 2 pixel pair of colors we are writing to
	local pixel  = peek(offset)

	-- get which nybble (4-bit) offset the color resides on
	local nybble_shift = (pixel_pos&1) * 4

	-- mask and set the pixel color from `nybble_shift` offset
	pixel &= ~(0x0f << nybble_shift)
	pixel |= col << nybble_shift

	-- write pixel to framebuffer
	poke(offset, pixel)
end

Example Cartridge

This example shows how the putpixel function only overrides pixels at their specified positions without completely removing other unrelated pixels from the screen.

[ Continue Reading.. ]

2 comments




Top    Load More Posts ->