I'm trying to build a charge attack that would activate on the release of a button, however, it seems that there isn't a microscript that would allow me to use ammon on a button release, thus, I tried building a system of modifiers to work around that problem (by using the button NOT pressed microscript) but I hit another wall, such a set of modifiers would require me to use a modifier on the item, so the ammo doesn't keep getting used while holding the button, yet, it seems there is no such a thing as a modifier for the inventory item.
So I ask for help: @zep, is there a way to work around this issue or a possible update to help?

Would it be possible to make a RESTful api for accessing carts uploaded to the BBS? Requests could return JSON data. This would allow for people to make their own game browsers and things.
The returned JSON could look something like this:
GET: https://www.lexaloffle.com/api/carts/list
{
...
{"id": 10025, "title": "Temple Pop"},
{"id": 10022, "title": "Hug Arena"},
{"id": 10010, "title": "Just hold on we\"re going home"},
{"id": 9997, "title": "NOBLINKY SUPER ULTRA BINGO WORLD QUEST"}
...
}
|
GET: https://www.lexaloffle.com/api/carts/id/10022
{
"id": 10022,
"thumbnail": "https://www.lexaloffle.com/bbs/thumbs/pico10022.png",
"title": "Hug Arena",
"author": {
"id": 9308,
"name": "Benjamin Soulé"
},
"file": "https://www.lexaloffle.com/bbs/cposts/1/10022.p8.png"
}
|
GET: https://www.lexaloffle.com/api/users/id/9308
{
"id": 9308,
"name": "Benjamin Soulé"
}
|
GET: https://www.lexaloffle.com/api/users/id/9380/list
{
...
{"id": xxxxx, "title": "xxxxxxxx"},
{"id": xxxxx, "title": "xxxxxxxx"}
...
}
|

It's my first pico-8 game and I made a really basic version of Pong with double sided rocket. Use the right side for green balls and left for the red ones. Game starts with one ball and each level adds another one.
Controls:
player 1: up/down;
player 2: S/F;
x: select mode/back to menu
Changelog:
11.04.16 - added menu and 2 new modes including 2 player co-op thing!

I was discussing with a friend how to deal with complex music arrangements (all 4 channels) alongside sound effects. He alleged that the GameBoy used all its channels for music at times but would cancel one of its channels (perhaps the percussive one) to play sound effects, then resume when sound effects had elapsed.
Current PICO-8 configuration, as far as I understand, is to have music channel masks take precedence over sound effects. This is good in theory but can be bad if you want to do something like the above. A possible solution could be to allow music channel mask modification mid-playback - is this doable? It would require some way to save or lookup a currently playing track (not yet in the API as far as I know), and then we pass that track's value to a function that could reset the channel mask to fewer channels, before playing a sound effect. Then we would do it again with the previous channel mask and expect the muted track component to come back.
I'm not familiar with the tech powering sound playback for PICO-8 and I don't know if this is the sort of thing that could have a simple implementation, or if trying to be able to modify variables for already-playing songs is totally out of the question. I can begin to imagine why it would be complicated or non-performant, but I'm not sure, so I thought I'd ask.
Thanks!

Is there a way to change the demos and carts folder location? I would prefer it in my home folder. It's much easier to access the users home folder than the support folder.
Something like this...
"/Users/jbaker/PICO-8/Carts/"
"/Users/jbaker/PICO-8/Demos/"
"/Users/jbaker/PICO-8/HTML/" <--For exported html projects.
That's two clicks compared to the current five, in order to get to that folder.
I'm new to PICO-8, so if I've missed something about this, I apologize. ;)

I want to write a song that's in 4, but has swinging notes - so I'm just writing tracks that fill up 24 of the slots instead of all 32. But in order to make it work in sequence I need the track to stop playing after the 24th slot and move on to the next segment in the song immediately. Is there a way to tell PICO-8 to do that? Of course I could just use all 32 slots and changing the measure's starting place depending on where I am, but I'd rather be more organized.


Seems that while copying a full line in the editor, including the [LF] ending, when later pasting, the line ending of the pasted line is replaced with a [CR][LF].
Not that big a deal really, except.. the [CR][LF] gets counted as a token
--
Thanks Zep for making such a cool toy. Just got this 24 hours ago and it isn't letting me get any work done.

Started on a game for the LOW REZ JAM!
I'm using an 'object pool' which is a little bit strange, but it should avoid the memory issues that were had in my Spaceball game. I should really go back and fix Spaceball to work the same way. The idea is to design the game to never logically go above the predetermined limit of 100 "actors" which should be more than enough for my purposes.
The working title of the game is "Pixt" which is inspired by Pixel's shooter game, Guxt, hence the blue color scheme.
Also, I'm using a total of 5 colors at the moment. It's an arbitrary number, and I could probably do it with 4 colors, but there's no rule about the number of colors.
p.s. Apparently the movie export in PICO-8 ignores graphics modes. I could crop it, but I didn't. ,'-y
Update v0.9
added ability to pickup pizzas
picking up pizzas add 1 to score
added rocks
picking up rocks remove 1 from lives
added spawning mechanism for pizzas and rocks
added sin movement for pizzas and rocks
*added timer -- currently not counting down
added flame and smoke when moving
added downwards force to rocket
added static Boss and Minions
animated Boss health bar

I'm getting back into Pico programming and wanted to do some demoscene effects to warm me up like simple sinewave text. Have trouble with math behind it though.
I want to do first as simple bopping up/down sprite that uses sine behind it. I want to be able to control its amplitude (defined as y offset in pixels from the baseline) and frequency (speed). For now I have formula that goes somewhere like:
basey+Sin(upoffset+(t*speed))
where upoffset is mentioned amplitude control defined as max possible deviation from baseline, whether positive or negative, t is time elapsed since start (needed so it will actually bop instead of staying in place) and speed is, well, speed.
Unfortunately speed is somewhat coupled with amp control so when I try to increase speed at which things go, it gets too high/low and vice versa - changing amplitude changes speed at which things go.
Any help? This is best I could come up with and at the rate I'm pulling my hair right now, I estimate to go blind in 36 minutes, 43 seconds and 234 milliseconds.
No need for sample code, the formula will do.

Not sure if this is a known bug, but I could not find it mentioned anywhere.
There may be a bug related to playing the same sfx on 2 channels simultaneously. I have the sound looping on channel 1, but it stops playing on that channel when I start/stop the same sound on channel 2. It may be that stopping the sound on channel 2 is also stopping it on channel 1, I'm not sure.
I'm running pico-8 (v.0.1.5) under linux.
Has anyone else encountered this before?
Thx,
This game's really simple and pretty silly. A cowboy is assailed on all sides by tumbleweeds. Endless, rolling tumbleweeds. The cowboy must use their comically oversized bullets to destroy the tumbleweeds before they are overwhelmed.
Arrows move, Z fires.
In a shocking display of modesty, this game was inspired by my own tweet: https://twitter.com/PROGRAM_IX/status/706624643826847744
UPDATE: Since I created this I've updated the script to apply all transforms with Python by default. The JavaScript method of shuffling elements is enabled only if 1) you lack the dependencies required by Python or 2) you specifically flag the program to use JavaScript. The advantage of doing it all with Python is that you don't have to wait until page content loads to see a responsive layout - it's already there. I've also created a comparison of the responsive and default web player layouts. And check out the README to see what Python packages you'll need to do the full HTML transform in Python.
~original post~
The default webplayer page format that gets exported from PICO-8 is great, but not quite excellent, since it only provides one display resolution. I decided to work with the structure and style a bit (using flexbox styles and media breakpoints) to make the canvas render at 290px, 580px, or 1160px wide based on what real estate is available. Also, the buttons collapse into multiple rows once the display gets small enough.
I came up with this.

I've been working on a handheld for playing PICO-8. It uses a Raspberry Pi Zero, and an Adafruit 1.8" screen for displaying. The screen size is 160x128, so PICO-8 fits perfectly (alright, centered). The buttons and button PCB are robbed from a USB NES controller I had. The case is 3D printed to fit the parts (very tightly). Total size of the unit is 120x45x20mm.
The screen mirrors the output of the HDMI, so you can play with either the TV or built in screen. Currently, it has no internal battery, but I'd like to find a good lipo battery to add. In the meantime, I just connect a USB power stick.






4 comments














