Parser map sanity checker

One of the nice features of the Inform IDE is that it’ll generate an automatic map of your game when you compile, showing all the rooms and connections. It’s not a great map by any means, but it’s very valuable for figuring out when you’ve messed up a connection and wrecked your whole topology, or missed something that should obviously be present.

I find myself really missing this feature in Dialog. It wouldn’t be hard to use a pile of regexes to convert my Dialog source code into XML, JSON, or some other format representing the map connections—but once I do, is there some tool that will generate an I7-style map automatically for me, short of generating I7 code and pasting it into the IDE?

In other words, I’m looking for a tool that takes some textual representation of a parser-game map and draws it as coherently as possible, as a sanity-check while writing.

3 Likes

if you want to code a connection drawer for your json you can use graphviz. there are several tools that can do this branched off graphviz–here’s one that autogenerates it in javascript I found cursorily. I’m not sure of pre-existing tools for IF.

1 Like

Definitely a fan of Graphviz, but unfortunately it doesn’t (at least to my knowledge) have a built-in way to handle directions.

I have a python tool that will generate diagrams from a simple DSL I made up for IF. It lays the map out with a spring-based layout that follows the directions of the connections with some “give” to try to avoid too much overlap.

GitHub: GitHub - rileypb/zmap: An interactive fiction mapper

You probably won’t be able to build it. If you’re interested I’ll add build instructions to the GitHub.

1 Like

Oh, that actually looks perfect!

Unfortunately, it’s borked unless you’ve got Python 3.6 on your machine. It seems the application framework/packager I used hasn’t bothered to update at all. I’m working on a cli version right now.

Here ya go:

1 Like

Wonderful, thank you so much!