It seems that if you use the new keyconfig feature and set any of the buttons to the 'P' key, this causes a problem because it will still trigger the PAUSE feature, even if PAUSE is reassigned.
I have not checked for any other conflicts, but this one was troublesome. The keyconfig feature is a big help however. Thanks.
Hey I've been using Pico-8 for a few weeks and having tons of fun and I just worked out how to download other peoples carts so I can see their code and how they did stuff. On page 2 of the sprites in Celeste and the same with some of the other games is like a map things and I think I'm being really stupid but is it a representation of the sprite placing editor thing? If so why add those last two images to view? Thanks for any information I'm really interested.
Below: screenshot of what i mean from Celeste.
Cheers podfish


By @AshleyPringle
Just an update with what I worked on tonight :)
Worked on the argue menu. You can't actually choose an argument to make yet, but the menu at least shows something. Also made it so it says how many cash you got when you die.
This is a bit broken and unfinished. Made it for 7 Day Roguelike but I screwed up and thought the final day was today when it was actually 2 days ago... :(

I usually leave the Pico-8 application running on my home PC overnight and during the day while I'm at work. If it's in fullscreen, it will silently crash (stop responding) if left open for long periods of time. Interestingly, it doesn't happen in windowed mode (although I haven't tested it with resizing the window to a custom size). The application at that point needs to be closed completely and reopened (good thing I save my work frequently). There is no error shown either in the program, or by Windows (Windows does not report it as "Not Responding" - Pico simply becomes unresponsive to any keyboard/mouse input). I haven't tried looking in Task Manager to see if it's leaking memory or CPU cycles.
- Windows 10 Pro
- AMD FX-8350
- 16GB DDR3
- nVidia GTX 660 (in case it's a display error with nVidia drivers, since for some reason it's caused by window size)
- Installed on a 256GB Samsung EVO SSD
- PC is not set to ever sleep or hibernate, so it's not happening upon "waking up"
- No USB suspend settings are applied that could sever communications between Pico and input devices
- Hard drives and processor are not set to change performance settings while idle
- All power-saving options are disabled
- No screensaver

Hi there,
anyone having an idea how to read fixed point numbers with peek? I managed to get the integer part read and I think I understand as well how the decimal part is designed, but as the decimal part uses the unsigned range of 16 bits, I don't get it read correctly. Currently I have:
function rnum() local dlo=peekb() local dhi=peekb() local ilo=peekb() local ihi=peekb() local nu=bor(bor(shl(ihi,8),ilo),shr(bor(shl(dhi,8),dlo),16)) return nu end |
Where peekb simply reads a byte from memory with peek and increments a pointer b.
local ilo=peekb() local ihi=peekb() |
These bring me the integer part nicely, but I'm having no success in getting the decimals right. Any help or hint is very appreciated :)

Hey all, I have some music and sound effects in mp3 format (they are already 4-track chip tunes) that I need recreated in Pico-8! They don't have to be 100% true to the original, but I'd prefer if they were as close as possible. I've got a game that's deep into development and should be completed within the next week or two, and would love to put your name in the credits! There are about 18 mp3s in total, most of them are just small sound effects, and 6 or 7 of them are short pieces of music.
If you're interested, just reply here and I'll send you a link to the mp3 files. Thanks!

I just came across moonscript the other day. It's a sort of coffeescript-esque language that compiles to Lua. It has a lot of nifty features -- including arrow functions, which is what sold me.
So I wrote a tool that allows you to watch a .moon file and pipe it into the lua part of a .p8 cartridge. It's not thoroughly test and probably only works on OS X, but I've been personally enjoying writing moonscript in Sublime Text 3 and watching PICO-8 automatically reload on save :)
I'll drop the link here in case anyone finds it useful or intriguing: PICOMOON
Cheers!


Manged to get 16 frames of full motion (if chunky) video compressed into here before running into the limits of the compressed cart size. Frames are stored as run-length encoded images, with only the difference between frames being noted/redrawn.
I used a custom python script and some elbow grease (file renaming and bulk resizing) to get the images converted into the string format.
-Electric Gryphon

Hi all,
I've been looking at Pico-8 games on itch.io, and there seems to be a variety of different ways to post our games there.
For example here, it's nice and clean, no borders:
https://bluesweatshirt.itch.io/inward-expansion
Here there's a visible border around the Pico-8 cartridge:
https://bluesweatshirt.itch.io/man-helsing
And here it's tight, but there are the controls on the bottom:
https://bluecandlegames.itch.io/eyeboss
Is there anyone with experience on itch.io who'd be willing to share some tips for posting Pico-8 cartridges there?

Allow me to preface this by saying that I'm new to Pico-8 and Lua, but have already fallen in love with it. I've already begun following the community on the BBS, subreddit, and Twitter, and I see a lot of questions about how to perform specific tasks that are necessary for almost every game. Anyone who has ever used a game engine previously may have had a lot of the basic things such as controls, animation, collision detection, or even AI handled for them, so they may not know how to roll their own code for such things.
I'm currently working on my first Pico-8 game, and have decided to document the process, and how I personally overcome various problems. Do know that my way is definitely not the only way - there may be solutions that work better, perform better, have smaller token counts, or are more elegant in general. These are just the solutions that I came up with. There isn't really any 'right' or 'wrong' per se, as long as it gets the job done, with the exception of 'lower token count = better' due to the limitations of the system. So, I'm going to try to solve these problems in the smallest possible token count that I can come up with.
[b]Movement:

I've seen some questions about how to do collision detection in Pico-8, so figured I'd make another bare-bones demo, this one demonstrating collision detection with map tiles and/or world bounds. The function itself is 24 lines and 125 tokens, and includes flags for turning collisions on or off on an object (such as the player). Here's the full function:
function cmap(o)
local ct=false
local cb=false
-- if colliding with map tiles
if(o.cm) then
local x1=o.x/8
local y1=o.y/8
local x2=(o.x+7)/8
local y2=(o.y+7)/8
local a=fget(mget(x1,y1),0)
local b=fget(mget(x1,y2),0)
local c=fget(mget(x2,y2),0)
local d=fget(mget(x2,y1),0)
ct=a or b or c or d
end
-- if colliding world bounds
if(o.cw) then
cb=(o.x<0 or o.x+8>w or
o.y<0 or o.y+8>h)
end
return ct or cb
end
|

This is a very simple animation function that anyone can use in their games. It's a bare-bones demo to keep everything as simple as possible. The function itself is only 14 lines and 74 tokens, and works like this:
anim(object, start frame, number of frames, speed (in frames per second), [flip])
In the demo, the object is the player, but it can be anything. Start frame is where the animation to be played begins (so in this case, moving left/right starts on frame 6, so we have anim(player,6,[..])). Number of frames is how many frames in that animation to play. We have 3, so anim(player,6,3,[..]). Speed is how fast the animation should play in frames per second (I have it set to 10 here). Lastly, [b]flip

Don't know if this is related to the recent audio fixes, but ever since then, I have not been able to load PICO-8 carts in Safari. When trying to load, the output to the console is:
TypeError: undefined is not an object (evaluating 'audio_context.createScriptProcessor') fpico8_wa4.js:1 dipico8_wa4.js:619 bpico8_wa4.js:620:177 Aepico8_wa4.js:621:145 (anonymous function)pico8_wa4.js:622:323 |
Safari 9.0.3
Mac OS X El Capitan 10.11.3






0 comments






