I've been wanting to be able to make a game in which you explore a large game world that is bigger than the available map space in Pico-8 for some time now but I can't see an easy way of doing this. I've seen people using bits of the sprite space but I'm still not sure how they achieve this.
I'd like to be able to have a giant game world similar in size to that of 'Duck Duck on the Loose'
If anyone knows of ways to do this i'd love to here your ideas!
you can save your map data to strings and load the data to an array.
Then draw the map by your own, or stream it to map memory while scrolling.
You probably need to compress your data.
Don't know how big the map in 'Duck Duck on the Loose' is, but you can reach 70-100 screens by storing your map in compressed strings.
Ultimately, it depends on the compression rate, how big the world can be.
First off, I believe Duck Duck's map is actually completely stored in the regular map space, except that each tiles is rendered as a 32x32 square. But I don't think that's what you want.
Storing your map in a string or simply in an array strikes me as the right way to go about this. If I were you, I'd store my map in compressed chunks of 8x8 tiles disposed in a bigger grid of maybe 32x32 chunks. (that'd be a total of 256x256 tiles on your map)
Then, in game, I would decompress the chunks that are colliding with the screen space, to the map, using mset.
About the actual loading of the map, you could either generate the map with code or design your map on Pico-8 and copy-paste-parse the map data, or do a mix of both by sampling map data. (that last option is probably the one you want)
I hope that helps! :)
At the moment I'm experimenting with the poke(0x5f2c, 3) cheat. It basically reduces the screen size to about 60x60 pixels meaning everything is magnified. The sprites therefore are much larger and the map will feel bigger. I'm working on a game like Google Maps to showcase how the Map can be made larger (Taking Link's Awakening as an example, the game's map was incredibly tiny but the devs used simple tricks to make it seem massive!) The amount of detail that you can put into your sprites will take a hit but hopefully this can give you the results you're looking for!
[Please log in to post a comment]