So a thing I distinctly remember from back in the day was games coming on multiple CDs. Usually adventure games, and the like.
Now, is this possible with Pico-8? My assumption was being able to have a "huge" map by splitting the areas on different carts, and having a "load screen" that asks you to change the cart.
I know it's possible to load other carts from within a cart and other funky stuff, but that's a liiittle different. I'd like it to feel a bit more physical than that, hence asking the player to load the next cartridge.
The problem therein, though, is that base ram is copied from cart rom whenever the editor is closed. Does that include the prompt? I'd love to try to test this out, but...uh, I really have no idea where to start.
Also, this'll probably be a neater trick to pull when the persistent save data is out.
You can save data as colors on screen (pset), then read them from new cartridge (pget), but tricky part is you need to be sure user doesn't clear the screen before loading new cart.
If you want more physical experience, but want player to be safe, create black screen saying "Insert cartridge 2 and press button to continue" and put state data as colors to the bottom of the screen, when the player presses button just load next cartridge using load("cartname") followed by run().
Ps: assuming you will save only numbers, you are limited by number or colors - 16 per pixel, but you can encode quite even big numbers pretty easily into multiple pixels, also create some sort of checking mechanism that your data is not corrupted (for example every 8th pixel in the row should have specific color), you can save quite lot of data in one screen, should be enough to transfer player health, cash, position, items etc.
The 0x4300 range of RAM doesn't get touched unless you do it yourself (or, of course, you shut down pico-8).
The first thing that comes to my mind is to draw the prompt to the screen, and halt the game (force the user to hit 'esc' and return to the console). From there the user can navigate to the cart you want them to load. Using some clever memory management you can do all sorts of cool things (ensure the user is loading the right cart, verify the integrity of the ram, etc.).
[Please log in to post a comment]