Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General

Cart #pupafowani-1 | 2020-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#71820 2020-01-07 17:47

Cart #tentropy-0 | 2020-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

do YOU have what it takes to be random?

P#71807 2020-01-07 05:10

Cart #zoyujobumi-2 | 2020-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hi everyone :)
I'm new to Pico-8 and set myself the task of learning Lua.
Thought I'd go with something I know so here's my shameless ripoff of the Asteroids arcade game.

Controls are exactly how you remember.
D-Pad to steer and thrust
Buttons for shoot and Teleport.

Be careful with Teleport... It's not always a get out of jail free card ;)

My code definitely could use optimisation but everything seems to work.
Any feedback is appreciated.

Cheers :)

P#71806 2020-01-07 05:00 ( Edited 2020-01-07 06:03)

Cart #trees-0 | 2020-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

press o to refresh.

P#71801 2020-01-07 01:28

I'm just starting out in PICO-8 and messing around with OOP-style prototypal inheritance, so I tried to run the following code:

myclass = {str = "printme"}

function myclass:new(o)
 o = o or {}
 self._index = self
 return o

subclass = myclass:new()

...and it prints [nil] .

Should it not print "printme"? What am I doing wrong here?

P#71795 2020-01-06 21:21 ( Edited 2020-01-06 21:21)

I've just figured out how to get PICO-8, sound and all, to work on ChromeOS 79. Since there doesn't seem to be any other information on the topic, I'll post it here.

To begin, install Linux (Beta) (a.k.a. Crostini) on your Chromebook. You can learn how to install Linux (Beta) here.

After Linux (Beta) has installed, install and unzip the Linux version of PICO-8. Then, drag and drop the pico-8 folder into My files / Linux files. That way the files will appear in the home directory of Linux (Beta).

Next, we need to make pico8 executable:

$ cd ~/pico-8
$ chmod +x pico8

That's enough to get PICO-8 working. However, the sound won't work. To fix this, open the new Terminal app and type the following commands:

​​# Make sure the new cros-pulse-config package is installed.
$ sudo apt-get update
$ sudo apt-get dist-upgrade

# Clear out existing pulse settings.
$ rm -rf ~/.config/pulse

# Turn it off & on again via crosh (Ctrl-Alt-T).
crosh> vmc stop termina

Finally, to run PICO-8:

$ cd ~/pico-8
$ ./pico8

And there we go! PICO-8 running on ChromeOS.


Lexaloffle - A proper Linux installer, please
Chromebook Help - Can't get my Linux apps to produce sound
Chromebook Help - Set up Linux (Beta) on your Chromebook

P#71790 2020-01-06 02:57 ( Edited 2020-01-06 02:58)

HELLO and welcome back to another exciting week of Applecart.

When we first started, we wanted you programmers out there to give us your own rendition of Apple ]['s own Saucer Attack, an old 6502-assembly Apple ][ game that was originally read in the computer by audiocassette.

There were two entries total, and you can find those HERE:

Saucer Attack written by dw817 (12-29-19)

Destructoid written by chizel9000 (12-29-19)

The week after that we had a new competition, to make a game called Saucer Invasion, slightly different from the above. In this case we had a bonus, a video to look at so we could indeed see the original game, its instructions, presentation, and operation.

Youtube video of Saucer Invasion

So there were two entries on this one, and you can find those HERE:

Saucer Invasion 2020 by nosnibor28 (01-05-20)

Saucer Invasion by dw817 (01-05-20)

Your challenge for THIS week is to make this game. BOMBER.

And this just might introduce you to particle effects to handle the explosion.

Now those of you who have been in Pico-8 for some years may recognize me writing this game many years ago. And that's fine, this next Sunday I will release a new version of this cart chock full of helpful remarks. But THIS SUNDAY until then you are encouraged to write your own version.

And it doesn't have to be exact. If you want to add some new items, perhaps new sound effects and graphic eye candy in much the same that nosnibor28 and chizel9000 did with their carts, you are more than welcome to.

Here are some things to consider.

  1. Future versions of this game had the tank initially start out at one speed, but once bombed it would take off in a new speed and possibly in reverse making it that much harder to hit.

  2. You are encouraged to NOT have your sprites flicker. Tribute not clone.

  3. Your game does not need to be B&W, you can make it color if you like.

  4. Experiment with Pico-8's sound and you just might get a jet engine or a tank's motor.

  5. Instead of having the tank or jet blink from one side of the screen to the next when they reach the end of it, have them smoothly glide so it appears they are arriving on one side of the screen as they are leaving the next. You can see this in my Saucer Invasion game.

  6. Notice the bomb from the jet follows an interesting curve. It is this that makes the game challenging.

  7. Game should end if you run out of bombs or time.

  8. Jet of course cannot fire if bomb is already in air or tank is exploding.

Hope these ideas help, and see you then !

P#71777 2020-01-05 22:52 ( Edited 2020-01-05 23:29)

Cart #si-1 | 2020-01-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
TO LOAD THIS CART into pico-8, type in immediate mode:

load #si

See source-code full of remarks detailing what is happening.

This is my entry into this week's 🍎Applecart series.

The premise is simple but the gameplay is challenging.

You are given 15-missiles to shoot into the UFO in the sky. But your missiles do not just shoot straight out. They take a moment for the rockets to really get going so you'll need to predict where the UFO will be when your missile hits.

And the UFO does not take a straight course either and can change direction in a moment's notice. However the UFO does not take into account the missile's location.

It's up to you to rid our skies of these out-of-this-world visitors, and you only have 90-seconds in which to do it !

Classic start simulates a real Apple ][ computer complete with floppy-drive booting sounds.

Get 50-points for each UFO shot and lose 10-points for each time you miss.

Get through the game and see your final results.

Controls are MOUSE to simulate Apple's Paddle Zero and LEFT button to simulate Apple's button on the paddle.

P#71780 2020-01-05 18:15 ( Edited 2020-01-05 18:23)

Cart #saucerinv_nosnibor28-0 | 2020-01-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Submitted for Applecart. Thanks again, @dw817 for the fun challenge! Also thanks to @chizel9000 for the helpful feedback on the WIP.

Saucer Invasion is a game in which you shoot missiles at flying saucers. You can move the silo horizontally across the bottom of the screen and fire vertically at your foes. Your score for hitting a target is based on its height and speed, and there's a penalty for missing. The game ends when you run out of either time or ammunition. This is explained in a big ol' wall-o-text intro at the beginning, in keeping with the spirit of the original 1977 Apple II game that served as inspiration.

Updates from the WIP version:

  • Flying saucer Y movement is smoother. Instead of jittering randomly, the saucer picks a target Y value and moves toward it. When it reaches the target Y, a new target is randomly selected. This actually makes the game harder, in my opinion!
  • Smaller missile. Original missile was 8x32 in its first stage and 8x16 in the second stage. This looked awkward, so I shrunk it to 8x24 and 8x12.
  • Two graphics modes! Select DEFAULT or CLASSIC graphics from the title screen. DEFAULT uses my new sprites, while CLASSIC draws the elements each frame using LINE and RECTFILL (just like the good old days).

Have fun! :-)

P#71767 2020-01-05 02:56

Cart #ix_calmsail-0 | 2020-01-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Menu: Z to start game.

Game: UP/DOWN/LEFT/RIGHT to move the boat


Just a nice calm game where you float your boat around the sea. Nothing happens except the sound of the gentle waves. You can relax.


December was an aggressive month with a lot of supposedly free time that did not end up feeling very free. To be fair I also worked on two or three other different games this month, so that doesn't help.

Note: I expect to stop working on monthly games early in 2020, not sure exactly when. They have been stressing me out for too long and they make it hard to ever work on something with a slightly larger/longer scope.

itch.io page: here​.

#onegameamonth December 2019

P#71766 2020-01-04 23:24 ( Edited 2020-01-04 23:25)

Cart #planet_grid_mrh_v1-1 | 2020-01-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Welcome to Planet Grid. This is a small puzzle game, loosely based on the board game Barenpark. Instructions in game. Enjoy! Please feel free to leave any constructive criticism.

Controls: Arrow keys: select/move piece, Button O: Confirm, Button X: Rotate piece

Edit: Released v1.1 with a few small improvements and bug fixes.

P#71737 2020-01-03 23:10 ( Edited 2020-01-05 13:29)

oxo3d - 3d noughts and crosses / tic-tac-toe

Oxo 3D is a 3 dimensional (4x4x4) noughts-and-crosses / tic-tac-toe game for pico-8. This is a game with considerably more strategy than the traditional 3x3 version.

Quick start

You're O and you have to get 4 in a row. The board is a cube viewed in slices. Imagine the 4 slices piled on top of each other.

Use the arrow keys to move the highlight and press Z to place a piece.

Use X to view the cube in different orientations.

Use Enter to view the menu to change level.

Watch out for tricky diagonal lines!

Good luck!

How to play 3D Noughts-and-Crosses

Each group of 4x4 positions represents one plane on the cube.

On each layer there are 10 possible winning lines, 4 horizontal, 4 vertical and two diagonal.

However lines may run from layer to layer also.

There are 76 lines in total possible, these are 4x4 = north-south lines, 16 east-west lines, 16 vertical lines, 2x4x3 = 24 diagonal lines from one edge to another, and 4 diagonal lines from corner to corner.


There are 3 carefully graduated levels which you change with the cartridge menu (Enter).

  • Easy
  • Medium
  • Hard

The levels get increasingly hard. Easy and Medium use the same simple heuristic player, but Easy makes random mistakes. Hard uses a two level lookahead player - watch out is is very sneaky.


  • Written in ZX81 BASIC (1983)
  • Converted to QL BASIC(1985)
  • Converted to BBC Basic (1985)
  • Converted to Psion 3a OPL (1994)
  • Converted to C (1996)
  • Converted to Perl (2000)
  • Converted to Python (2004)
  • Converted to LUA and pico-8 (2019)

I used to play this game with my father when I was a boy. We always used to play on squared paper while sitting round the kitchen table. When I was old enough (and the home computer had been invented) this inspired me to write a computer player for the game.

The very first version of this game was written in 1983 on a Sinclair ZX81 in BASIC. It used to take 60 seconds to think of a move, and it used to beat the author nearly all of the time.

This pico-8 version is a pretty faithful port of the original ZX81 game though I think the original program only had the equivalent of Medium difficulty.

I wrote this as a first step towards getting my son interested in pico-8 programming - I thought I'd better learn how first!

P#71714 2020-01-02 21:16

On Chrome: Version 79.0.3945.88 (64 bits)
How to reproduce:

  • navigate to any game
  • click on "code" dropdown
  • page becomes unresponsive (cannot be selected, game cannot be launched...)

Not reproduced on Edge (and apparently on Firefox - cannot test)

P#71715 2020-01-02 21:05 ( Edited 2020-01-02 21:48)


This may or may not be a bug - the version of the webplayer currently on the forum (0.1.12d rc7) does something funky during the initial loading screen of my game - https://www.lexaloffle.com/bbs/?tid=36430.

When you see the "loading..." text the rest of the screen should be completely black, but the webplayer displays some extra blue dots in grid pattern across the screen.

At this point the cart is decompressing a px9 file to video memory (see the first four lines of _init()), so seeing artefacts appearing in the output was a little worrying :)

The data seems to be decompressed correctly though, so perhaps this is just part of the glitchy cart reset effect, but I can't really tell.

P#71704 2020-01-02 19:03 ( Edited 2020-01-02 19:05)

Cart #ekvadior_blockpop-0 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Block Pop!


Arrow keys - move selection / fire ball in direction
Z / C - accept / switch balls
X / V - cancel / speed up


Block Pop! is an old-school inspired puzzle game. Stop the blocks from getting to your castle by popping them with the right colored balls. Try to get the longest chains to maximize that score!


Hello everyone!

This is my first attempt at making a pico-8 game. I always wanted to do an oldschool puzzler with action elements like tetris, so when I found pico-8 I had to do that first. Sadly I couldn't find the time to get some music in, but I think the game can still be considered finished. Hope you enjoy it, and I would love some feedback!

P#71691 2020-01-02 15:44 ( Edited 2020-01-02 15:45)

I did try to start PICO-8 from console on a 32Bit debian linux, but failed on different PCs which havent installed a desktop-environment (on a 32bit installation with desktop-environment PICO-8 does start).

libsdl2-2.0-0 is as package installed.

I want to start PICO-8 like on my Raspberry Pi from the Framebuffer-Console.

I tested the follwoing commands:

[ 17.824130] fbcon: inteldrmfb (fb0) is primary device
[ 18.877747] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device

dpkg -l|grep -i sdl
libsdl2-2.0-0:i386 2.0.9+dfsg1-1 i386 Simple DirectMedia Layer

SDL Error: No available video device
** FATAL ERROR: Unable to initialize SDL

export SDL_FBDEV=/dev/fb0
export SDL_VIDEODRIVER=fbcon

SDL Error: fbcon not available
** FATAL ERROR: Unable to initialize SDL

SDL Error: fbcon not available
** FATAL ERROR: Unable to initialize SDL

I also got the same error on a 64Bit Ubuntu with the 64Bit version of PICO-8 where is also only libsdl2 and no desktop environment installed.

Is linux missung a OpenGL part like the Raspberry Pi has?

P#71686 2020-01-02 10:21

Cart #skills_of_detection-1 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

i barely finished this in time for the jam, but here it is in its raw form for your enjoyment :)

this was made for Toy Box Jam!

P#71681 2020-01-02 05:11 ( Edited 2020-01-02 05:12)

Cart #rocketdude-27 | 2020-01-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This is my entry for Toy Box Jam 2019. All the art assets were supplied for this game jam.

Try to get the little Rocket Dude through these levels!


Left/Right Arrows: Move
Up Arrow: Enter Doors
Z: Rocket Boost

Art / Animation by Lafolie, Toby Hefflin, That Tom Hall
Sound effects by Lafolie, Gruber, That Tom Hall
Music by Gruber, That Tom Hall



P#71661 2020-01-02 02:34 ( Edited 2020-01-14 08:09)

Cart #ninjoes_trials-2 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart Full Name: Ninjoe's Trials
Alias on Itch.io it was submitted under: svntax
Cart Name on Lexaloffle: #ninjoes_trials-2

Update 1: Fixed bug where items broke after one run.
Update 2: Removed debug print line.

P#71654 2020-01-02 02:13 ( Edited 2020-01-02 03:57)

Cart #thangkagen-5 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This is a prototype for a thangka painting generator based on traditional measurements. Developed for the #toyboxjam.

P#71655 2020-01-02 02:10 ( Edited 2020-01-06 04:16)
View Older Posts
Follow Lexaloffle:        
Generated 2020-01-25 14:26 | 0.133s | 2097k | Q:194