Hi!
I was wondering if there is an un-official features manual lying around somewhere. It seems like each release of pico 8 brings it's lots of new undocumented features and it's really hard to keep track when you don't use pico8 for some time...
So I was just hoping to have a manual extension lying around somewhere telling us about those and all the memory peek switches and such... Does it exists?
Thanks!
Here it is, my first completed cart for Pico-8
ShipBattle ZX is a singleplayer Battleship clone that I recreated based on a ZX spectrum game originally written by my Dad back in the 80's. Had a lot of fun 'unpicking' the Spectrum Basic and working out how to recreate the game logic in Pico-8.
Unit Placement Controls:
Arrow Keys: Move
X: Place Unit
Z: Rotate (Where Possible)
Units cannot be placed directly adjacent to each other.
Game Controls:
Arrow Keys: Move Cursor
X: Attack
Z: Show remaining enemy units
About
This game is heavily inspired by a minigame from Pureya by Majorariatto Studios (https://store.steampowered.com/app/1268960/pureya/). It's an endless runner with some not very original game mechanics but fun! Let me know your comments and enjoy!
Edit: I've beaten my previous highscore xD, and now it is 794, what's yours?
Music Credits
Musical composition by Robby Duguay (https://www.lexaloffle.com/bbs/?tid=2619). So many thanks!
Music by @RobbyDuguay, not me.
I think this is my first actual "game" that isn't a mod of something.
I made a very barebones version of this at school on Education Edition and decided to just finish it at home.
Player 1 uses Z and Player 2 M (Z/C/N all work for Player 1 and X/V/M work for Player 2 but Z and M are far apart so there isn't conflict). The goal is to reach 50 clicks before the other player.
Ground tiles are from Celeste Classic by Noel Berry and Maddy Thorson, and the original penguin sprite is by Meep.
Text outlining was from https://www.lexaloffle.com/bbs/?tid=45020.
Edit 1: I somehow forgot to mention, but the code for the clouds and wind particles were also by Noel and Maddy.
I know this has been mentioned before and while Pico-8 enjoys 5+ years of its release, is it still not capable of exporting to native Android APK format ?
export {cart}.apk |
Or is there some easy method to do so effectively, possibly converting both the export of Pico-8 from HTML and JS to an APK ?
export {cart}.html |
A little balloon-popping game made in PICO-8!
If you're running this on desktop, press X or Z to enable a mouse cursor.
This works with touch-screen support on some mobile browsers, but on many platforms, audio issues and lag may be present.
This is a present for my son's second birthday. He's pretty addicted to a balloon-popping game on his mum's mobile, so I wanted to make something that I knew he'd enjoy!
Happy birthday Hershel! You might not be old enough to read this yet, but I hope that one day you stumble upon this when you're older, and remember how loved you are.
One of the things that's been driving me nuts while working on RP-8 has been how unstable the PCM audio output has felt. I can check (via logs or asserts) that, at 60fps, stat(108) is always above 256 and stat(1) never exceeds 0.9, and I'll still get occasional crackles or small time skips in the output. If I record the audio out with extcmd('audio_rec')
these issues generally appear there as well - most often as small intervals of 0 samples. The one or two dropout cases I've been able to inspect in Audacity made it look like the dropout was in the low 10s of milliseconds range. I have not yet been able to track down a skip on the Audacity waveform display.
I've been trying to chase down the bugs in my code, but today I instead tried RP-8 - specifically the current BBS version, #rp8-2 - on two machines that aren't my normal development machine. It was rock solid. Flawless. (Or, well, nearly flawless, just heard a dropout on the Intel Mac after leaving it running for 15 minutes, but the ARM Mac shows problems much earlier and more frequently than that.) My main development machine is an ARM Mac, and the two other machines I tried today were a Windows box and an Intel Mac. The only conclusion I can draw right now is that there's something wonky about Pico-8's PCM audio out on ARM Macs that causes it to skip and/or drop frames.
I was trying to get string indexing using brackets to work on pico-8.
I quickly found this discussion on lua-uers.org that discusses this problem in Lua 5.1 and 5.2.(See below)
However, after trying several solutions provided in the discussion I still can't get any to work in pico-8.
They work on my other Lua IDEs, but somehow pico-8 always returns runtime errors.
Current code:
--from lua-users.org getmetatable('').__index = function(str,i) return string.sub(str,i,i) end getmetatable('').__call = function(str,i,j) if type(i)~='table' then return string.sub(str,i,j) else local t={} for k,v in ipairs(i) do t[k]=string.sub(str,v,v) end return table.concat(t) end end --demo a="1234123512345" print(a[4]) |
Current results:
Does anybody know how to correctly implement this in pico-8?
Just creating a thread to collect music that I write. Mostly just for myself—to have things I like all in one place which I'll update periodically as I write new stuff—but feedback is always welcome should anyone feel so inclined. I'm mostly not making any efforts to use space efficiently. I probably should. Meh, one day. Also, I'm terrible at naming things so if anybody feels like suggesting titles or some kind of coherent naming scheme, I'm all ears.
With that in mind here's my first entry. A jaunty little tune I threw together this morning.
2022-04-16:
Song 1: Jaunty Tune in Eb Major
[sfx]
This one was from a few weeks back. Don't remember when exactly. I was going for something sort of mysterious-ish but still with some upbeat parts. Maybe a bit more repetitive than I'd like but I think turned out alright overall. C Minor, I think.
Hello! I thought I'd try to (slightly) clean up and post some utility functions I've found useful while working on RP-8. Maybe they'll be useful to others, maybe not. Let's see!
There are three possibly-useful functions here, plus their support code. Note that in the name of token conservation, all of these functions have essentially no error checking and can blow up in various exciting ways if you feed them bad data (or if they have bugs). The code also isn't the cleanest - maybe I'll tidy it up eventually, but I don't think it's completely unreadable right now. Anyway, we've got:
- stringify(), 114 tokens. This serializes structured data into a string - RP-8 uses this to save songs. Escapes binary. Both the string format and the binary escaping are completely nonstandard, but the string format at least looks vaguely similar to Lua literals.
- parse(), 286 tokens (can be cut to 246 if you don't want eval). This takes a string and transforms it into structured data. RP-8 uses this to load songs, as well as to set up some of its internal data. Uses the same weird format and binary escaping as stringify(), although it also supports some variations and syntactical sugar. You can probably cut more tokens if you don't need to support large input strings or binary unescaping.
- eval(), two versions - 428 tokens for interpreted, and 556 for "compiled", plus you need parse(). (Very loose use of the word "compile" here...) This evaluates a script in a vaguely LISP-formatted mini-language with Lua-ish behavior, and returns the result. RP-8 uses this to save tokens by encoding bulky logic that doesn't need to run fast, like UI init. This can help save tokens. Note that the token costs here are pretty squishy, since they depend on what builtins you want to define.
While this eval may help you save tokens, if you're really serious you should probably consider external build tools and bytecode. (For more on this, check out what @carlc27843 did with
Hey all. Today I have something to share. I saw the most awesome super mario bros. recreation, made by @matthughson.
But I couldn't help but think... it could be even better with a bit of outside help!
No, that is not a screenshot of the original game! That is legitimately what this looks like!
Now, it's a bit buggy, probably at my own hand. Included in the download is a cart file though, so you can see exactly how it works. Basically all my stuff is at the bottom.
https://www.mediafire.com/file/13keys82u0xcp1u/Realbros.zip/file
P.s: Don't open the exe file directly, it'll open Pico-8 the default way without the extra screenspace. There is a .bat file in there to open it in the correct way for you.
Because of this, it's only available in Windows. Sorry!