The Interactive Fiction Mapper

Welcome to the Trizbort project.

Trizbort is a simple tool used to create maps for interactive fiction. First developed by genstein back in 2010, he continued to update until March, 2013 when he open-sourced the code. Fast forward to 2015 when I picked up the development and along with Andrew Schultz (focused on documentation and testing) we continue to improve this great software. Follow our blog for announcements and updates (

Version 1.7.2 (2019-03-23) - Download Latest

  • Add filename to the invalid trizbort file on open of file. There is a bug coming where this message is showing after restart on update of Trizbort and this will help debug this.
  • Improved the statusbar to make it more extensible in the future.
  • Simplified how the zoom widget in the statusbar functions.
  • Added caps and num lock indicators to statusbar.
  • Added the option to have text break or not break on dashes. (#456)
  • added menu item in the View menu to toggle the background map grid (#452)
  • Added app settings to control what displays in the tooltip. Can show/hide descriptions and objects. Also can limit how many characters to display in the descriptions (#467)
  • Attempting to open an invalid trizbort file was still marking it as the last loaded project, which could cause it to try and load it again when trizbort reopened. (#442)
  • If the last loaded project was from the web, doing a file open (Ctrl-O) would throw up an invalid path error when opening the file open dialog. (#443)
  • Fix error when zooming in or out too far. (#447)
  • Start/end room properties will not be copied when copying a room, this fixes the issue where we could have more than one start room. (#460)
  • shift - right-clck allows panning of the map. The context menu no longer shows when releasing the mouse (#455)
  • fixed issue when saving a file many times in succession can temporarily corrupt the recent map menu list. (#454)
  • fixed issues with the handling of "Hand Drawn Edges" and improved the handling of the UI in regards to this setting.
  • middle text alignment should now be handled more consistantly. (#473)
  • Handle tooltips better when they are displayed and panning the page or moving the room. (#459)

Version 1.7.0 (2018-04-17) - Download v1.7.0

  • User can now load trizbort maps from the web. File-->Open Map from Url... (Ctrl-Shift-O) brings up dialog to enter url to trizbort file to load.
  • Objects in room, added 'w' to indicate something is worn by an object, added 'h' to indicate that an object is a part of it's parent.
  • refactored some of the exporting code.
  • saving new map for the first time was throwing an error. (#427)
  • fixed some object issues for people, worn items, part of items (#259)

Version 1.6.1 (2018-03-22) - Download v1.6.1

  • The room subtitle can now have it's own font and color, both in default settings and individual room properties. (#50)
  • Fix for two message boxes showing in room properties when room name is empty.
  • Fix for two message boxes showing in map properties when default room name is empty.
  • Fix issue where canceling from the color dialog in room properties would change the color to a default color instead of keeping the original color
  • Fix issue that caused Paste menu item under Edit to not be enabled appropriately. (#416)
  • Fix issue where recently opened maps list was not working properly after the 1.6 release. (#418)
  • Remove the warning when more than one room was checked as the end room in the room properties. Opened up the context menu to allow selecting multiple rooms as the end room. (#413)
  • Add a check for application update under the help menu.

Version 1.6.0 (2018-03-03) - Download v1.6.0

  • check for new versioned files and show warning when loading map (#353)
  • Trizbort now will detect changes to loaded map from another application and ask to reload the map (#365)
  • Added export for Quest (Thanks to @ThePix for this) (#392)
  • Added option in AppSettings to show the full file path in the main window caption.
  • Can now set a default room shape for a map in Map Settings (#93)
  • Can add a link to reference another room from a room (done through room properties). Ctrl-Click on the room with the reference will go to the room being referenced (#370)
  • Color picker in map settings now allows setting multiple colors at once. Just Ctrl or Shift click on the colors to select many and all can be set to same color at once (#108)
  • fixed naming consistency between context menu and main menu and room shape names (#356)
  • opening zoom is a bit more accurate and better handles margins (#357)
  • Fixed issue where Trizbort wasn't saving the last loaded project if that map was loaded from most recent maps menu (#364)
  • Minor adjustment on alignment of in/out text on rounded and octagonal rooms. (#378)
  • fixed error with room property dialog and rooms shapes. (#394, #388)
  • copy of room now copies the subtitle.
  • default object text color was not respected if object text was inside room and no room specific object text color was chosen. (#402)
  • Refactored the copy / paste giving some code optimizations and fixing some copy bugs where some properties were not getting copied. (#379, TRIZ-145, TRIZ-152, TRIZ-47)
  • Application Settings has been refactored. App Settings are now stored in an appsettings.json file in the application folder. The legacy settings.xml stored in the user folder will be read in if it exists and there is no appsettings.json file. This simplified the code and allows for easier management as we add new options. Map settings still stored in the map file.
  • moved the revisions.txt to a more standard file.
  • added scrollbars to the Map Settings -> Description and History inputs. (#390, #391)
  • App settings are now saved on an affirmative close of the app settings dialog.

Version - Independence Day Release (7/2/2017) - Download v1.5.9.9

  • The Room properties dialog parent was not getting set properly which could cause it to get lost on alt-tab making trizbort appear to be locked up. (#332)
  • Adjusted tab order and layout slightly to get more commonly used items to the top of the tab order. (#334)
  • Beginnings of a room validation with graphical indicator of rooms that don't pass validation. (#333)
  • Put menu items (shortcut keys) in place for set start room (Ctrl-F5) and set end room (Shift-F5). (#335)
  • Added some stats for doors / connections (#343)
  • Added the end room into stats (#339)
  • Added a micro-zoom (Ctrl-MouseWheelUp/Down) (#341)

Version - January 2017 Release (1/7/2017) - Download v1.5.9.6

  • Removed the "fill" color in app settings. It wasn't being used anymore (#310)
  • Fixed issue with room properties window opening in the upper left corner of the screen (#309)
  • Automap will now detect when a room is being connected in the same direction as another room. The user will be prompted to keep one or other or both. (#300)
  • Automap now supports the EXITS command (#297)
  • Can now specify an end room. (#171)
  • Issue in Automapper when restarting, it would sometimes get confused and not display any rooms. (#195)
  • Added new option in Automapper, to assume two-way directions (on by default). (#296)
  • Add a FIND (Ctrl-F), currently only on Rooms (name, subtitle, objects and description). Found elements are selected. (#57)
  • F3 / Shift-F3 will cycle through found matches

Version - August 2016 Release (8/6/2016) - Download v1.5.9.5

  • ENH: #196 - "tb dotted" in transcript now forces next connection to be dotted.
  • ENH: #11 - "tb exit [direction]" in transcript will add a connection stub in that direction and "tb noexit [direction]" will remove a connection stub.
  • ENH: #270 - refactored the command line handling. Commands are now:
    -a, --loadlastproject
    -m, --automap --> give it a text file transcript. ex) trizbort --automap zork1.txt
    -q, --quicksave --> quicksave the file to the given filename, useful in conjunction with other commands like --automap
    -s, --smartsave --> silently do smartsave based on current smartsave settings.
    -x, --exit --> close trizbort, again useful in conjunction with other arguments. ex) trizbort --automap zork1.txt --quicksave zork1.trizbort --exit
  • ENH: #267 - added command line parameters for exporting maps to source files --inform7, --inform6, --alan, --hugo, --tads, --zil
  • ENH: #186 - Added region support to Hugo export.
  • ENH: #279 - Added Ctrl-K to Force Darkness on selected rooms; Added Ctrl-Shift-K to force lighted on rooms.
  • ENH: #56 - Added support for doors. It can be setup in the connection properties. Export to I7 only at this point.
  • ENH: #285 - Add descriptions to connections. Used only for doors at the moment.
  • ENH: #283 - Allow for fine control of object text positioning.
  • COS: #294 - Fix wording on context menu for hand-drawn room.
  • ENH: - Tooltips will now show on items with out a title. This will help with being able to put different attributes or descriptions on items (connections, rooms).
  • ENH: #295 - Added option to app settings to show / not-show tooltips on objects.
  • REF: #214 - Refactored font code name.
  • REF: #213 - changed labels in app settings font settings

Version - April 2016 Release (4/9/2016) - Download

We made a lot of improvements to exporting to your favorite IF language and cleaning up our own code. We are also trying to add features that make sense to simplify building of maps while still giving you plenty of shortcuts and power tools.

We are also in the process of improving the export to different languages. We've added ALAN support and improved support for I7, I6, TADS and ZIL. As always if you find ways to improve, have suggestions or find bugs, please let us know or submit an issue on github. Documentation is a little outdated so apologies on that. Hopefully we'll be updating that soon.

  • ENH: - beginning of object definition language in the objects list. Still in beta (so use at own risk as things may change, but feedback is appreciated) and really focused on I7 at the moment. We will continue to improve, fix and tweak.
  • ENH: #23 - Command line option to start automapping of file. -m transcriptfile [trizbort map name]
  • ENH: #27 - Saves app window dimensions on close.
  • ENH: #40 - Also #192, Now we can adjust margins on exported images. We allow for default margins that can be adjusted and document specific margins.
  • ENH: #81 - Annotations can be now be saved to PDFs (the annotation will be the room description)
  • ENH: #170 - The short cut key '0' will select the starting room.
  • ENH: #184 - Ctrl-B backs up your current project file.
  • ENH: #185 - TADS/Adv3Lite export now supports regions.
  • ENH: #188 - \ (backslash) on room will attempt to reorganize the connections. Be careful with this as it tries to be smart about room location in relevence to each other. It can make mistakes so we are looking at ways to improve and make trizbort a bit smarter.
  • ENH: #189 - '[' and ']' as well as Ctrl-[ and Ctrl-] will move the selected connector around to available ports on the connected rooms.
  • ENH: #197 - Automap improvements: Mark start room.
  • ENH: #202 - Option to auto-load the last saved map when opening trizbort.
  • ENH: #203 - More command line options added (just beginning this, -? for current ones)
  • ENH: #205 - Ctrl-D deletes all connectors from selected room.
  • ENH: #233 - I6 export now implements regions as classes.
  • ENH: #255 - ALAN Export - (Beta)
  • ENH: #258 - Added popup for language definition in the description area.
  • ENH: #264 - Hand-drawn is now a room property. Global setting for new rooms, can be changed on a room level.
  • COS: #182 - Wording change on the duplicate room dialog in automapper.
  • COS: #200 - File dialog for choosing transcript in automapper now filters by *.txt and *.log -- Any other extensions in common use for transcripts?
  • FIX: #172 - Disallow room names to be just numbers as it creates bad I7 code.
  • FIX: #173 - Like #172, Blank room names are not allowed as it will create bad exported code.
  • FIX: #180 - When running a test command in the I7 IDE, command numbers in brackets are created at the front of each prompt line, like '>[7] n', this confused the automapper.
  • FIX: #234 - Trying to improve the export to code with some special characters from non-english languages. (Further improvement suggestions welcome)
  • FIX: #246 - Fixed some areas that were causing Trizbort to think the map was "dirty" and needed saved when it really wasn't.

Version - Mid September Release (9/19/2015) - Download

Lots of enhancements and fixes for this release. Thanks to Andrew Schultz for his development on many of these, his help in development, testing and documentation has been invaluable. Check out his games at

  • COS: #112 - Disable "Rooms:Change Regions" if there are 0 regions
  • COS: #119 - Change language in the settings to change "lines" to "connections".
  • COS: #145 - There was a flicker in the 'Toggle Darkness' in the Rooms menu
  • ENH: #79 - Alpha of Hugo Exporter....not yet feature complete, please send feedback.
  • ENH: #89 - Added octagonal room shape. Great for Stop signs.
  • ENH: #97 - Added stat for rooms you can't get out of "Dead Ends".
  • ENH: #115 - Add graphic for straight edge room shape in room settings.
  • ENH: #116 - Added checkbox to link all corners together to same value for rounded corners room type.
  • ENH: #118 - Save the last tab on settings dialog to app settings.
  • ENH: #125 - Set a room as the starting room in room settings. Highlight it in a lime green. This will export to I7 and ZIL.
  • ENH: #131 - Added "About" to I6 exported code
  • ENH: #167 - Added count of dark rooms to stats.
  • CHG: #117 - Default name for new room should not be blank
  • CHG: #123 - Remove the default ("NoRegion") from the list of regions that get exported.
  • CHG: #126 - F1 opens up the online help.
  • CHG: #129 - Better message on SmartSave if it can't save the image file
  • FIX: #112 - Can no longer attempt to change regions if there are 0 regions.
  • FIX: #113 - Disable "Join rooms" in context menu/Rooms menu if rooms already joined
  • FIX: #120 - hand-drawn does not persist on Ctrl-Arrow to create new room
  • FIX: #121 - Error checking: request for warning box on unsuccessful smartsave
  • FIX: #122 - Some shortcut keys for new menus introduced were triggering other actions.
  • FIX: #127 - Failed PNG write gives successful smart-save message.
  • FIX: #128 - Failed EMF export does not generate error
  • FIX: #130 - darkness does not persist on Ctrl-Arrow to create new room
  • FIX: #132 - Deleting region wasn't reverting it's "ex-rooms" to NoRegion
  • FIX: #137 - Changing items in the Tools:Map Settings dialog wasn't marking the project as dirty.
  • FIX: #141 - Line styles context menu item could erronously appear on the menu for a room.
  • FIX: #143 - Realphabetize region listbox in settings after renaming inline.
  • FIX: #144 - disallow starting spaces in regions and room as it could cause issues with exporting to code.
  • FIX: #153 - Arrow keys moving canvas right / left were backwards.
  • FIX: #156 - Issue with copy / paste and connection color. Also issue with a colon in the name is fixed.

Version - September Release (9/5/2015) - Download

  • BUG: Fix crash when adding a room when an unconnected connection is selected, now adds a connection onto the end.
  • BUG: Fix issue when changing default connection color and then reload map would change connections to light blue.
  • BUG: Properties menu was not available in context menu on connection.
  • ENH: Enhanced the port calc code so they are more evenly spaced on ellipse and rounded rooms.
  • ENH: Stats list # of rooms without a region.
  • ENH: Add ability to change the default room name from "Cave"
  • CHG: Minor formatting changes on stats.
  • ZIL exporter tweaks (Thanks to Jesse McGrew)
    • Update main loop so M-END doesn't run for meta verbs.
    • Escape contents of strings.
    • Export history (creating an ABOUT verb).
    • Don't write empty room descriptions.
    • Use a PER routine for conditional exits.
    • Set object SYNONYM and ADJECTIVE separately.
    • Fix spacing/style nits.

Version - August Release (8/8/2015) - Download

Release focused on new features and some UI cleanup.

  • Allow other room shapes. Ctrl-R for rounded edges, Ctrl-E for elliptical shape, Ctrl-H to toggle hand drawn and straight lines on an individual room. New tab in room properties to allow for adjustment of rounded edges corner radius.
  • Broke out the Rooms and Connections menu items from Edit into their own main level menus.
  • Enhanced the context menu for a room with much of the room editing items added in the last few versions.
  • Cleaned up context menu for connections
  • Cleaned up context menu for the map canvas.
  • Fixed issue where regions weren't respecting reserved words when exporting to I7

Version - Mid-July Release (7/20/2015) - Download

Some minor fixes and a new source code exporter.

  • Text wrapping will now occur on dashes as well as spaces
  • Redact text from map - remove all text so as not to give away spoilersCtrl+F4
  • Updated link to online hlep in the help menu
  • History text in map settings will generate an "about" command when exporting code. Currently only I7 and TADS3.
  • Can now export code to ZIL. Read some history on ZIL. Jesse McGrew is currently creating a ZIL compiler and related tools. Check out his work at -

Version - June Release (6/2/2015) - Download

This release focuses on a few new features and some code cleanup.

  • Form to show some basic map statistics. We can expand no this in the future.
  • Swap room names with Ctrl+W
  • Swap room formats/fills with Shift+W
  • Swap room regions with Alt+W
  • Automapper does a bit better job of ignoring the game title.
  • Automapper handles room names that end in paranethesis a little better.
  • Fixed the copy / paste which was broken in some cases.
  • Setting a connection to plain (P), now sets the color back to default and removes the middle text if any.
  • Added some special select commands under Edit->Select Special. Quickly allows the user to select special items (all rooms with objects for example).

Version - May Release (5/5/2015) - Download

This release focuses on a few new features, updated documentation and now sample files are included in the repo.

    Early May release featuring a few new things.
  • Export code (I7, I6, and TADS) to clipboard.
  • 'W' key to swap objects in two selected rooms.
  • Ability to start processing from the end of a transcript (@matthiaswatkins)
  • Automap can now process multiword special commands to provide better flexibility to prevent keyword collisions between certain games. (@matthiaswatkins)
  • General cleanup and speed improvements in the automapping (@matthiaswatkins)
  • sample folder contain maps of real games (created by @andrewschultz)
  • updated documentation (@andrewschultz)

Version - April Release (4/20/2015) - Download

This release focuses on a few new features, bug fixes and now includes documentation. Announcement.

  • Undo is now handled by automapping (Mr Shifty)
  • Connections can now have individual colors.
  • Rooms can now have individual border styles.
  • No border is now a valid room border style. - Public Release (3/31/2015)

Version focused on adding a few features and fixing up a few bugs that have been around for quite a while. Announcement post.

  • Added zoom control in status bar for finer tuning of zoom level of map.
  • Fixed long standing issue where white could not be chosen as a valid color.
  • Added some additional 2nd fill color styles for completeness.
  • Can quickly insert a room between two other rooms
  • Added subtitles to rooms.
  • In/Out and Up/Down now export to proper source code.
  • Smart Save is a bit more customizable now.
  • Fixed F11 crash when automapping is turned off.
  • Many UI usability improvements and bug fixes. - Public Release (3/6/2015)

This version focused mainly on fixing some bugs and making the app a bit more user friendly for keyboard users. There were a few new features that I think are pretty nifty. Announcement post.

  • Improved the coloring of selected elements so they are much more noticeable
  • Ctrl-Shift-A to select all rooms in the selected region.
  • Ctrl-Alt-Arrow to resize selected room.
  • Arrow keys will now move elements if they are selected instead of always moving the map.
  • Improve context menus.
  • Enhanced region naming to disallow some characters that would cause issues with exported source code.
  • Cleaned up code export to prevent generation of bad source. - Initial Public Release (2/20/2015)

This was my initial release based on the code from the last release from Genstein. Announcement post.

  • Copy / Paste of elements (Tymian branch)
  • Rooms can have their own color (Tymian branch)
  • Can split rooms with a color 50/50 (Tymian branch
  • App settings dialog from the Tustin2121 branch
  • Smart save feature - save of PDF and image in one click.
  • Regions can be added to a room, regions can have color so all rooms of a region can have same style.
  • Added context menu and tooltip displays.
  • Ctrl-Arrow while in a room will create a room in that direction.
  • Lots of bug fixes and usability improvements.