PyLabyrinth is a text-adventure game I have been working on in my free time for several years. The current version is written in Python and uses a map-based (dictionary) structure to represent the progression of a player through the Labyrinth. I chose to build it this way so that the game would be arbitrarily expandable under certain conditions, and so that the structure of the labyrinth would be manipulable at runtime (rooms can be moved, players can be teleported, dropped and taken object have a consistent state even as rooms and floors move, etc).

Source Code