Crypt of Sokoban (2025)
A downloadable game for Windows and Linux
a McRogueFace Demo @ 7DRL 2025
- Push Rocks
- Hold Down Buttons
- Go Through Doors
- Avoid or Destroy Creatures
- Find The Loot!
-- TBD: Demo trailer embed --
How to Play
- W, A, S, D: player movement. Push into enemies to melee attack.
- Period (.): wait 1 round.
- X: pull the boulder. The player will move in the opposite direction of an adjacent boulder.
- Z: Zap. Requires a wizard type weapon. The range is about 4 tiles, before random upgrades.
- Move the boulder to "The button" (looks like a circle on the floor) to unlock the exit.
- Click the "stuck" button if a level is unsolveable. This should be rare, and if you have need for it it then I'd like to hear about what you encountered.
How To Run
Windows
Download the .zip file and right-click to select extract all... to create a new folder. Crypt of Sokoban won't run while still in the "compressed folder"! Double-click mcrogueface.exe to run the game.
Linux
update: There is an AppImage for Linux. Download, mark as executable, and run it:
chmod +x ./Crypt_of_Sokoban-2025-linux.AppImage ./Crypt_of_Sokoban-2025-linux.AppImage
The AppImage is the easiest way to get the game to run on Linux, but you won't be able to edit the Python scripts. The gzip archive gives you direct access to the game's code. You can run McRogueFace engine after decompressing the archive like this:
Double-click on, or type into a terminal,
./crypt_of_sokoban.sh
or, if you have a reason to run the McRogueFace engine directly:
LD_LIBRARY_PATH="./lib:$LD_LIBRARY_PATH" ./mcrogueface
McRogueFace Engine
I'm the developer of McRogueFace Engine ( https://github.com/jmccardle/McRogueFace ) and the best reward you can give me is a github star.
This game engine is for my sons, my students, and my inner child. I started by auditing Dave Churchill's COMP4300 course and snowballed into embedding Python. The core principles of McRogueFace are:
- Zip up the McRogueFace folder with your scripts and assets, and anyone else can run your game.
- Every game is it's own minimal development environment: edit
scripts/game.py
and you are now a game developer. - Frames are renderable completely in C++: if there are no events or callbacks in Python, then the interpreter won't be used at all.
- The engine draws rectangles (frames), text (captions), images (sprites and entities) and grids (2D arrays). Keyboard and mouse input call your Python code; the rest is up to you.
McRogueFace is pre-alpha, but this jam game was made with only minor C++ changes to fix critical bugs.
Sources Disclosure
This submission builds on my own code which was open source as of April, 2024.
Many thanks to everyone's favorite Kenney for elevating my game from programmer art. I am a humble code janitor and if Crypt of Sokoban is beautiful, it's due to Kenney's art.
Crypt of Sokoban (2024) was my 2024 entry to 7DRL. I spent over half of the 168-hour period fixing segfault-like issues and submitted incomplete
. That submission consisted of little more than a rock-pushing function test, but I was far from done with the concept. I assert that Crypt of Sokoban was substantially transformed by the >1000 lines of new Python code that provide procedural generation, tileset coordination, the menu system, new and improved entity behaviors, and multi-level gameplay.
I streamed almost 13 hours of development: https://www.youtube.com/playlist?list=PLocvuO0AgFX4uay3Dx6Z_sykkhnAseid9
I estimate the streamed portion is about 40% of the work I did on the game. Over 168 hours, there's still sleep, and chores, and family - I don't think I made it to 40 hours of development time. Though if you count time thinking about it, I'm probably a bit over that mark.
updates
Fixed a breaking distribution bug on Windows. I can't figure out how rpath works for Windows, some computers seem willing to look in scripts/
for the Python files, others expect them to be in the same folder as mcrogueface.exe
. It's an engine bug. So I just put the python files in both directories for now
Fixed some bugs with executing on other environments: Added a run script to the Linux tar.gz file, and added an appimage
No game content was altered for these distribution fixes; Crypt of Sokoban will return and keep improving as the McRogueFace engine tutorial
Status | Released |
Platforms | Windows, Linux |
Author | John McCardle |
Genre | Puzzle |
Download
Install instructions
Windows: Download the .zip file and right-click to select extract all... to create a new folder. Crypt of Sokoban won't run while still in the "compressed folder"! Double-click mcrogueface.exe to run the game.
Linux: You can run McRogueFace engine after decompressing the archive like this:
LD_LIBRARY_PATH='./lib:$LD_LIBRARY_PATH' ./mcrogueface
or double-click on, or type into a terminal,./crypt_of_sokoban.sh
.
update: There is now an AppImage for Linux. Download, mark as executable, and run it:
chmod +x ./Crypt_of_Sokoban-2025-linux.AppImage ./Crypt_of_Sokoban-2025-linux.AppImage
Comments
Log in with itch.io to leave a comment.
I played for about 30 min, and ended up with 187 defense on level 19 (not sure if there is a limit to the number of levels) and nothing could hurt me, but oddly only regular mice were spawning.
Once the game crashed (maybe an infinite loop) when going though a door. About 10% of levels were unsolvable, usually because there was no way to pull or push the block around a tight corner, or a treasure box was blocking, so thank you for the skip button.
Overall, very enjoyable concept that I'd like to see expanded.
THANK YOU for the thorough playthrough!!
Going forward, I will replace the “stuck” button with a “reset” button, and have the full suite in place to make sure levels are solveable, even regarding chests, monster actions, and hallway-elbows. (There is in fact another bug / incomplete feature that is meant to make open chests something you can walk on top of, but that wouldn’t have been a complete fix)
Making it so you can walk on chests after they are opened is a good idea and would fix a lot of issues I had. Or make them pushable/pullable like boulders
Bug report, I think this intro level is unsolvable
(There should be an image below, but itch is being odd)
Enemies and combat in a Sokoban game is such a cool and unique concept! It would be cool if the enemies were tied more to the Sokoban puzzle-solving aspect of the game - like maybe you could use the enemies to somehow solve each puzzle?
you’re on the right track, dude. The enemies can in fact trigger the exit, but the “puzzle” development side did not get far enough along for this to be used as a solution element.
Procedural generation is a key element for 7 Day Roguelike entries, but prebuilt levels or rooms (and some additional items / abilities) will definitely use mechanics like that in the future!