3gengames wrote:Doing it with compression and not using a ton of RAM would be hard.
Map decompression and nametable updates should, in theory, be 2 different systems. Anyway, if you use fixed-size compression (i.e. not RLE, LZ and the like), decoding it in real time isn't so hard.
I'm not sure if anyone else has better methods, but with low CPU costs. Does anyone use a RAM table for collision on the background so you don't have to read the PPU?
I doubt anyone reads the PPU for collision. If they do, they certainly shouldn't. VBlank time is already too short if you're only writing to VRAM, imagine if you also had to read it in order to make game decisions...
I'm not sure if RAM tables are the best option either, because they wouldn't work well with slopes and blocks more complex than solid/empty unless they used much more than 60 bytes of RAM.
For collision decisions I just read directly from the level map. Once I have a metatile's index I have access to all of its collision information.
Now I really really think it's time for a split!