Log In  

I like making retro games.

Star Beasts 1.3
by dredds
Vandermonde (exploration/puzzle/action game)
by dredds
by dredds

Hi. The W and S keys are close together and I find I often hit Control-W (quit) by accident when I mean to hit Control-S (save), and therefore lose unsaved work.

Could Pico-8 prompt before quitting if there is unsaved work? Similar to how it prompts to overwrite files when you save or export?

P#104099 2022-01-02 10:47

Cart #star_beasts-4 | 2021-12-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Your ship has stopped in deep space to perform repairs. The crew are on a spacewalk when suddenly predators warp in from hyperspace. Save the crew!

Frantic shoot-em-up action inspired by 8-bit classics such as Uridium, Defender, Robotron, Asteroids and Thrust.

The controls are explained on the title screen.

You'll get a higher score the more risky your play:

  • fly fast to get a score multiplier for each kill
  • the bogies evolve to more dangerous forms that are worth more points
  • you can earn big points by rescuing crew members far from the ship

There are four different ships. You'll encounter new challenges on later missions, and need to adapt your tactics.

You can also speedrun each level – your time is shown in the level complete screen.

The music is by @Gruber.

How high can you score?

Gameplay Tips

The bogies warp in near your ship in waves and follow fixed paths around the ship scouting for prey.

If you learn the patterns of waves and paths you can pick off the bogies with ease while they are scouting. It won't get you high scores, but you can speedrun the levels that way.

The faster you are travelling when you fire a shot, the more points you earn if the shot hits a bogey. But be careful. On higher levels, you can collide with the ship's superstructure. While your pod is pretty robust and bounces off at low speeds, at high speed collisions damage your pod.

Collisions with bogeys also damage your pod. You don't get any points for colliding with bogeys.

The "turret lock" lets you strafe the bogeys at high speed with less chance of collision.

If a bogey reaches the end of its path, it starts hunting the crew. It's body flashes between yellow and green, and it moves faster. You earn more points for taking out a bogey when it is hunting than when it is scouting.

When a bogey reaches the crew member it is hunting, it abducts the crew member. It then flies away from the player. It moves quite slowly when carrying an abducted crew member. Bogey's carrying an abducted crew member are highlighted as red blips on your pod's radar.

You can free the crew by shooting the bogey. Your shot propels the crew member in the same direction. Shoot from the right angle, and your shot will propel them back onto the deck of the ship.

If you shoot them in the wrong direction, they will float off into space to their doom.

Your only hope then is that another bogey will abduct them before they run out of air.

They can only land on the deck of the ship, not on the machinery and piping.

When a crew member lands on the deck, you get bonus points. The further they travel, the more points you get. One method to earn high scores is to let aliens carry your crew members far from the ship before freeing them. But leaving it too long is risky -- it's harder to direct the astronaut back to the ship, the alien might merge with the human before you shoot it and mutate into a more dangerous form, the freed crew member might run out of air before reaching the ship, or another alien might abduct the freed crew member again while they are floating in space. And in the meantime, other aliens are attacking the crew members still on the ship.

You've got to walk a tightrope between risk and reward to earn top scores without the whole situation collapsing into chaos.

Version History

1.0 - first public release
1.2 - Fixed colours of cart image in splore browser
1.3 - Improved appearance of ship in response to player feedback

P#102381 2021-12-11 10:16 ( Edited 2021-12-22 22:28)

The export command and the -export command line option do not flatten #includes when exporting a .p8.png file. A cartridge exported from a .p8 program that uses #includes cannot be run.

P#102348 2021-12-11 00:19 ( Edited 2021-12-11 08:00)

On the Mac, when Pico 8 is running when the Mac hibernates, after I un-hibernate the Mac Pico-8 no longer plays sounds. I have to restart Pico 8 to get audio working again.

I'm using MacOS Catalina 10.15.7 and Pico 8 0.2.3

P#100980 2021-11-29 09:59

Does anyone have a code snippet that can turn a number into a decimal string, treating the bit pattern as a 32-bit unsigned integer instead of 16.16 bit fixed point?

P#77975 2020-06-12 08:59

Cart #pinchpoint-0 | 2020-05-11 | Code ▽ | Embed ▽ | No License

My entry for the TweetTweetJam 4 game jam -- a game that fits into two tweets. The code for this game is 559 characters.


  • Avoid the green meanie.
  • Shoot it to score points.
  • If you miss, the walls close in.


  • Move: arrow keys
  • Shoot: X while moving

What's the highest score you can reach?

P#76355 2020-05-11 08:06 ( Edited 2020-05-11 17:19)

Cart #vandermonde-9 | 2020-04-08 | Code ▽ | Embed ▽ | No License

Escape from Vandermonde by finding your way through the passages to the teleporter. Avoid the robots that patrol the passages or program them to help you.

There are 14 levels of exploring, puzzle solving and action, all intertwined on the one large map.

Gameplay is introduced within the game. You can choose any level to play at the title screen. However, to beat the game you have to play all the way through from level 1.

P#74276 2020-03-28 17:24 ( Edited 2020-04-08 14:48)

Cart #dredds_caracol-5 | 2020-04-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A physics-based puzzle game with fifteen levels.

Guide the ball around obstacles, to the target.

On the title screen, use the arrow buttons to select a level and O or X button to start play. You can quit a level and return to the level select screen from the pause menu. Gameplay is explained by in-game instructions.

Scoring is like golf: the fewer shots required to hit the target the better. Best scores and times are persisted.

Levels can be played in any order. However, earlier levels introduce game elements used by later levels.

If you're interested in designing levels, let me know in the comments and I'll write up how to activate and use the level design mode.

P#72423 2020-01-29 16:37 ( Edited 2020-04-06 22:09)

Cart #holes-7 | 2019-09-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A board game.

The goal is to trap the other player on a single square.

On each turn, the player can move their piece one square, causing a hole to appear beside their opponent, or jump their piece two squares (possibly over a hole), leaving a hole where their piece was.

There are different options for play:

  • two player, one controller (pass the controller back and forth between turns)
  • two player, two controllers (each player has their own controller)
  • one player, easy AI
  • one player, challenging AI

You can choose from a number of board layouts. If you download the cart is easy to add your own board layouts with the sprite editor.

In the menu, use the direction buttons to move between menu entries, and the X and O buttons to cycle through the options of menu entry, or perform a menu action.

In the game, use the direction buttons to move your piece, or hold down the X or O buttons and use the direction buttons to jump your piece. Use the pause menu if you want to abandon a game and return to the title menu.

Gameplay screen shots:

Drawing a board layout in the sprite editor:

P#66445 2019-08-07 21:27 ( Edited 2019-09-18 04:56)

I'm loving coroutines -- they make it so easy to write complex animations and user interactions. But without error stacktraces, debugging them is a nightmare. What's the plan around this? Can we expect a new version of Pico-8 with better error reporting from coroutines?

P#65592 2019-07-05 09:33 ( Edited 2019-07-05 09:34)

Cart #rocket_rivals-8 | 2020-04-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Rocket Rivals, a one-button multiplayer game of brinkmanship.

Each player has a single control button that controls their thrust. Players earn points by flying higher than the other players, but lose everything if they hit the laser beam top of the screen.

Each match lasts one minute.

You can choose active players and their characters on the title screen (at the moment only controller 1 navigates the menu).


P#65247 2019-06-17 23:08 ( Edited 2020-04-07 18:39)

Cart #colour_illusion-1 | 2019-06-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Each ball is drawn in the same colour (brown) but it appears red, green or blue depending on which colour stripes are drawn over it.

Inspired by an image shared on twitter. (See https://twitter.com/testingham/status/1139558284631789568)

I thought i'd see if pico-8 can create the illusion even with its limited palette. The answer is: yes it can! :-)

And unlike an image, in pico-8 you can read the source code to confirm the illusion acts as stated.

P#65215 2019-06-15 08:52 ( Edited 2019-06-17 07:05)

I’m trying to print text centred around a point.

At the moment my code offsets the x coordinate by half the width
of a string in pixels, calculated as (4* #s)-1.

This works fine for
alphanumeric text but is wrong when the text contains glyphs.

Is there a built in function to help achieve this?

Or do I need to examine every character when computing the pixel width of the text?

P#65194 2019-06-14 15:12 ( Edited 2019-06-14 15:12)

Cart #divisibubbles-1 | 2019-06-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
Cart #divisibubbles-0 | 2019-06-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

An arcade/puzzle game that will challenge your reactions and your wits.

Tap the bubbles that contain a divisor of the number shown at the top-left corner of the screen. When you've tapped them all, the number will increase and more bubbles will appear.

But time is running out. A wrong tap will cost some time. A successful tap will gain some time. Can you get to 100?

This game uses Pico-8's mouse/touch input.

P#65064 2019-06-07 23:55 ( Edited 2019-06-14 12:45)

Follow Lexaloffle:        
Generated 2022-01-25 22:24:49 | 0.105s | Q:50