The Pico-8 BBS Download Link-inator!
Are you 😪 of tedious right-click, save-as routines?
Well, with this script, life just got a bit less tedious!

Where to get it?
Usage
This is a userscript written in javascript , that adds a nice, big download link right under the cart player on the Pico-8 Bulletin Board System. Does literally what it says on the tin.
To use this, you need something like TamperMonkey installed in your browser. (I'm using Firefox Developer ATM.)
Notes
Is this necessary? Nope, but I got sick of clicking the link, then right click save as...you know the deal. This just makes a big fat link on the page, in a bright blue color, right beneath the player for the game itself.
Thanks!
So this is my first Pico-8 Project!
I don't know if i'm going to finish this so don't wait for it.
This supposed to be an infinite rouge-like with randomized items and map. So far I've managed to write player movement with collision and a reaaaaaally basic room generator which I probably have to rewrite in the future. As you can see this is not anywere near complete and you can't really do anything at the moment. Feel free to have a look at my code, but be warned I'm not good at coding. I've just started to learn programming and want to use Pico-8 as a stepping stone towards a "real" game engine.
Controlls:
Arrow keys for movement
This is basically me testing how the "second palette" pokes work on PICO-8. The lower 24 rows of the screen are now occupied by a HUD strongly inspired by the game "Ultracore", which displays (fake) number of lives and ammo and (real) number of gems collected and level number.
The status bar area uses its own palette with lots of colors from the second set of 16 colors, but doesn't interfere with the game itself (though the camera had to be raised a bit to make it work).
2-player mode is not tested, probably will break.
Changelog:
- v2: made the game apply the second palette whenever the first one is updated, now that its existence is official and pal() resets it as well.






Made a weird fade-type thing. I'm not entirely sure myself how the deterioration thing works, I just divide the draw colour by the deterioration factor and increase said factor by the deterioration rate every pixel. Messing around with the deterioration rate, starting factor and colour range yields different results, some radically different from others. Adding randomised
pal(x,y) |
statements could be cool.

i don't know if its weird but i like my stuffs in one place as long as possible
and in terms of game dev i like stuffs i can open from steam,
if you know krita its an open source app but in steam you need to buy
i still bought the app to also support the devs,
godot engine is there blender is there krita is there aseprite also
too many reason to put the app there
you'll get an auto update you can also turn it off too
bigger community bigger forum bigger audience
steamworkshop but then again its up to the dev if theyll implement this
i like the concept of this and i hope ill see it on steam
endorse this to people make this game engine popular










It is far too easy to create a softlock cartridge.
RUN() -- Softlocks program if run from Splore. The only -- way to stop is by closing PICO-8 entirely. |
Of course, if run from the command line you can always just press ESC and everything will be fine. But I've tested this by running from Splore and there is no escape.
Try it yourself! Just make sure that you saved your work.
ULAM.P8


my first try ended up giving a OUT OF MEMORY error on the BBS, I hope this one works.
Renders Ulam spiral starting at 0 rotating counterclockwise.
Shoutouts to JWinslow23 for bringing me down to my senses with how to map the numbers within the position table haha
controls
Mouse - Select number
MB1 - Show number and highlight diagonal primes


A prototype I whipped up in two hours, my first completed "game", now I just want to polish it a bit, adding in some fade-ins or something for the reply-reveals
Please enjoy
EDIT
0.4 Now with sound!



I have a number of functions which, before doing any real work, need to do the exact same pre-processing routine of the passed parameters. As such, they all start like this...
local p1, p2, error = preprocess(param1, param2) if (error) return error --early return |
Is there a way to use metatables to inject this kind of default behavior into functions, without having to copy/paste that boilerplate code each time?


EDIT_2
lol nevermind I figured it out. I'm so happy about this
EDIT!
so I finally came back to this and got some of the fixes implemented, but now every time my character collides with a surface they teleport back to the top of the screen. Can someone point out what I'm doing wrong?
Thanks again
original post:
I'm stuck again, this time on why my movement isn't working correctly.
When I try to go left, all movement and physics stop. when I try to go right, I "jump" and then fall through the floor.
additionally, the jump "boost" only works when also moving right
i'm following along with the NerdyTeachers YouTube tutorial, but I've rewatched the vids I think would make sense for these issues at least 3x each and I'm still stuck

