Now it's possible to press RETURN > EDIT LEVEL to use a rudimentary level editor to create your own map.
Keys:
Arrow keys to move the ball,
Z and X to change between maps (used for block testing)
<details>
<summary>Next up</summary>
- Procedurally generate a full landscape
- Blocks casting shadows,
- Some form of game mechanism — probably "The Incredible Machine" inspired
</details>
<details>
<summary>Looking for older versions?</summary>
- 0.3 by cauli

Here's a simple ebook reader with the first three chapters of A Tale of Two Cities. Press X to advance (once per paragraph / page).
This is a tech demo of some tools I've been working on for developing text-based games. It'd be more impressive if it were an actual game, but this victory was hard won so I'm posting it. :)
Notes:
-
Text is stored in cart data, not as string literals in the code.
- The original source file does have the text as string literals in code. I use a post-processor to extract the string literals, pack them into text data stored in the cart, then replace them with string IDs. I use a custom syntax to flag which strings ought to be extracted so I can still use regular string literals elsewhere. The processing tool lets me adjust the location of the text in memory, so I can set aside space for sprites, sfx, etc. by limiting the size of the text data region.

The first PICO-8 Jam is approaching!
Following on from this thread, here's an invite cart to make it legit:
Duration: The Jam will take place from 00:00 PST on the 21st of November 2015 and will finish at 24:00 PST on the 29th. So, it spans 2 weekends and 5 weekdays. You can spend as much or little time on your carts as you like. Tiny silly cartridges are more than welcome.
Theme: As is customary with other jams, a theme will be posted at the start and the goal is simply to make a cart (or some carts) during the jam that reflect your interpretation of the theme. Any type of cartridge is ok: games, toys, demos, music carts or pixels.

The console is amazing and I'm loving making stuff in it but, to be honest, the in-console editors suck sometimes. Especially the code editor. And sometimes I'd really like to be editing the graphics and music in a more robust program.
One fairly simple feature that would help a lot is auto-reload when a cartridge changes. I pretty much always have a cartridge open in both a text editor, to write Lua code, and in Pico, to test changes. The text editor reloads automatically and that's awesome, but I have to manually reload the cartridge in Pico whenever I make changes to the code. And not only is it tedious, but I'm also prone to forgetting and making and saving some change in Pico, thereby overwriting the data that had been previously saved by the text editor.
In the same vein of making it easier to write code in an external program: Please don't lower-case all my code. It might not matter in Pico's text editor but it does when viewed in an external program.
An alternate cartridge format could help with using external editors, especially for sprite and audio data. A cartridge could be represented by a directory containing one Lua file, an image file containing the sprite data, a data file (perhaps in TMX format, that looks fairly popular?) for map data, another data file for sprite flags, more data files for sound effects and music, hopefully in a standard format. It might get dodgy with the way data can be shared across sprites and maps, for example, but I'm sure there's a way to make it work.

I've been using the Pico-8 for a while now, since it's pretty much everything I've ever wanted in a "fantasy console", and I would have made one almost exactly like it (albeit with a larger palette and looser limits, perhaps...) if and when designing and programming one myself. So to skip that entire process and jump straight into making nifty little widgets and toys for this device... Well it's been quite a dream come true!
That said, Pico-8 is far from being without issues, and more keep cropping up the more I play with it. So, outside of bug reports, here's a small laundry list of things I "want", or would be nice to have at some point...
Note: This is a blog post, an off-the-cuff rattling of random things I personally would desire. I'm not expecting it to be directly acted on or hotly debated or anything like that, this just keeps track of what I want so I don't forget, you know?
- The ability to call non-system functions without arguments in the same way as system functions, eg. as "run" instead of "run()". Maybe before trying to process the input as a Lua script, it should try to see if there's a global variable by that name first, and if that variable is a function, call it?! There's no reason to make such a distinction in most cases.

So, today I made a Pico-8 paint program... in Pico-8.
You might be wondering why I would do such a thing, since the Pico-8 development platform comes with a built-in paint program that's almost exactly the same, except it can use the mouse instead of clunky keyboard controls. The simple answer is... This is the beginning of what might be the biggest thing I'm likely to do on the Pico-8. Ever.
Imagine a Pico-8 game shared by a Dropbox folder or similar system, where every user gets their own character and their own room, and every object in the game world was uniquely painted up by users, held, given, and placed in those rooms to furnish them with things, and all of it was maintained by a slow, asynchronous system of a multitude of carts, set up in such a way that multiple copies of the game being run by tens of players should never cause data collisions.
Welcome to Pico Hotel, an oldschool collaborative world-building and interaction experience.
Is there no way to get a substring with pico? x:sub, which is standard in 5.1, results in an error. So does string.sub, and so does x:gsub.
Relevant: http://stackoverflow.com/questions/829063/how-to-iterate-individual-characters-in-lua-string
On this quiet and endless night, the TETRATON will unleash its potential and attempt to survive this technological challenge where it has to change its weapon module the biggest number of times while being attacked by enemy ships!! WILL THE TETRATON MAKE IT TO THE END?!?!
No it will not. The night is endless.
A shooter inspired from LUFTRAUSERS and Super Crate Box.
'z' and 'x' rotates the TETRATON.
Directional buttons shoot (and propel) in involved direction.
Get to crate ball to change weapon and get a point.
[b]16 different weapons.
Double parallax.
Lots of bullets.
Quick deaths.
Quick retries.
Palette randomization.
Not very good soundtrack but hey I tried.





3 comments



