Here I'll be posting modular resources for use in your cartridges! Each cartridge includes both shortened code, taking up a minimum of tokens, as well as expanded code, with lots of nice formatting and explanatory comments. They're all released under the zlib/libpng license so please feel free to use them in your own project!
Like me, you may think the default font is kind of awful. If you do, here's some code that will help you render your own! The example font has 64 characters and starts at 0 in sprite memory, but you have full control over which characters are included and where they're located at and in which order they appear by making easy modifications to just a few variables. Take a look at the code to see how it's done!

Hey everybody! I'm currently working on a minigame collection in the vein of Pokémon Stadium for N64. Progress has been slower than anticipated due to a deluge of 'real' work, but I'll continue to update this thread as the games get completed. At the moment, the first minigame (Dig! Dig! Dig!) is working and the second (Pico-san Says!) is well on its way.
The game supports four players, and I'm hoping the finished product will be a great companion to three friends and some beers!
Stay tuned!

Something that confounded me when I first started using Pico-8 was: Where is my data being saved? For example, I wanted to have Pico-8 look for carts in my Dropbox folder so I could easily share my work between computers and with collaborators. But using this you can put your Pico-8 data wherever you want.
First of all, close Pico-8 if it's already open.
On Windows Pico-8 saves data in "%AppData%/pico-8". (To find where your %AppData% folder is located, you can select "Run" from the start menu and enter "%AppData%", and an explorer window will open there.)
On OSX it saves data in "~/Library/Application Support/pico-8".
You might fuck up, or I might have fucked up, so I recommend copying this folder and pasting it somewhere so if things go wrong you won't have lost your data, you can just copy the folder back and have things back to normal.
For convenience, let's call where you want Pico-8 to start saving its data instead [b]"New/Path/To/pico-8"

based on an old game i found in a book of board games
curently not functional (and no ai, not sure if i could even fit one in)
the game and rules

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.






1 comment



