SKBN
About
SKBN is a sokoban clone called SKBN. The 128kB ROM contains the 1043 levels of the Microban and Sasquatch collections by David W. Skinner, as well as the 139 levels of the Dimitry & Yorick and Sokogen-990602 collections by Jacques Duthen.
In this project, I focused mostly on making sure that all levels in those sets would be playable, even large ones.
To achieve this, the engine supports different tile sizes: 24x24, 16x16, 12x12, 8x8 and 4x4. The 12x12 engine was the most challenging, as the two grids of 8x8 tiles (native) and 12x12 tiles (virtual) create interesting complications, combining vertical and/or horizontal splits. The required tiles are built on-the-fly while displaying and playing the level.
The 4x4 engine is useful for previews, but also for very large levels. But those may not be very playable unless you use an emulator or an RGB-connected display.
The in-game menu has options to undo a move or the last push. The history can hold 1000 moves.
Of course, solving more than 1000 levels in one session is unthinkable (probably) so the completion status of the levels is saved in battery-backed SRAM, or directly on flash, if the game is running on a compatible design such the raphnet-tech reprogrammable cartridges.
This game was a smspower.org competition entry in 2021: https://www.smspower.org/forums/18409-CodingCompetition2021SKBNByRaphnet