SokoGrump is a cross-platform Sokoban-style puzzle game built with C#, .NET 10, and MonoGame DesktopGL. It reworks the classic BoxWorld formula into a compact crate-pushing puzzle game starring Grumpy Cat.
The game includes 100 hand-authored levels with progressively harder layouts. Your objective is to push every crate onto a target tile without cornering yourself or blocking the board.
- 100 included puzzle levels
- Keyboard-driven gameplay with mouse support for menus
- Move counter and current-level display during play
- Continue Game support through saved progress
- Fullscreen toggle in the settings menu
- Cross-platform DesktopGL build
Each level is played on a fixed grid. The player can move freely, but crates can only be pushed, never pulled. A level is complete when every target tile is occupied by a crate.
W,A,S,Dor arrow keys: moveR: restart the current level- Mouse: navigate menus and use the on-screen retry button
Download the latest packaged build from the GitHub releases page.
- .NET target framework:
net10.0 - MonoGame DesktopGL (or compatible runtime)
- NuciXNA (restored automatically from NuGet)
The CI workflow installs dotnet-mgcb and TrueType core fonts before building on Ubuntu. If your local environment is missing MonoGame content build tooling or required fonts, install those before building.
dotnet builddotnet runThe game stores settings and saved progress in the local application data directory under SokoGrump.
Content/: fonts, sprites, cursors, audio, and content pipeline assetsDataAccess/: level loading and storage-facing modelsGameLogic/: board handling and gameplay rulesGui/: screens, controls, and rendering helpersLevels/: bundled.lvlfiles for all shipped stagesModels/: domain objects such as boards, tiles, and the playerSettings/: graphics, audio, and saved-user-data management
Contributions are welcome.
Please:
- keep changes cross-platform
- keep pull requests focused and consistent with existing style
- update documentation when behaviour changes
- add or update tests for new behaviour
Licensed under the GNU General Public License v3.0 or later. See LICENSE for details.

