Here's a cart I threw together for myself to use with the new custom font feature.
When run it will read the spritesheet into memory as a custom font, then copy a code snippet to your clipboard that will import that font into another cart. It doesn't include the values from 0x5f60->0x5f64, that define the overall font attributes. Those must be set manually in the cart you are importing to.
The import has several optimisations. Instead of always copying the entire custom font memory block it starts from the first non-zero memory value in the block and continue to the last. To save characters it will construct two exports: one that uses poke and one that uses poke4 and export whichever is smaller. It will leave out unnecessary zeroes and also trim leading and trailing zeroes in the hex values for the poke4 export. It also stores all the values as a big string that's split and unpacked at runtime to save tokens.


Simple little cart that tries to load random IDs from the BBS. Try something new. When you've had enough of a cart just select "new cart" from the pause menu. The number in brackets is the ID of the current post it has loaded.
Sadly though I'm seeing weird behaviour with that when I run through the BBS. It doesn't seem to display the correct number when you run this in browser, but it's correct when I run it locally. Sorry about that I have no idea what's going on there. But if you run it locally and want to find the thread the cart you're on is posted to just plug the number in here:
https://www.lexaloffle.com/bbs/?pid=######








This is an animation editor I've made to help me with my current project. It's made for a very specific use case and I don't expect it to be particularly useful for other people, but might as well post it. In particular it's designed to help compress animations that have lots of repeated elements. e.g. In the example data in this cart the head layer is used across almost every animation, but only appears once in the spritesheet.
To this end it is very much optimised to favour saving space in the sprite sheet, and not optimised for CPU or RAM usage. It also assumes the data outputted is going to be handled in a very object-oriented fashion (see example implementation further down).




I know Zep has said the API is pretty much finalised so I'm guessing he's not planning on adding characters to the font but I think it'd be nice for the purpose of displaying controls/tutorials to have symbols to represent the start button (for posting carts to BBS) and the return key (for posting elsewhere where people aren't familiar with PICO-8 controls).
I made a quick mock up for them sticking to the 7x5 limit other glyphs use.



Ok with a bunch of help from LRP I have an entry that works in 138 characters! I'm so happy I managed this. I didn't think I'd actually be able to compress it this small. It was a lot of fun to do.
code:
k=2^13::s::for a=0,k do n=0 for x=0,8 do n+=peek(k*3+a+x/3+x%3*64-65)end poke(a,n==12 and 4 or n==16 and peek(a))end memcpy(k*3,0,k)goto s |
Original post:
Was trying to make Conway's Game of Life into a #tweetjam entry but wasn't able to get it below 175 characters. It reads the screen to do the simulation so while it will always display the same simulation from the BBS you can do whatever input data you want if you download the cart by having whatever you like on screen when you hit run.



Final Edit: ultrabrite has pointed out that zep's official word on it is
"Multicart exports offer a way to package and distribute what you can already do with local files (e.g. zipping up a group of carts), but isn't supported on the BBS and probably never will be. I think feeling invited to design for single 32k carts is an important aspect of PICO-8, so separating multicarts to the exporter is a way to preserve that to some degree while still broadening the scope of what can be made with PICO-8."
From the 0.1.10 release thread: https://www.lexaloffle.com/bbs/?tid=28168
Original post:
Hey I looking into the idea of using the reload() function in the game I'm working on to possibly store data for extra levels on a separate cart and load them in as you progress. I understand that the HTML5 export explicitly supports multiple carts but I'm not clear on if it's possible to upload multiple carts to the BBS and be able to access data from each other?
Edit: Testing with a simple two-cartridge system I made




My first submission, I hope I have this correct!
A classic game of Snake. Start it up with the tab key then use the arrow keys to guide your snake to the food that appears, just don't crash into yourself!
Eat 15 fruits in each level to advance to the next. With each level the speed increases.
Changelog
v1.2
- Removed screen shaking on input
- Rewrote input code to hopefully feel more responsive
v1.1 - Reduced the level of shaking on input
- Stopped certain input combinations allowing you to turn backwards into yourself






