User: Password:   New User | [?]

  PICO-8 Jam #2 Results
The theme for the second PICO-8 Jam was Chain Reaction, and there were 35 entries. Thanks to everyone who contributed and made this jam a another splendid event. I hope you'll join me in congratulating the winning entry, which received a whopping 7.3 PICO-8 star average.. *theatrically opens invisible envelope*

NuSan! With Combo Pool.

Cartridge [#21659#] |2016-05-29 | Link

As a token of gratitude for laying down this most excellent cartridge, NuSan will be receiving a commemorative cross-stitch based on the cart.

Also highly rated by participants was another disarming production by JTE: Nora's Mouse Chase, and the beautifully chaotic SPACETANK 9000 by arnodick.

You can play all of the entries by clicking on this montage:

That was fun -- let's do it again sometime soon!

15 comments:: post a comment
Posted by zep 2016-06-06 06:11

  PICO-8 Jam #2: Chain Reaction

If you'd like to take part in P8JAM2, please select one or more themes by clicking on the PICO-8 star next to it (you need to be logged in). You can change it anytime before the 24h voting phase ends -- at 00:00 PST on Saturday the 21st. Check out the jam thread for more details.

Edit: times's up! The winning theme is Chain Reaction. You have 9 days! Good luck!

40 comments:: post a comment
Posted by zep 2016-05-20 03:00

  New Website and Player Layout
Hey All

I'm in the process of simplifying the website a little. In particular, I wanted to improve the experience of playing cartridges in threads by removing clutter. They now look more like a page dedicated to the cart:

- The player starts open
- There's a big obvious play button and large thumbnail
- There's no banner at the top of each page

Cartridge [#20430#] |2016-05-11 | Link

I removed the PLAY buttons from the thread previews, and autoplay, as I think they're no longer needed -- the whole playable region of a cart is now visible without scrolling after opening the cart's thread, and it's more obvious to new visitors what to do next.

There are still a few small things to finish, but let me know what you think of the new layout, and if there's anything that bugs you.

15 comments:: post a comment
Posted by zep 2016-05-17 16:25

  PICO-8 is Coming to PocketC.H.I.P.!

If you're looking for a complete portable PICO-8 solution, good news! PICO-8 is going to ship pre-installed on Next Thing Co.'s upcoming PocketC.H.I.P. -- a complete portable mini-computer with built-in storage, wifi, keyboard, battery, touchscreen and everything else PICO-8 needs! The last few months, I've been working closely with the team at Next Thing Co. to create "PICO-8 C" -- a fully functioning and compatible edition designed to integrate nicely with NTC's hardware and software. It will be available to Kickstarter backers, or you can also pre-order one for just $49 bucks.

You can read more about the PocketC.H.I.P. over at

31 comments:: post a comment
Posted by zep 2016-05-03 09:19

  PICO-8 0.1.6
Here's 0.1.6! You can download it from your updates page while you're logged in, or from your Humble Store Library. Just a reminder, that if you're a Voxatron alpha customer, you also own PICO-8! (it should show up automatically in both places).

By far the biggest change is the addition of SPLORE, a complete bbs and local cartridge explorer. You can run it by typing SPLORE, or start PICO-8 with "pico-8 -splore". If you plug a joystick in and auto-boot into splore, it's possible to navigate everything using only the 6 buttons + menu button.

This version also has a lot of new data storage functionality. Cartridges can cstore() to themselves in order to save extra data, and this is now officially supported on the web, so don't feel like it's a weird hack that's going to break! (actually it might break, but it's supported, so I'll fix it :p).  Here's a demo:

Cartridge [#19844#] |2016-04-17 | Link

Notes on cartridge storage, and the full change log:

  Cartridge Data

  Each cartidge is able to store 64 numbers (256 bytes) of persistent data
  on the user's PICO-8 (rather than on the cart itself). This can be used as
  a lightweight way to store things like high scores or to save player progress.
  If you need more than 256 bytes, it is also possible to write directly to the
  cartridge using cstore(). The disadvantage is that the data is tied to that
  particular version of the cartridge. e.g. if a game is updated, players will
  lose their savegames.
  Another alternative is to write directly to a second cartridge by specifying
  a fourth parameter to cstore(). This requires a cart swap though (so is
  slightly slower), and leaves data-cart litter when run from a local folder.


    Added: SPLORE local & bbs cartridge explorer
    Added: setmetatable(), cocreate(), coresume(), costatus(), yield()
    Added: Spinning cart icon to show when a cart is swapped / written to
    Added: Permanent storage when carts played in a browser
    Added: Adjustable aspect ratio (-aspect 420 for 1:1)
    Changed: Lua memory limit: 1024k (was 512k)
    Changed: Music channel now resumes after being clobbered by an sfx
    Changed: Arpeggios double speed when SFX speed <= 8
    Changed: Exceeding compressed code limit does not block saving in .p8 format
    Changed: spr() half as expensive, to be consistent with map()
    Changed: Fractional hex number notation: 0x0.3 == 0x0.3000, (was 0x0.0003)
    Changed: : operator doesn't count as an extra token (same as .)
    Changed: cstore() writes directly to disk
    Changed: cstore(), reload() return number of bytes read / written
    Changed: save() while running does nothing. (use cstore() instead)
    Changed: load() while running loads and runs the specified cartridge
    Fixed: Small pops in audio mixer caused by sound wave discontinuities
    Fixed: HTML5-exported sound clicks badly under Chrome
    Fixed: Display palette is not oberserved when exporting GIFs
    Fixed: Rapid keypresses causes duplicate readings in tracker & text editor
    Fixed: += inside comments breaks preprocessor
    Fixed: sspr() cpu cost the same when clipped
    Fixed: cartdata() with bad parameters crashes
    Fixed: EXPORT from commandline can not be used without brackets and quotes

42 comments:: post a comment
Posted by zep 2016-04-17 18:48

  PICO-8 for Raspberry Pi

A build of PICO-8 0.1.5 is now available for Raspberry Pi! Check your updates page or look in your Humble library under the Linux downloads section.

It works in fullscreen under either X Windows or directly from the terminal (using directfb). For speed, the default resolution is 280,280; you can set this with the -width and -height switches:

pico8 -width 720 -height 480

Known issues:

- After quitting, keypresses during the session are sometimes dumped to terminal (annoying if you quit by typing shutdown instead of CTRL-Q!)
- Freeze on exit (observed on a zero)
- Some math-heavy cartridges (e.g. /demos/cast.p8) don't run at full speed on first generation models.

There are two builds included in the archive. pico8 is compiled statically (so no need to install SDL2), and pico8_dyn dynamically loads libraries, in case you'd like to supply your own SDL2.

Have fun, and please post pictures if you get pico-8 running on any cute displays!

34 comments:: post a comment
Posted by zep 2016-02-26 17:14

  Tokyo Demo Fest 2016

This weekend (20th, 21st) I'll be at Tokyo Demo Fest 2016, giving a short PICO-8 seminar at 3pm on Sunday, and also making a wee demo for the Wild compo (also in PICO-8, naturally). If you're in Tokyo, come along! The venue is larger than last year -- 3331 Arts Chiyoda, which is around 8 minutes walk from Akihabara station. You can find the registration page and more information here.

Here's a 4k demo from last year (it won the combined pc section):

6 comments:: post a comment
Posted by zep 2016-02-14 12:06

  PICO-8 0.1.5
Hey All

Here's a quick update with music copying and keyboard configuration for controller buttons.

To configure buttons, use KEYCONFIG from the commandline.

To copy  a song from one cartridge to another:

1. In the song editor, click on the start pattern and then shift-click on the end pattern that you want to transport. They should light up green.
2. Control-C to copy the pattern data, along with the sfx they point to.
3. Load the cart you want to paste into, open the song view and click on the pattern index you want to paste to.
4. CTRL-V to paste. When pasting a song, any SFX that are needed are written to unused slots and then the pattern indexes are adjusted accordingly.


    Added: Keyboard configuration for player buttons (KEYCONFIG)
    Added: Music tracker select / copy / paste
    Added: Single-level undo in audio tools
    Added: Live preview of frequencies in sound editor
    Fixed: Command history extends past last reboot
    Fixed: Sfx exporter broken
    Fixed: Slashes at end of path resolve to double slashes
    Fixed: Load cart from commandline under Windows

15 comments:: post a comment
Posted by zep 2016-02-05 11:59

  PICO-8 0.1.4
Hey All, I hope you had a great new year!

PICO-8 0.1.4 builds are live on the updates page and on Humble. The main features of this update are:

Friendlier Token Counting

Pairs of brackets and block deliminations now count as one token each, and local declarations do not count at all. You can now fit in around 30% more code because of this, and there is less need for odd space-saving techniques (e.g. using blah"" instead of blah()), or getting rid of local variables. It does mean you're more likely to hit the compressed code limit (use INFO to check), but I don't think this will be a problem. The raw character limit has also been increased from 32k to 64k.

Importing / Exporting Data

import() and export() can now load and save the sprite sheet: export("something.png") and sfx: export("something.wav"). These aren't very flexible yet, but in future they'll be able to do things like grabbing particular sets of sprites, or only importing into empty slots.

External Cartridge Data Access

reload() and cstore() now take an optional 4th parameter: a filename to grab the data from or store the data to. This is useful for making custom tools, or doing fancy data management. It's intended at this point mainly as a development tool, and isn't supported by the exporter or BBS player. But of course, you can do what you like with it :P

Here's Let's Karate being gradually replaced with data from Jelpi during runtime:


    Added: spritesheet importing and exporting with import("blah.png"), export("blah.png")
    Added: sfx exporting with export("blah%d.wav")
    Added: External cartridge parameter for reload() and cstore()
    Added: Persistent cartridge data mapped to 0x5e00
    Added: Click token limit to toggle token & char limit display
    Added: assert(), type()
    Added: P to pause
    Changed: code char limit: 64k (was 32k)
    Changed: local declarations and semicolons not counted as tokens
    Changed: Pairs of brackets and block delimitations count as one token
    Changed: Only _update() or _draw() need to exist to enter main loop
    Changed: Allow forward-slash in code editor
    Changed: info() reports current (last loaded or saved) filename
    Changed: html5 version compiled with NO_DYNAMIC_EXECUTION
    Fixed: Shift-drag-copy sprites -> paste only pastes 1x1
    Fixed: ".." should count as one token
    Fixed: Tracker displaying D instead of .
    Fixed: Multi-line comments
    Fixed: Crash on run when code close to char limit
    Fixed: When over token limit, can not run any command
    Fixed: Unused high bits in SFX section not saved in .p8 format
    Fixed: Camera position memory mapping out of sync
    Fixed: pico8.txt link broken in windows installer
    Fixed: print() crashes when parameter is not a string or numbers
    Fixed: Multi-line strings & escape chars mess up tokenizer and print()
    Fixed: Joystick not responding when left stick is up to the left
    Fixed: Alt-F4 saves screenshot before quitting
    Fixed: Sprite editor mode button doesn't show fullscreen mode
    Fixed: -sound parameter not working in html5 version

33 comments:: post a comment
Posted by zep 2016-01-02 18:14

  Voxatron 0.3.4
Voxatron 0.3.4 builds are live on the updates page and on Humble.

This is a quick bug-fixing update, mostly responding to issues in the 0.3.3 thread.



Changed: Super-State conditions (S-STATE) apply to all actors including ones spawned by emitters
Changed: When pasting alias, activation controller parameters are copied from the original
Improved: More robust anti-stuck-in-a-wall method
Improved: Default object properties
Improved: Config file validation
Fixed: Aliased animation inside root of pickup renders pickup uncollectable
Fixed: Base weapon doesn't change with modifier
Fixed: Legacy sword has 0 attack damage
Fixed: Room editor: spacing between objects should be taken from object definition
Fixed: Zoot's weapon switching in Chaos Arena

0 comments:: post a comment
Posted by zep 2015-12-30 16:39

:: More

Join the Lexaloffle Newsletter:
Follow Lexaloffle:
More Indie Games:
Generated '16-06-24 21:57 / 0.019s / 1310k     About :: Contact :: Updates :: Terms of Use