So, I was in love with PICO-8 while making a game, but then I ran out of tokens. So, I tried a few techniques to optimize my code but it became clear that I wasn't going to be able to fit everything I had planned. So, I just posted the game with some significant content removed.
Some people have reported bugs here and there, but when I go to fix them I end up running out of tokens just to do my debugging (i.e.adding extra keyboard input for testing purposes).
I get, and enjoyed, the idea of having strict limitations, but hitting the token limit just ruined the experience for me. Even if I could just go outside of its limitations just for the testing process, that would be great. I know it's part of the charm of PICO-8, but the token limit (at least) has kinda killed the fun for me.
Does anyone else know of any tricks for this? Does anyone else feel the same way?
I understand what you are saying, but I think it wouldn't be the same without the limit. I used to play around on Godot Engine before trying Pico 8 and one of the things I enjoy the most is the token limit. I've learned a lot about making my code more concise with it and it's been a very gratifying experience having to work under a limit.
If you feel like the limit is dragging you down, perhaps you should try another game engine. You can still use Pico 8 as an art suite (for pixel art, sounds and music) while coding the actual game on another software, like the Godot Engine. Maybe that would suit your projects better.
Thanks for your input. Godot is actually the other "thing" I've been using lately. With PICO-8, I like how fast I can start slapping things together - going back and forth between code, sprites, sounds, etc. With Godot, I feel like I have to try to plan things a little bit first.
I guess I just like the limitations most of the time ;).
The limitations apply to the PNG carts, which are meant to be the released, public versions of games. For development, if you do all your changes in a P8 file, you can always save even if you are over the token limits. (The P8 format also lets you use any text editor, copy/edit sounds, use version control and see differences between versions.) So this workflow should help: develop with a P8, save as PNG to publish.
Another trick is to have all your debug/inspection code in a separate lua or p8 file and have '#include debug.lua' at the top of your code, so that you get access to your functions during development (include is like a direct copy of the source code), and you comment the line out and remove all debugging function calls before saving as PNG.
Previous message only answered your question about limitations for development. If the game itself really needs more data than available, we’re talking about over techniques.
- not enough tokens: rework the code in big or small ways to make it shorter
- not enough sprites/sfx/map: encode data as strings, load them at runtime and write them to the right memory section to replace what’s there
- still not enough sprites/etc and not enough space in code to encode data as strings: publish only your level 1 on the BBS, make another version using multicart (one cart can load sprites/map/etc from another cart, up to 16 carts), export that to HTML so you can publish the full game on your website or itch dot io
[Please log in to post a comment]