Log In  

Picotron FAQ

What is Picotron?

Picotron is a Fantasy Workstation for making pixelart games, animations, music, demos and other curiosities. It has a toy operating system designed to be a cosy creative space, but runs on top of Windows, MacOS or Linux. Programs made with Picotron can be exported as stand-alone binaries or Web apps, or shared directly with other Picotron users in a special 256k png cartridge format.

How does Picotron Differ from PICO-8?

Although Picotron is conceptually similar to PICO-8 -- an imaginary machine that you can make things for with built-in tools -- it aims to be a more practical and flexible development environment. The two main differences are in specifications (larger display and cartridge capacity), and the way that built-in tools are implemented.

Unlike PICO-8 and Voxatron, all of the design tools in Picotron are written in Lua and are editable from inside the machine itself. For example, it is possible to add a custom brush to the pixel editor, or to create new tools from scratch that run in fullscreen workspaces alongside the bundled editors. There is also a desktop-like workspace for making smaller tools that suit windowed / tiled layouts. Tools that run in windows or commandline can be distributed as .p64.zip files, or exported as stand-alone applications.

These additions and the subsequent shift in focus of the machine give Picotron the title of 'Workstation' rather than 'Console'. Instead of 'Plug in a keyboard to get a devkit!' It feels more like: 'Unplug the keyboard to get a console!'

Will Picotron be Compatible with PICO-8?

Yes and no. Picotron supports PICO-8 style shorthand syntax, almost the whole API, and has compatibility features such as 4-bit per pixel video memory mapping. So it is relatively easy (and often trivial) to port PICO-8 cartridges. However, it is not designed to run PICO-8 carts out of the box, because the underlying machinery is quite different. For example, Picotron uses floating point numbers, and so can only approximate PICO-8's fixed point math behaviour.

Can I Use Picotron to Make Large Games?

Yes! Programs exported as stand-alone binaries/html do not have any size limit.

Cartridges saved in .p64.png format however are limited to 256k of (compressed) data. This format is intended for posting cartridges on the Lexaloffle BBS, and targets small and medium sized projects. Picotron compresses sprite and map data automatically, so 256k can still mean quite a substantial project, depending on the type of game and art style.

Picotron also has more RAM for holding larger in-game world states. The Lua RAM limit has not yet been decided, but it will likely be an order of magnitude more than PICO-8's. Picotron also has API support for 1D~4D blocks of typed data that can be accessed using pget/mget style functions (it is not a modification of the Lua language). All of Picotron's standard resource types are stored in this way (bitmaps, audio data, multi-layer maps), and can be accessed with the same API functions. This allows for more efficient storage and manipulation of large world data than is available by using standard Lua data structures.

How does the Palette Work?

Picotron has a 6-bit display, so 64 colours can be displayed at any one time. The palette can be defined with arbitrary RGB values; there are no hard-wired colours like PICO-8. There is a default system palette of 32 colours, with 32 empty slots, that is a combination of the standard PICO-8 palette and 16 extra colours. The extra colours are not the secret PICO-8 palette, but are designed to function nicely when recombined with the standard 16. Additional colours can also be displayed in the same frame by defining up to 3 alternative palettes and switching between them per scanline.

Which Platforms will Picotron Support?

Initially Picotron will target Windows, Mac, Linux, Raspberry Pi (3 and higher) and HTML5/wasm. Longer term, Picotron's runtime will be made available as a permissively licensed C library that depends only on a small amount of OS-specific code, and uses SDL2 to implement this by default. This will allow any cartridges exported from Picotron (and Picotron itself) to run on any available third-party ports of the runtime.

When will Picotron be Available?

A limited alpha release is planned for late 2022, and a more general alpha release sometime in 2023. I'm still focusing mostly on Voxatron and PICO-8 in the meantime, but want to give the project time to co-evolve (the first prototype of Picotron was made around the same time as PICO-8, codenamed 'PICO-64', as a placeholder for things that PICO-8 should avoid!). You can also try #picotron on twitter for sporadic previews and developments.

Follow Lexaloffle:        
Generated 2021-12-07 20:34:54 | 0.002s | Q:0