Tomb of the Snake is a coffeebreak roguelike that tries to blend the classic and the modern. The goal is simple: dive to the bottom of the dungeon to retrieve a cursed idol and bury the undead forever. The trick is figuring out how to go around the latter, because you won’t be nearly strong enough to fight them all, at least on the way down. It can all be finished in about 40 minutes once you figure out how.
In best roguelike tradition, Tomb of the Snake runs in genuine text mode, such as the Terminal app on a Mac. It’s not a complex game, but it tries to provide a little depth. Make sure to check your inventory on the way down: what you have stocked up on will determine your winning strategy. And since everything is random, that will change every single time.
Unlike classic roguelikes, Tomb of the Snake tries to have a real user interface — even basic mouse support where available (which sadly doesn’t include the aforementioned Mac Terminal).
Release 2 makes tomb levels more interesting, display a little bit faster when visibility is high (only noticeable on really old machines), and fixes a couple of minor but annoying bugs. It's not as well-tested as the original, but the changes shouldn't have broken anything.
Changes in release 3 (18 March 2021):
- fog-of-war finally works in Python 3;
- item and creature color have been fixed in Python 3;
- map display code has been reverted to the simple and reliable version.
Game balance changes:
- more useful items now spawn on village level;
- cave levels are a lot less full of monsters;
- tomb levels are a bit less populated as well.
That should make the game a lot more playable and winnable with few changes.
All versions require Python 2.7/3.3 with the curses module. Both are installed by default on Mac OS X and typical Linux distributions. Users of other systems might want to try the original prototype online.
As of October 2021, there's an experimental "three and a half" release made to support Cython:
It doesn't make much of a difference on newer machines, but the code is now cleaner. Mainly the game starts up and shuts down faster. And it still works just fine when interpreted.
In-game banners made with FIGlet. Special thanks to Isolectra and fluffy for testing and feedback.