Trizbort, an IF mapping tool for Windows

What ho,

This is a bit of a cut and paste from rec.games.int-fiction for those who prefer this fine forum over the newsgroups.

I’d like to announce the 1.0 release of Trizbort for Windows. Trizbort is a simple point and click IF mapper which lets you drop rooms onto an infinite* canvas and connect them together with simple connectors which bind to room edges. Rooms can each have a list of objects which “docks” to any room edge or can appear inside the room. Colours and fonts can be customised, and the whole shebang can be exported as a PDF file or PNG image for posterity or printing.

Rather than ineptly cribbing from its solitary web page any further, I’ll just direct anyone there who would like to try it.

http://trizbort.genstein.net

The page also hosts a wide range** of sample maps in Trizbort, PDF and/or PNG format.

It’s a lot simpler and less powerful than it may sound, but it hopefully doesn’t suck so mightily as to make anyone actually weep. Feel free to let me know here or at the e-mail address which can be found via the bottom of the aforementioned web page.

That’s all really. Thanks for reading.

-eg.

(* Quite large. Experiments to test the bounds of Trizbort’s universe may result in singularities, rains of surprising wildlife or, rarely, messages from the powers that, much to everyone’s shagrin, Trizbort appears to have encountered an unexpectedly sticky calculation and has had to be shut down.)

(** For given definitions of “wide” and “range”. More specifically, wrong ones.)

What an interesting tool. I trust you plan on adding features and such? Because as it is, it won’t get me to stop using GUEMap… but it might, because I like it, and because I like supporting new projects, and because I’m a bit tired of the random errors that crash GUEmap when I delete a room (50-50 chance that it will crash).

There’s a few features that you really have to add before it becomes as easy to use as it should. Think about the following features from GUEMap that make using it so much easier:

  • Pressing a numerical keypad button while a room is selected automatically creates a room in the appropriate direction (i.e., east for 6, north for 8, and so on), and we can optionally fill in its name at once instead of having to select it to add the name. If there already IS a room, then the selection moves to the appropriate room.

  • Creating up and down connections is possible, as well as in-out connections and dotted lines, and it does not require creating then editing the connection (or mode toggling).

  • It allows for taking notes, which is different from your - very useful - object list. It also allows for taking notes on the entire map. I tend to use it like a notebook, which is most handy.

These are the features I think are necessary for a practical and useful mapping tool, and it’s the first time I have to chance to tell an author, in hopes of seeing them implemented. So I’m taking that chance. :slight_smile: I like the style. I would like to use it more.

Thanks Peter, that’s very useful to know. Believe it or not I never discovered any key-based room creation/navigation in GUEMap; I gave up before resorting to pressing keys or (gasp) reading documentation. I’ll definitely bear those features in mind for the next release if they’re useful. Comments/notes are definitely on the cards. I’ve got a prototype of similar room creation/navigation working happily already, but I’m not sure how to back it up with usable UI yet. Experimental UI designs have come up a bit short of any good. I could add the feature just as keyboard only, but that feels wrong, as I’d like Trizbort to be as amazingly obvious to use as possible.

-eg.

I also gave Trizbort a try. I found in useful in many ways. The greatest hindrance for me was the inability to designate up/down map connections in a clear way.

Thanks for the feedback. Apologies for the lack of documentation. If you double click a connection, or select (click) it and then choose Properties from the Edit menu, you can set it to be an up/down, in/out connection or add your own custom text at the start, end or middle of the line. You can also choose the line style, though this is available on the tool bar as well. Or perhaps you already found this and it wasn’t any use to you?

I hadn’t discovered these features. They would have solved the majority of my problems. I’ll try it. I never used GUEmap or any other IF mapping software, so I don’t have any expectations about what it should do.

Yes, I’ve been using the line style settings. I’ve been a solid line to indicate a traditional two-way connection, and a dotted line to indicate a one-way connection, using the arrows especially when the rooms don’t line up neatly, to indicate the direction of one-way paths. However, now I’m thinking that a better method would be to always use the arrows to indicate the direction(s) of possible travel, so a two-way connection would have arrows pointing to both rooms, and a one-way connection would point toward the room that the player can enter in that direction. That would free up dotted lines for special cases, such as portals that can be entered without traveling in any direction and lead to another room. I haven’t tried this method on Trizbort, yet, so I don’t know if I’d be able to make it work.

I’ve been mapping one of the many ports of the original Adventure with Trizbort. Here are my very rough maps, representing different levels based on altitude, since I didn’t know how to make up/down connections. I wish it were possible to eliminate all the whitespace when exporting to an image file.

(Although I don’t think anyone would be very concerned about being spoiled for Adventure, I hid the pictures behind spoiler tags just in case, and also not to clutter the thread.)

I’ve never used any other IF mapping software in earnest either, mostly since I couldn’t work out how to use it. Trizbort is pretty undocumented, for which I apologise, but one thing is true: there’s nothing you can do with it that you can’t find on the main set of menus. Edit->Properties on rooms and connections is probably the most “hidden” feature.

That’s in fact pretty much what I intended - sorry if it’s not obvious (which it clearly isn’t). The only difference being that two way directions have no arrow, whereas one way directions have one arrow. The Infocom printed maps used to do this, and those are the conventions I’ve been following since I rather like them.

Yes, that’s my bad. A somewhat arbitrary amount of white space is added all the way around the image since it’s very possible to route connections between rooms in a way which otherwise would get cut off by a tighter crop. If I’d been less lazy I’d have implemented a proper algorithm for this. You can of course trim this in any paint package, though I appreciate this is less than ideal.

          -eg.

I just started using this (not for IF, for mapping mud zones actually) and it’s really nice! I love that making maps is easy and quick, the UI feels very smooth, and mass-editing via the XML file is simple to do.

One thing I’m curious about is if anyone has noticed a performance drop on their CPU when this is running; it seems like this busy waits when it’s running but I don’t know if that’s a big deal or not.

I use the tool and is pretty happy abouty it…
But I would have liked it better if it was possible to get in touch with the guy who created it… :wink:

Yes, its the reason that I don’t use this tool. It uses 90-100% of CPU time…

Apologies for the lack of contact. I’ve been wrestling with a day job whose definition of “day” is closer to the 24 hour than 8 hour variety…

A couple of people have reported the 100% CPU time issue; I’ve tracked this down and added a fix. Trizbort tries quite enthusiastically to update its menu and toolbars to make sure everything is checked or greyed out as appropriate, and it was getting a little over zealous to say the least. v1.0.1 rains on its parade in this regard.

As it happens I’d been toying with a teensy new feature so I left that in as well. It’s now possible to use the numeric keypad to navigate around the map like a compass rose; select a room, then use keypad keys to move between connected rooms. Hold Ctrl as well to create new rooms in the relevant direction if they don’t already exist. Trizbort will do its best to find and place rooms sensibly, but may get things wrong.

The latest version is available from trizbort.genstein.net

All the best
-eg.

Thanks for the fix! Like the others who posted, Trizbort was using 100% of resources on my PC. I was excited to evaluate Trizbort and now I finally can. (Who would’ve thought a simple and eye-pleasing mapper could be so thrilling?)

The numeric navigation similar to GueMapper is also a big plus. Frankly, switching from mouse to keyboard constantly hampers the fun of IF sometimes.

Best of luck on development.

Well done! Those were probably the two most outstanding things-to-fix/add. I’m taking a break from IF right now, and my first choice on ZMachine and TADS games is always IFMapper because of the automapping, but when I get back to it I’ll start using Trizbort for everything else and see what happens.

The only thing I’d really wish for right now would be a faster way to do Up-Down and suchlike without having to edit the already-drawn line - again, like GUEMapper does. Apart from that, it seems ready for general use.

That would be a great too.

One other thing, and this is sort of nit-pickish, would be to add a new document template in the right click context menu. This saves me quite a bit of time with GUEMapper.

For now, having it pinned to my start menu is working out fine.

Edit: Being able to select multiple rooms or all rooms to drag is an absolute must. It would be important to somehow work in this feature, as dragging rooms individually to improve a map’s layout is tedious.

Multi room select/drag is definitely on my list.

As for a quick means of making up/down (and presumably in/out) connections, how would people like it to work? I’ve not used mappers such as GUEMap, and I’m not sure what’s preferred. I can imagine a key to cycle between up/down, in/out and unlabelled; I’m also wondering whether there should be a quick way of changing a connection’s (line’s) direction.

Thanks,
-eg.

A key to cycle between options should be allright - GUEMapper does it somewhat differently, but it’s overall doing something different behind the scenes anyway, so there’s only so much inspiration to get there. Regarding “quick” ways of doing anything… a keyboard shortcut is usually regarded as quick enough. :wink:

I’ve just released a new version of Trizbort, version 1.1.

The full release notes are online, but most significantly the new version supports multi-select and many operations now work on such selections; keyboard shortcuts and new menu options make it easier to change connection (line) styles; and the installer adds a new document template to Windows Explorer. Some drawing optimisations should mean that large maps will display a little faster too.

As always let me know what you think, and what you’d like to see next, either on this board or by e-mail (my address is on the Trizbort web page). Trizbort is still free (as in beer) software. If anyone would like to donate towards Trizbort’s future development, there’s a button on the web page.

All the best,
-eg.

Hot on the heels of the previous release, version 1.2 of Trizbort is now out.

This is a major update to Trizbort. The full release notes are online, but most significantly the new version has a complete online user guide; supports automapping from game transcripts; exports to Inform 7, TADS and Inform 6; doesn’t have select/draw modes any more and features a mini-map, scroll bars (finally), a list of recently used maps on the File menu and assorted other tweaks and fixes.

As always let me know what you think, and what you’d like to see next, either here, on rec.*.int-fiction, or by e-mail (my address is on the Trizbort web site). Questions, bug reports and suggestions are most welcome.

If anyone finds that the new version induces a burning desire to shower me with copper coins, you’re welcome to either consult a reputable physician or press the Donate button on the web site.

All the best,

    -eg.

Automapping? Yay! My most favourite feature of all!

I’ll have to test-drive 1.2, but before I do - congratulations. What looked at first like an idle project of an IF enthusiast has grown and, if automapping works as well as IFMapper’s, has become my mapper of choice. I’ve certainly stopped using GUEMap.

EDIT - I particularly like the “>see” feature, it even allows me to quickly make notes to the map without leaving the game (I know you meant it only for objects… hey, if you like, you can even add that as an extra feature - a separate “notes” section, to which with automapping could be added notes starting with “>note” or whatever). Just a couple of questions.

I haven’t tested it yet - how do you propose automapping would behave in mazes? IFMapper just throws an error and says automapping isn’t possible. Dooes Trizbort gamely try to map as well as it can? Does it - can it - take into account objects dropped to diferentiate?

Also, “Muder in Aero Club” gives the same problem as in IFMapper - possibly because the first room is called “Car park” instead of “Cark Park”. I mean, I think the issue is the capitalization. You might want to tweak it so that even games with less standard room names (not all of them Have Every Letter Capitalised) get recognised by Trizbort.

Finally, I’d suggest you allow the user to tweak the options in automap even while automapping is going on. Sure, it’s easy enough to STOP and START it again, but all the same…

…and now that I’ve said all this… congratulations, I love it! Seems to work wonders.

Hi Peter,

Glad you like it :slight_smile: That note command is a damned good idea - that’s going into the next version. I like the idea of tweaking properties whilst automapping too.

Mazes are tricky and Trizbort doesn’t hand them well whilst automapping, though it should be stable and reasonably consistent. In classic mazes where the room names and descriptions are the same in each room, it will most likely create the whole maze as one room with looping connections back onto itself. Once you’re completely done with automapping you can of course rearrange the map as you see fit, but if you then automap in the same Trizbort map again it’ll probably get confused and make the wrong exits from the wrong parts of the maze, or ask you to disambiguate between “Maze” and “Maze”. Not particularly good.

I like the idea of trying to get Trizbort to disambiguate based on objects dropped in the room. I guess I’m not sure how many mazes still work that way, though most of the ones I’ve played do. I might look at that for the next version. It might require some user intervention, such as flagging rooms as “this is part of maze”, so Trizbort knows to start hazarding wilder guesses based on the transcript. I’ll think on it.

You’re right, irritatingly “Car park” fails one of Trizbort’s “it could be a room name” tests by one letter :slight_smile: It doesn’t mind 1-3 letter words being uncapitalised, but at four or more letters it expects it. I could just up this to four (or more), but I’d need to gather a larger corpus of transcripts to be sure I didn’t just make things worse for the majority of games at the expense of the minority. Good call though.

Thanks for the feedback, much appreciated!

    -eg.