Orbital v1.0
Story:
In the distant future, an AI-piloted ship arrives in a distant star cluster. Its mission: to search for signs of intelligent life. You are that AI.
Gameplay:
Navigate star systems and land on planets searching for clues to what happened to a long lost civilization. As you discover alien artifacts, you may gain abilities. Absorb special minerals on the planets to replenish your energy. No enemies or time limit, but watch your fuel levels and don't crash into a star or a planet surface (nose-to-ground collision).
Controls:

Saving:
This game supports saving/loading. It should work in the web version depending on your browser settings, but it definitely works if you grab the cart and run it locally. Will save automatically after the intro text is read, and after each artifact is found. You can also save through the in-game menu under "options" at any time. If you save in space, you will load exactly where you were, but if you save while on a planet, you will reload back in space where you were when you encountered the planet.










@zep o/
A weird bug has been messing with me recently: pico-8 keeps telling me I have "unsaved changes" when I'm pretty sure I don't. I caught the bug on camera this time:
I don't know how to reproduce it; I tried adding a new tab and messing with the text cursor position (since I wondered if this had something to do with the fix for https://www.lexaloffle.com/bbs/?tid=39379 ) and soon after I was able to trigger the bug. But I was able to trigger the bug without even opening up the code editor -- all I did was load cart1
load cart2
load cart1
over and over again until it said "unsaved changes". strange
Jump to 1:12 and 1:24 in the video to see me trigger the bug two separate times. (the video description has a few other timestamps too)
I'm worried I'll stop trusting that message and accidentally lose real changes!
I think this bug is new as of 0.2.4b; I don't remember it happening beforehand.

This is Globbo!
A PICO-8 adaptation of the classic Mac game Blobbo.
The goal of the game is to pick up all toy chests before proceeding to the next room through the stairs. Tread carefully though, or you might find yourself squished by a bowling ball or punctured by an arrow.
The game contains a subset of the features found in the original. Many of the rooms in this version have been inspired by the original. My approach for these rooms has been to try to make condensed versions of the originals, trying to capture the "theme" of a room while taking liberties with its layout to accommodate the 16x16 grid.
The aim was not to make a fully featured port of the original, but rather to pluck the best parts and reshape it in a way that works well with PICO-8.
Please enjoy! ^_^






In Hedgerow Hazard, you - a little white duck - must navigate mazes to rescue lost ducklings. Each one will give you a key to further open up the maze.
In your way are a cast of monsters that will send you back to the beginning if they catch you.

To avoid these rambunctious rascals you must either time your movements carefully to slip past them...

Or use a special power to rotate the world around you!

But this is no leisurely stroll! You're on the clock, and every second counts. If you don't save every duckling and make it to the exit in time, it's game over. Though any time remaining when you finish a course will be added to your score!




I'm new to pico-8 and when trying to check if a boolean is false with
if is_point_in_rect(coin.x,coin.y,left,top,right,bottom) and not coin.is_collected() then |
it returns an error
(I tried removing the "and not coin.is_collected" to see if the error was with the is_point_in_rect() function, and it didn't bring up an error)

While enabling mouse input:
POKE(0x5F2D, flags) -- where flags are:
0x1 Enable
0x2 Mouse buttons trigger btn(4)..btn(6)
STAT(34) -- Mouse buttons (bitfield) with
0x1: Left
0x2: Right
0x4: middle
poke(0x5f2d, 3) function _update() if (stat(34)==1) print("l") if (stat(34)==2) print("r") if (stat(34)==4) print("m") if (btn(4)) print(4) if (btn(5)) print(5) if (btn(6)) print(6) if (btn(🅾️)) print('🅾️') if (btn(❎)) print('❎') end |
Left mouse button (1) triggers button 5 (❎)
Right mouse button (2) triggers button 4 (🅾️)
Shouldn't this be the other way round?

Slowboarder2
A highscore, arcade game about snowboarding!
Arrow keys - Move
Z or O - Jump
X - Spin
Collect stars, kill skiers and yetis and get the highest score you can!
Killing yetis will grant you a health pip, collect 4 to regenerate a heart!
Your momentum is locked when you are jumping and spinning so be careful not to crash into anything!
There are 3 powerups to collect:
2x Score
Slow
+1 Health pip




I've recently finished writing a page on my personal wiki about coroutines, and quick examples on how to make the most of them. I would appreciate any feedback people have, including misconceptions I have regarding the execution model. Most of my PICO-8 work as of late has been figuring out how to create easy animation engines that are also expressive and flexible. I think I have the functionality down; now comes the hard part of nailing coroutine and data structure design for complex animations!
I'd love to read what you guys think of it.
https://wiki.zlg.space/programming/pico8/recipes/coroutine
Thanks for reading!





There seems to be some kind of flaw on my system when playing music via the music pattern editor: it'll start playing normally, with the display scrolling, but despite my making no input with mouse, keyboard, or controller, it will abruptly stop scrolling and leave the cursor behind.
My first thought was that perhaps the active SFX in the SFX editor had started, but that wasn't the case in any of my tests. There's no obvious pattern to it - it's not after a fixed duration, after a fixed number of patterns, or after a specific pattern appears - but in each of the files I tried, it stopped on the same places in two separate tests.
The music continues playing as normal and correctly - it's as if, at an unpredictable point, PICO-8 decided I clicked on the SFX or the cursor or something to edit the current SFX.
Edit: I posted below that this seems to happen when the SFX in the selected channel changes from one pattern to the next; doing a quick test on 0.2.4, I didn't see it happen there. It looks like this may have been introduced in 0.2.4b.



