Hello, this is my first post here! I've known about PICO-8 and have been around the community for years now, but I finally decided to try learning how to make stuff in it around two months ago.
I got the idea for this cart a couple days ago and could not stop thinking about it, so I started on it yesterday morning and ended up doing it all in one sitting. The idea was to rearrange the screen palette into a gradient (including some colours from the secret palette) and then make draw functions that use pget() and pset() to increase (or decrease) the brightness of pixels when drawing lines and shapes (besides the trail). Basically additive (or subtractive) blending. I knew doing pget() and pset() on so many pixels would be really slow though, so for the noise and gradient across the entire screen, I decided to try doing that directly to the screen memory, using $/peek4() and poke4() to add bits. It had to be in 32-bit chunks, peek/poke 2 or 1 would make it drop below 30fps (maybe possible with better optimization, idk). I think the 8 pixel wide chunks made it look more interesting in the end though!
For the trail, I used p01's trifill function. I had a feeling if I tried to make a function to draw additive blended triangles, performance would be really bad. So I decided to just draw normal filled triangles at the start of the draw cycle and do all the additive stuff after.
I shared a gif/video of this online and lot of people wanted to see the code, so I'm uploading it here! The code is a bit messy and maybe there's some stuff that can be optimized, I'm still fairly new to programming in PICO-8 and don't consider myself amazing at code. I'm very happy with how it turned out through! I'm surprised I was able to pull off all the ideas I had for this, while maintaining 30fps.
I hope any of this is interesting or useful, enjoy!
EDIT: Updated the cart to include music, made for this cart by @muse_energy!
Absolutely gorgeous. Mesmerizing! I was probably looking at this for much longer than i should have, lol.
Each element of this composition is very nicely done. I think my favorite is the blazing star trail (which i think is filled with triangles?)
I like your approach of configuring the palette into a gradient. I like the colors you chose as well.
I too have been haunted by a sky-themed idea i have yet to implement.. so this is inspirational to me; thank you. 🌟💨
Really great job creating a sense of speed and atmosphere (no pun intended). I'm surprised how well the rapid flickering of an Atari-2600-type blocky background gradient works. I guess just about any tool or method can work very well if you find the right way to use it.
i'm making a cartridge shell editor.
i finished the most basic version that works.
now i test the program to make sure it's stable before i publish it.
one of the carts that i edited with the test version of the shell editor
is a 𝘀hooting 𝘀tar cartridge with full-bleed artwork:
(this cart has the unchanged 𝘀hooting 𝘀tar version 1.1.1 program)
this is the most complex edit i have made with the shell editor.
i have used the shell editor to edit 3 other cartridges so far:
- my second attempt at a blue-green 𝘄elcome! cartridge
- see "my less good cartridges", section "2022-11-21: Welcome! — special edition 2"
- the impossible cart
- see "my less good cartridges", section "2022-11-25: the impossible cart"
- a black 𝗻iji cartridge
now i have enough proof that the shell editor is stable, so i can release it into public —
but i can't publish the program without preparing its presentation, so you will have to wait a bit.
I'm sorry for taking so long to reply to everyone. I'm really happy you all liked this cart! I wasn't expecting such a response, it was a bit overwhelming... I want to make more animation carts like this but I haven't had any other strong ideas for one yet. I'm still messing around in Pico-8 almost daily and hope to eventually have more carts I can share!
@Sosasees It looks beautiful! I'm honoured that you chose this cart to test it on!
@Sosasees update about the cartridge shell replacer:
it took a bit longer than i expected
before i got time to use my home computer (not my work computer) — where i have Git set up.
now i could finally publish the program:
BBS post 'cartridge shell replacer'
[Please log in to post a comment]