Fadio-8 is a tool for generating Pico-8 code for changing the screen palette over time to do things like fade in/out, fade-to-color, fade to sepia-tone, etc.
Step 1)
Optionally capture a screen from your game. To do this, click the "Copy Capture-Preview Code" button. Then paste the code in you're Pico-8 game. Follow the comments.
Step 2)
Once you have your preview in the clipboard by following step 1, click the "Paste Preview Image" button. You should now see your image fading to black.
Step 3)
Play with all the fade settings like "Steps", "Frames between". Click the numbered color buttons on either side to change the palettes we will blend between. Click the "Set All" buttons to fade to a single color. Click the "Flip" button to change between fade in/out.
Step 4)
Once your preview fade is looking good, click the "Copy Fade Code" button and paste the code into your Pico-8 game. Follow the instructions in the comments you pasted.
Updated: much higher res at 60fps, thanks to indexed userdata copies!
Yup, it's a smoke simulation toy for Picotron! Use your mouse to play. Should run at a nice steady 60fps after the first ~1s.
Uses userdata to make pressure projection steps almost free. That's great, since those steps were super-expensive in the PICO-8 version! Unfortunately, advection still has to be done with loops in userspace Lua code, and so that part didn't really see any speed increases, and is the new bottleneck.
There might still be some rendering tricks to speed this up, and I need to see whether some tricks I gave up on in the PICO-8 sim, like a MAC grid or vorticity confinement, might be viable here. Unfortunately higher-order interpolation, which I know would help a lot, is probably not happening without major new userdata features.
An image editor made to imitate the look of Microsoft Paint.
It isn't meant to be a replacement for picotron's built-in graphic editor, but instead is just meant to be a nostalgic little paint toy.
❌Selection tool isn't implemented yet.
supports undo & redo history.
current tools are pencil, bucket, eraser, eye dropper, and magnifying glass.
eraser tool also supports recoloring by using right click.
Supports saving as either pod or gfx format. If you save as gfx it can be opened by picotron's graphics editor.
You can also save just the palette by saving as hex format
update v1.1 - improved the pencil and eraser tools. now they'll draw a line when moving the mouse quickly and won't push to history until you finish your stroke.
Boxxed
This is a simpleish game made to be run on the desktop. load it and run it, to play.
Arrow keys to move the player, Z to shoot. Shoot or run into the edges of the window to move it! it also grows a bit every time! Try to destroy as many enemies as possible without getting caught yourself!
New features planned, such as items or upgrades.
This is the in-game OST for Wire Tripper.
https://kbones.itch.io/tripper
It's the second collaboration with Bones studios that I've done all of the audio design on. SFX, and music were all composed by me - DJ Tent Mode. It's the first time that I've used custom instruments in any meaningful way. I'm looking forward to trying out the Wavetable functionality in the next collaboration.
I hope that the cart's code itself can be helpful for aspiring PICO-8 musicians to repurpose. Having the structure of a "sound test mode" cart has been very helpful for my composition process and I hope someone else can get use out of it.
My favorite track is the tutorial tune, "Put it on my charge card" which uses the custom instruments to provide quite a bit more texture than what I felt was possible when I started writing PICO-8 music about 4 years ago.
SLATE
(scrapSavage's Lovely Advanced Text Editor)
Features:
- Drag and drop file loading
- Run and save within editor
- Automatic updates (off by default)
- Quickly switching between open files
- Automatically updating help reference
- Quickly opening file locations
- Monospace font
- Column display
Settings (Can be edited in prefs.pod):
- Automatic updates (true by default, used to decide to check for updates when opened)
- Install path (changes were SLATE is installed when downloading updates)
You can use this cartridge as a shortcut to the latest version.
If you have a question please use the "Help" button in the app menu to see if it's already been answered.
It is quick clone of Xsnow.
To add it to wallpapers, after load in ram:
save /appdata/system/wallpapers/xsnow |
To add it to screensaver, after load in ram:
save /appdata/system/screensavers/xsnow |
This is a simple arcade like game i made on launch day. posting it now that saving is fixed :D
Avoid asteroids for as long as you can!
If you like this game, or more specifically the engine running it, feel free to edit this cart or make your own things using its engine! I hope you all like avoid.p64!
HEY!
If you're reading this, a newer better version of this tool is available (https://www.lexaloffle.com/bbs/?tid=140703)
Popout editor
A live code editor of the current cart loaded into ram that can save to and run from ram.
I'll be updating this more soon, but here's the first version. Please let me know of any QOL features I could add or any problems you have.
I extracted all the public names of functions and tables that are visible to Picotron, it might be useful to explore everything that is available
printh doesn't seems to work like in Pico 8 so I couldn't easily make it into a text format, so here is just a screenshot of all the globals functions (in white), tables (in dark blue) and others (in red):
And I also got the functions inside all the tables:
Why isn't there an english speaking Picotron telegram group chat already?
Feel free to join and chat about Picotron related stuff. This console is going to be huge!
https://t.me/picotron_community
I did it to not spam the forum with repetitive issues
@zep tell me if this isn't something you like
I'm writing a simple toy program to get familiar with the API.
I have a string, "Hello World!", that I am intending to print centred horizontally and vertically, adapting to window dimensions on the fly.
In the top line in the screenshot I am printing it in one go, in the bottom line I am printing it letter by letter to enable a "rainbow" effect.
I noticed the two strings are spaced differently, and I realised Picotron in fact uses a variable-width font. I was allotting 5 pixels for each character in my printing routine, but as it turns out the lowercase "l" is one pixel narrower, while the uppercase "W" is one pixel wider.
How do I deal with the variable width of characters for printing and layout work? Is there an API function to get the exact dimensions of a character?
My code:
[hidden]
---[[ Comment/uncomment to run fullscreen/windowed window{ width = 240, height = 120+32, title = "Tester" } --]] text="Hello World!" function _draw() local width = get_display():width() local height = get_display():height() local align = width/2-((string.len(text)-1)*5/2) -- Assuming char width 5 cls() --Print all text in one go print(text, align, height/2-8, 9) --Print text letter by letter for i = 1,string.len(text) do print(string.sub(text,i,i),align+5*(i-1),height/2+4,i) -- Assuming char width 5 end --Print CPU usage print(stat(1), width-48, height-7) end function _update() end |
just a port of a tweetcart of mine to the new system :)
move this into /system/screensavers/
and it'll show up as an option in your settings
If you run it on its own as a cart, you'll want to run reset() vid(0)
in the console afterwards to get things back to normal
edit: if you want it to be permanently available, you need to put it in /appdata/system/screensavers
(otherwise, you need to re-add it every time you start picotron). create the folder by copying the system folder: cp /system/screensavers /appdata/system/screensavers
A port of my recent pico-8 minesweeper to Picotron.
I want it to fully adjust to the system theme, for now it just uses it for the mine counter :)
UPDATE 0.2:
- No longer crashes on continue
- The time is displayed correctly
UPDATE 0.3:
- Beginner, intermediate and expert difficulty selection from the menu (but windows don't resize automatically yet)
- Lots of windows at once
- Game doesn't crash on victory
- Added missing sound effects
UPDATE 0.4:
- Changed how the program creates new windows, now new instances use the correct about menu
UPDATE 0.5:
- Windows now open in a cascade from the previous window (but difficulties beyond beginner don't yet open with the correct size)
Hope this is the right place to post this. First time programmer, and I've been having a ton of fun trying to make a game in PICO-8.
I've been following Lazy Devs excellent Roguelike tutorial series on YouTube, but I've been running into a consistent issue.
For my game, I decided to make my player sprite 16x16. However, Lazy Devs' tutorial (and most of the ones I've seen online) assume an 8x8 character sprite. This is specifically giving me grief when it comes to collision. Right now, my player bounces off the walls on the top of the screen, and ignores collision entirely when moving left into them.
From what I can gather, the collision on a 16x16 sprite is calculated from the top left tile. Ideally, I'd love collision to be calculated from the bottom two tiles on the sprite. What's the best way to adjust/offset my collision to account for a larger sprite?
I've attached my cartridge to this post. If someone could point me in the right direction, that would be much appreciated.
hi there
edit: i've updated this a bit and put this into an installer cartridge (here) which can also be installed via yotta, a package and dependency manager.
i've already wanted to throw out what i'm working on and start a cart from scratch a few times and am accustomed to being able to use PICO-8's reset
to do so. this doesn't seem to work well here, and i don't like just closing and reopening picotron. we have save
and load
but not reset
or new
. so... i made new
.
you can place this code in /appdata/system/util/new.lua
:
-- remove current cart and replace with template cart source_template = "/appdata/new/template.p64" default_filename = "/untitled.p64" if(fstat("/appdata/new") != "folder") mkdir("/appdata/new") -- (most of this copied from /system/util/load.lua, thx zep) -- remove currently loaded cartridge [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=143060#p) |