Note: This is still a work in progress! Warning! There are game spoilers to the game Zork II within the sample database included here.
This project arose because I discovered that the Internet Archive has many old text adventure games, including those from Infocom (such as the Zork series, Planetfall, etc).
I can run these in dosbox on my Mac, but when I went looking for tools to help me map out such games, I found that they were all either obsolete, or couldn't run on a Mac. So I wrote this code in Python, which should run pretty well anywhere.
The software requires the user to manually note the names of rooms as they are entered, and creating paths either to existing rooms or to a new room. It's also very useful to record for each room the obvious exits and any objects found there. (Or if you can, copy and paste the entire room desription here).This is pretty simple and quick. All information is stored in a sqlite database specific to the particular game you are working on.
The mapping is a little clumsy because the connections in such games can be quite 'tangled', so the map shows only the nearest rooms to the one currently being explored. You can click on the name of a room to shift to a map centered on that room. Also because of the sometimes tangled nature of connections, I've colour-coded the directions and styled the dashes of the lines.
This uses the Djikstra algorithm to find the shortest path between two rooms. This can be great for finding a quick way to a room where you've left something. The 'Swap' button will allow you to generate the reverse journey. It doesn't take into account "magic" passageways where some special action is required to open the way, so sometimes the "shortest" journey isn't practicable. Still, most of the time it's very useful.
This generates a list of rooms in which the search text appears, either in the room name or its description. Great for reminding you of where you first found an object.



