Log In  

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

Dejitter function

Cart #dejitter-0 | 2026-03-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Hey, I was watching a Lazy Devs Youtube video


about player movement and 'cobblestoning' and realised that I had a function that fixed the problem:

function dejitter(x,y,vx,vy)
 local ix,iy=flr(x),flr(y)
 local rx,ry=x-ix,y-iy

 local neg_x = vx<0
 local neg_y = vy<0
 if(neg_x) vx=-vx; rx=1-rx
 if(neg_y) vy=-vy; ry=1-ry

 local flip_xy = vx>vy
 if flip_xy then 
  rx,ry=ry,rx
  vx,vy=vy,vx
 end 

 local cond = rx*vy-ry*vx < 0
 local dx=cond and -1 or 0
 local dy=0

 if(flip_xy)dx,dy=dy,dx
 if(neg_x) dx=-dx
 if(neg_y) dy=-dy

 return ix+dx,iy+dy
end

Now where you write spr(s,x,y) you write instead sx,sy=dejitter(x,y,vx,vy); spr(s,sx,sy) where vx,vy is the velocity of your object.

Notes

  • The function returns a pair of integers which can be flr(x),flr(y) or one of its 4 immediate neighbours.
  • The main property is that as an object travels along a straight line in the direction (vx,vy), the path traced by the dejittering function will be a pixel perfect line.
  • Using this requires no extra state beyond the position and velocity, no extra logic beyond the function call, and no change to the game state.
  • I originally wrote this function as part of a curve plotting function (Beziers etc.)
2
0 comments


Hello,

I’m a long-time retro programming enthusiast currently studying how memory works in PICO-8.

While exploring the Celeste Classic source code I ran into the sprite/map memory overlap (sprites 128–255 sharing space with the extended map), and it quickly became clear that this is one of the most powerful — but least clearly explained — parts of the platform. (pic. included)

There are bits and pieces of information scattered across forums and documentation, but I haven’t been able to find a single deep explanation that covers:

• The exact sprite/map shared memory region
• How map rows 32–63 appear as sprite pixels
• Using sprite pixels as data storage
• How games like Celeste Classic organize rooms in the map
• Advanced tricks developers use to exploit this memory layout

It seems like this topic would make an incredible deep-dive tutorial, especially for developers trying to push the limits of PICO-8.

[ Continue Reading.. ]

3
3 comments


Cart #bob_the_diver-1 | 2026-03-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

A little puzzle game I'm working on. Version 1.5

It's inspired by "Kirby's Star Stacker" from the original Gameboy.

I'm playtesting and polishing. I want to add music in the future. Pls give me Feedback :-)

Changelog:

1.5 - added more juice: beach, ui, music, hard drop, more sfx
1.0 - added juice: water animation, scuba diver, gfx and ui work
0.3 - rearranged ui and added sfx
0.2 - added level-system
0.1 - first release

9
1 comment


Cart #nick_catch_n_slide-1 | 2026-03-14 | Code ▽ | Embed ▽ | No License
14

Hello, everyone!
This my first complete game ever. Hope y'all like it!

You control a little cup that wants to get all the fruits that are falling from the sky. They're making a mess on the ground and you'll probably slide on them. The time is ticking! Be careful, as someone is also sending dangerous bombs in your way.
Sometimes, the Fruit Gods shall decide that a specific fruit is bad, and you shouldn't get those.

There are two modes of playing:

  • In normal mode, every time you get a fruit you get some extra seconds on the timer, but every time you get a bomb or a bad fruit, time gets deducted.
  • In hearts mode, you don't lose time by making mistakes, but you lose hearts. You only have three hearts to lose, but sometimes a Fruit God may have mercy on your soul and give you the chance to get a new one.

Music and graphics by me, using fruit images from Unsplash.
Credits to NerdyTeachers for their fruit drop tutorial, and to Joeb Rogers for the pico-tween easing functions.

Changelog:

  • Made it clearer that bombs are dangerous.
14
4 comments


Cart #fofihhip-0 | 2026-03-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Controls

You move with the directional keys. Projectile is shot with O (auto aim). Character ability is executed with X

Progression/Gameplay loop

You spawn in the starting biome and kill enemies to level up. The farther out you walk (in any direction from the spawn) you will encounter new biomes and increasingly stronger enemies. Each 5 levels you will get a significant increase to attack damage, while hp and movement/attack speed increases per level.
Max level is 20. Rogue ability cooldown/duration gets better per level. Mage ability targets 1 more enemy per 2 levels and more damage per 5 levels.

Development

This project was created through an iterative, experimental workflow using an AI coding assistant as a tool for prototyping and implementation.
All gameplay design, art, and music were created by me, with the assistant helping translate ideas into code step by step.
The game evolved from a single procedural prototype into a more complete experience through continuous refinement and expansion.

(Translation: This wasn't made in a single prompt. It took over a week, I had to learn and understand some coding, and all the art and music were made by me.)

Future plans

I might come back and add gear drop if I can figure out some optimization for space. happy with the bullethell roguelike almost rpg adventure action game

Outro

I hope you enjoy the game and have fun playing it!

14
4 comments


Cart #dvdfirstproject-1 | 2026-03-13 | Code ▽ | Embed ▽ | No License
8


So, this was may first project on pico-8 and i really liked it, i hope you will like this "game", even if it's not really a game and it's preaty bad

8
3 comments


Cart #pinggame-2 | 2026-03-20 | Code ▽ | Embed ▽ | No License
8


Hi, this is my first post. I have had Pico-8 for 2 days and this is what I made with the help of the amazing world of the internet! This is a WIP version, so please give me all the feedback you can muster! Thank you and happy pinging!

Bugfix #1 : per @FrayedBlade 's comment, this issue should be fix (atleast I haven't found it anymore, please report it if you do!)

Bugfix #2 v1.2 : Added sounds and music (currently no way to turn it off :P) Also added manipulating the balls vertical speed / direction after contact with the player paddle, if you are holding up or down at the moment the ball hits, you alter it's vertical speed. i.e. if I am holding up and the ball is coming from the top, it will slow it's vertical speed. (Hope that makes sense, basically like it adds spin to the ball)

[ Continue Reading.. ]

8
4 comments


Cart #rgb_testing-0 | 2026-03-13 | Code ▽ | Embed ▽ | No License
6

just a little test for now!!
pretty happy with the code and results! ^_^
some kinks to work out and features i'd like to add, but hope y'all have fun with this!!
let me know if you have any comments or questions!!

❎ to switch mode
⬆️⬇️ to change brush size
⬅️➡️ to change color
(order is R, G, Y, B, M, C, W)

6
1 comment


Cart #hexax-1 | 2026-03-13 | Code ▽ | Embed ▽ | No License
9

This is HexaX, one of my games created with AI assisted coding, ported to pico8 by Claude Code. It's a very fun game. Hope you enjoy!

Play the 'original' version here: https://hexax.ai-created.com/

9
1 comment


Cart #hexmine-1 | 2026-03-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

8
5 comments


Cart #goodminton-0 | 2026-03-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Just recently finished a game dev class, and this was my submission to the final project. I definitely put more effort into it than I probably should have, but the game itself is actually quite addictive. Hope you enjoy!

And sorry that it doesn't look all that good; I'm still getting used to making art in PICO-8.

2
0 comments


Cart #you_can_only_shoot_sideways-1 | 2026-03-14 | Code ▽ | Embed ▽ | No License
5


You Can Only Shoot Sideways is a pure action game where you battle against endless waves of enemies that spawn from the edges of the screen. Each of the 20 levels must be completed by surviving until a boss appears and then defeating the boss. There's also an endless mode that spawns waves of random enemies for as long as you can survive.

The game is also on itch.io here.

5
5 comments


Cart #duperasida-0 | 2026-03-12 | Embed ▽ | No License


when running the attached program, it sometimes crashes picotron. It seems that if I open picotron back up, load the cart, and run it, it works fine. But if I then edit a variable such as spread the cart crashes picotron upon running.

Edit:
It now crashes all the time 🙃

0 comments


Cart #kbo_nescovers_cv3ng2-0 | 2026-03-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

A couple NES game music covers.

The first is "Demon Seed" from Konami's Castlevania III.

The second is "World Enslaved" from Tecmo's Ninja Gaiden II.

5
0 comments


Cart #ibsrunner-0 | 2026-03-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

IBS Runner

Parkour with IBS!

A procedurally generated rooftop parkour game with an... explosive twist. You burst out of a porta-potty and sprint across city rooftops. Miss a landing and you plummet to your doom. But when the gaps get too wide, hit that boost button -- brown and orange flames shoot from your butt as you rocket across the skyline. Your character's strained face says it all.

Features
• Procedurally generated cityscape -- every run is different
• IBS Boost -- activate while airborne for extra thrust (with flame particles!)
• Somersault landings -- every touchdown triggers a forward tuck-and-roll

[ Continue Reading.. ]

2
0 comments


Cart #maskedgate_0_24-0 | 2026-03-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Cart #maskedgate_0_23-0 | 2026-03-12 | Code ▽ | Embed ▽ | No License
3

Work in progress. Still needs work, upload only for testing.

3
2 comments


Cart #kinrummy-0 | 2026-03-12 | Code ▽ | Embed ▽ | No License
10

Kin Rummy is a points based card game with two distinct game mode:

  • 500 - The first player to 500 points wins
  • Exhaust - Once the draw pile runs out, the player with the most points wins

Tutorial

The in-game tutorial can be accessed from the title screen by selecting TUTORIAL and is an interactive way to learn many of the game mechanics explained below.

Starting a Game

To begin, select START from the Title Screen:

Then you must select a Family and Game Mode:

Your family is a key part of Kin Rummy experience, and so each Family has a unique deck and Family color.

[ Continue Reading.. ]

10
5 comments


Cart #phdadventure-0 | 2026-03-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
13


Hi everyone! I am currently a third-year PhD student. My research topic is so niche that finding a thesis jury has become a real-life quest, so I decided to process that stress by making my very first PICO-8 game about it.

A fair warning: Much like the real PhD process, this is a game about the struggle, not the victory. It is a short, satirical RPG-style adventure where you explore a world that doesn't quite have room for your niche research. Can you find a single person to join your jury, or is the academic void too vast?

Controls
Arrows: Move and interact
X: Advance Dialogue
O: Toggle Music (Off by default)

This is my very first finished project! I’m still learning, so the music is a work in progress. If you have any tips on composition or general PICO-8 logic (especially regarding the music or SFX), I’d love to hear them!

13
3 comments


Cart #tetro_domain-2 | 2026-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15

The King is dead! With no obvious heir, the King's once-loyal commanders immediately start squabbling for control over the rich royal lands and, ultimately, the kingdom. Two contenders have emerged: you, controlling the blue faction, and your rival, controlling the pink faction. Your sages assure you that, having seized the initiative, you are sure to emerge victorious with careful strategy.


Tetro Domain is a minimalist strategy game. You and your opponent take turns claiming territories within the royal lands. On each turn you may claim a vacant territory adjacent to either the central castle or to a territory you have already claimed. Any territory completely enclosed by your claimed territories is also immediately claimed for you.

Some territories contain mines with a value ranging from 1 to 3. The game ends once one player controls a majority of the total value of the mines; that player is declared the winner. (Controlling the wealth of the mines ensures that their ultimate bid for the whole kingdom will be successful.)

The rules are explained in full in a short set of in-game "how to play" screens.

General controls:

  • 🅾️ to confirm; ❎ to cancel
  • on the game map, 🅾️ to claim a territory; ❎ to summon in-game menu

From a design/mathematical perspective, Tetro Domain is built around the idea of the strategy-stealing argument. This argument proves that the first player has a winning strategy, but it does so nonconstructively: it does not provide any indication of what that winning strategy might be.


Update (v2, 3/19/2026): Fixed a small bug where returning to the main menu after viewing the story blurb was erroneously resetting the title music

15
5 comments


Cart #beatmachine-0 | 2026-03-12 | Code ▽ | Embed ▽ | No License

Here's a little drum sequencer. 8 independent channels/voices. Each channel can have an unique length, can be muted/unmuted, and can play forward or in pingpong mode, providing lots of poly-rhythm possibilities and performability. The whole sequence can be paused/restarted. There is currently no save feature. I didn't spend very long creating the sounds. Perhaps someone can make better sounds and reuse this.

There is a fair bit of jitter, inconsistency in how the beats are triggered. Everything I have found suggests this might be due to a limitation in the way Pico-8 generates timers based on fps. Does anyone have any suggestions to smooth this out? I'm at a loss with that problem.

[ Continue Reading.. ]

0 comments




Top    Load More Posts ->