Hi friends,
My next project is likely going to need to rotate sprites, so I've been looking at the various methods posted on the bbs. Something I'm wondering about while I've been looking at everyone's examples is, how does one approach collision detection for when a sprite is rotated?
I'm currently capable of AABB and bitmasking per row of pixels, but it seems I'm going to have to write some new methods to integrate either of these into a rotation algorithm, and I'm not sure where to start. I'd appreciate any links to any carts or non-p8 articles or anything, really!
CPU is also a concern for me, as I think I'm going to need a lot of it dedicated to drawing the backgrounds I need which would be rendered via something like spellcaster's rle library.
Thanks in advance! :)





Recently, I completed make a game which made by pico-8. And released!
But since then, there has been no reaction from overseas people.
I've been trying my best to translate English, but I'm sad that perhaps English player no one plays.
Is there anything wrong?
I would be happy if you could get any comments.
"Dungeon Witches" is a tiny 8bit Rogue-lite RPG of the cute girls with magic of the "Home".
https://1oogames.itch.io/dungeon-witches
Trial Beta (Free, html5)
http://doc1oo.lsv.jp/app/homes_witches_shibuya2020/
*Note that my cartridge capacity is too large to add to the cartverse...
Thanks!






I'm having a problem scrolling a repeating tile. Here's how I setup my tiles:
for i=1,500 do add(bgtiles,{ alive=false, x=0, y=0, vel=0.52 }) end local y=-8 for i=1,17 do bg_spawn(0,y) y+=8 end function bg_spawn(x,y) for _,t in pairs(bgtiles) do if not t.alive then t.alive=true t.x=x t.y=y return end end end |
And here's how I update:
for _,t in pairs(bgtiles) do if t.alive then t.y+=t.vel if(t.y>128) t.y=-8 end end |
But during the scroll I get this:

Here's the tile:

It doesn't matter if vel is an int or a float, I still get the misalignment. I'm guessing this is a common noob mistake! Can anyone help?


I saw this mentioned on Discord, so I tested it, and found it to be true. I can't think of a reason for it to be this way, so I figured it should be written up as a bug.
This code:
local c=x+y |
is faster than this code:
local c=0 |
Here's a dead-simple test cart. Hold a button down to switch from running the first assignment per pixel to running the second. I get stat(1) = 0.7709 for c=x+y and 0.8296 for c=0, when at best they ought to be at least identical.





This is a pico-8 implementation of the trading system from Elite. This allows you to travel the galaxy and buy/sell goods.
Navigation between screens is done using the pause menu. If you can jump to a new planet a prompt will be displayed. Currently this is restricted to a single galaxy.

Intro screen - the option to load a previous game only shows if you have a previous save. Games are saved automatically when docking in a new station.

Commander status - shows all information about the current game, including cash, fuel, inventory and equipment.




Trying to use shifts instead of multiplication, I noticed an odd thing:
work_ram = 0x4300 printh(work_ram + 2*32) -- result: 17216 printh(work_ram + 2<<5) -- result: 24640 + has higher precedence than shift, is this correct? printh(work_ram + (2<<5))-- result: 17216 printh(work_ram | 2*32) -- result: 17216 printh(work_ram | 2<<5) -- result: 17216 printh(work_ram | (2<<5))-- result: 17216 |
pico-8 version: pico-8_0.2.1b_windows
Am I missing something and this is an intended behavior or there's an operator precedence inconsistency?



Humble beginnings!
This isn't much more than my own naive implementation for sprite-animation. The little cat can walk (looping animation), look up, lie down (transitional animation), and meow(non-interuptable animation). The current sprite is displayed in a box at the bottom left, together with some variables.
It may be bad and basic but I'm still a BIT proud of it.
I'll prolly expand this into an actual game at some point, would be a shame to let the cat sprites go to waste, nyohohee~
![]() |
[0x0] |




Something I stumbled across when looking for a way to compress an End-of-Game image for Impulse. Low on tokens (but heavily recursive, don't know if that's an issue for Pico8). May suit you more than anything RLE based if you're working with dithering-heavy images.
Press X to cycle pictures. The reported size is a bit misleading as it doesn't include the fixed-length "left" and "right" strings.
Images are:
- A messily converted picture of Bananaman
- An image from Bladerunner (by far the worst compressed, and anything more fancy than simple ordered dithering made it worse)
- The Utah teapot
- Wizball (was interested to see what it made of the C64's 2x1 pixels)
Hello lovely PICO-8 people!
I'm getting started with PICO-8 and am having trouble running my game outside of the PICO-8 editor. Can anyone help?
If I open the game in splore, it causes PICO-8 to freeze. If I export the html and js files and run the HTML in Safari or Chrome, it gets stuck on "booting cartridge". Yet the .p8 file runs in the PICO-8 editor with no problem. I'm using the standard _init() / _update() / _draw() game loop.
I'm using:
- PICO-8 v0.2.1
- Atom to script
- MacOS Mojave
- Safari and Chrome
Game code: https://github.com/andrewhick/pandora/blob/main/pandora.p8
Game is hosted here: https://www.andrewhick.com/games/
I'd appreciate any help, one of my main reasons for choosing PICO-8 was its ability to share games easily on the web so I'm sad to be stuck at this stage!




Available at itch.io https://spoike.itch.io/rymdhulken
Releasing my first PICO-8 game, a little tactical rogue like with some aliens. I've started to run low on tokens and am taking a little break from tinkering with it to get some feedback.
The game is inspired by a bunch of games (like Space Hulk, Cannon Fodder and XCOM). It is largely based on Space Marines by Adam Alexander who made it for 7DRL 2020. Many thanks to the Roguelike tutorial Youtube series by LazyDevs that guided me into writing this game.



PicoBus
CrazyBus for the PICO-8!

This is an extremely faithful port/clone of CrazyBus for the PICO-8!
All the info you need is below!
Binary builds and extra stuffs here:
GOOGLE DRIVE FOLDER IS CURRENTLY LOST MEDIA - SORRY FOR MY STUPIDITY
(I will never add back Loge from the 'Encore' branded builds. I'm going to abandon this acc and toss out the key. Sorry for pushing this up to the front for no reason.)
If anyone wants to fork this, go ahead: https://www.lexaloffle.com/pico-8.php?page=submit&respond_to=wtf01-5
manual.txt




The cart is completed! There are a few bugs with the seed menu but I'm too tired to mess with it anymore. If there are any game-breaking bugs please report them in the comments.
The song is an 8-bit remix of Amazing Plan by Kevin Macleod.
This is a cart based on I'll Take You To Tomato Town for my major project in school.
Random Seed Time: 00:31
Set Seed Time : XX:XX
Can you beat my times?
Arrow keys to move
X to show menu
C to toggle with shelves
X+C to shop minimap


