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! ^_^
Hedgerow is an arcade style game where you play as a little white duck wandering through haunted hedge mazes. Your goal is simple: collect all the keys and open all the gates without getting caught by a ghost. Getting caught by a ghost will cost a time penalty, but you're given a few bubble shots each round that will freeze any ghosts they hit. Hourglasses are scattered across the stage which you can pick up to increase your remaining time. There are also wormholes which will warp you to different parts of the maze. Be sure to grab any tasty fruit you see for additional points, and every so often, you can play a bonus stage to further boost your score by collecting coins!
This is still in development so there may be some bugs, especially with generating levels.
Controls:
Movement:
Keyboard style 1 (default): SFED for quick hops, cursor/arrow keys for smooth movement
Keyboard style 2: cursor/arrow keys for quick hops, SFED for smooth movement
(Deprecated) Gamepad style: Tap d-pad for quick hops, hold for smooth movement
(The control style can be changed in the menu)
Aiming:
Hold Z/W and tap directional keys (useful for shooting around corners)
Smooth movement will also use hops instead when aiming.
Shoot:
X/Q
Portals
When standing in a portal, release all buttons then press:
Z to cancel portal operation
Left cursor/arrow key to go counterclockwise in the portal loop
Right cursor/arrow key to go clockwise in the portal loop
Additional Credits:
Thank you to Grumpydev for the persistent high scores code snippet!
Important Note:
This version has been updated to use the new string indexing syntax, older versions that use the sub-nil syntax will no longer work.
Change log:
- Massive code overhaul including rewriting the controls again (now utilizes the adjustable autofire delay to allow use of the default APIs)
- Removed Gamepad control scheme
- Interacting with portals now allows some control over destination (or whether you even want to use the portal at all)
- Stage exit is now always visible, but still only accessible when all keys have been collected and doors opened
- "Par time" for each level has been adjusted to account for changes in movement
- Number of coins now scales better with the size of the bonus stage
- Time allowed in bonus stage adjust to account for changes in movement and number of coins
- Number of enemies has been adjusted so that larger levels are more populated
- Number of shots has been fixed to twice the number of enemies
- Various fruits have been added as an additional source of points in each regular level
- Added indicators when a park/room contains keys/doors/hourglasses/enemies/fruit
- Removed game over screen
Older Versions:
Version 0.4
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!