New Authoring System Released – Adventuron

I just received word from the creator that the Adventuron system is now available.  I’ve not played with it yet, but I was contacted a while ago by Chris Ainsley, the creator in regards to an interesting feature he had in the works.  His was adding the ability to import Trizbort maps into his system.

For a long time, Trizbort has had the ability to export it’s maps to different languages (I7, I6, Tads, Zil, Hugo, …), but this is the first case that I’m aware of that a system imports a map for it’s own purposes.  Pretty cool stuff and I’m glad to see Trizbort being used out in the wild and in a unique way.

One thing this got me thinking about in regards to Trizbort itself, is the format of the Trizbort file.  While I have no inside knowledge, I suspect that Adventuron is simply reading the file and parsing it internally.  This will couple it very tightly to the Trizbort files.  While I have no current plans to change the format of the file, doing so in the future could perhaps break this system or others.

So perhaps the time has come to start thinking about breaking out the Trizbort engine into an API that a user could hook into their software, website or whatever that will allow for me to change the format at my hearts content (as long as I update the API as well.)  That might be an interesting refactoring that could make Trizbort more extensible and protect systems from file format changes.

Regardless, I just wanted to share the announcement out there and encourage you to take a look at Chris’ system.  I would also be interested to hear if anyone has some other interesting uses for Trizbort and it’s files.

Advertisements

Trizbort v1.5.9.9

Hey everyone, new release today in celebration of Independence Day here in the United States on the 4th.  Or really, just an excuse to get a few things that have been lingering in the code into an official release.

As usual, you can get the bits at https://github.com/JasonLautzenheiser/trizbort/releases/tag/v1.5.9.9

One feature I’m kind of excited about, but still in its infancy, is the new validation menu.

 

 

 

What does this do?  Well when checked it will display rooms with a red X over them if it fails any of the selected validations.  For example, above we are checking for dangling connections, those connections that are connected to a room on only one side.   Below is a portion of a map showing this in action.

 

 

 

 

 

Why did this come about?  I had a user email me asking if something like this was possible.  They were actually pulling in the resulting Trizbort map into a yet undisclosed application they were developing and something like this would be beneficial to them to make sure rooms had the features they needed for their software.

Currently Trizbort only supports the four validations as shown in the menu.  Others are on the table and the thought of allowing the user to define others themselves (for example, looking for certain text in descriptions or room titles) has been kicked around.

Trizbort doesn’t stop the user from saving the map or exporting to your favorite supported IF language, it’s purely for informational purposes.  Hope people find this useful.

As always, thanks for the many users who have found bugs, made suggestions or simply sent a word of thanks for the continuing work being done on Trizbort.   A special thanks to Andrew Schultz for his continued testing, support and many pull requests into the code base.

 

Minor Trizbort Update to 1.5.9.7

A quick little update to fix a few small bugs that were found in the last release.

 

https://github.com/JasonLautzenheiser/trizbort/releases/tag/v1.5.9.7

First bug was one introduced in the last version in regards to the Automapper.  It seems a new feature I added to handle the EXITS command in a transcript, broke the automapper.  I removed that feature temporarily until a proper fix could be found.

A second bug was fixed that has most likely been around for awhile where if you imported a map that was created with an older version, one that was created prior to my beginning development on Trizbort, there was a potential that the Inform7 Export code would not be generated properly.

 

Trizbort Updates

Well it appears I’ve failed to update here for quite some time.  While movement on Trizbort has been slow in 2016, I have put out two releases since my last post here.

If you’re just interested in downloading the bits, head over to http://www.trizbort.com and follow the links.   As always, feedback is appreciated.

Version 1.5.9.6

The latest version, released on 1/7/2017 fixed a few bugs, but added one big feature that I’ve found to be very helpful.  The find feature (Ctrl-F) searches rooms, searching the room name, subtitle, objects and description.  

find1

 

If multiple rooms are found they are all highlighted and you can cycle through them using F3 / Shift-F3.

find2

The mini-map is updated with the results as well, so if they results are spread out across a large map, you can see where the results are located.

find3

Version 1.5.9.5

Prior to this latest release, another small release was done back in August, but I failed to properly announce it here.

Command Line Improvements

The refactoring of the command line parameters were made to allow Trizbort’s use in batch files a bit easier.   Most command lines deal with with saving and exporting maps.  For example, if you have a transcript of a game session that you wish to make an automap of you can simply do something like this:

trizbort –automap zork1.txt –quicksave zork1.trizbort –exit

This reads in the zork1.txt transcript, runs it through the automapper and then saves the resulting map to zork1.trizbort and then shuts down.

You can now also automate the exporting of map files to the differing source files.  For example:

trizbort zork1.trizbort –zil zork1.zil –exit

This will load the zork1.trizbort map, export it to ZIL format in the zork1.zil file and then exit.  Currently Trizbort can export to Inform7, Inform6, Alan, Hugo, Tads3 and Zil formats.

Doors

Another nice feature here is the addition of doors.  Doors are just a special type of connection so these are setup in the connection properties setting.  Currently doors are only supported in the export for Inform7.connection-doorsconnection-doors2

For full list of these releases or any older release, visit http://www.trizbort.com for full details.

 

Trizbort 1.5.9.4 – April 2016 update

So after a long hiatus, I’ve released another update of Trizbort.  This update has many updates that have been sitting out there for a few months now.  Thanks to Andrew Schultz once again for many of these changes as he was a huge driver for many of them.

You can see the full list of changes on the release page at http://www.trizbort.com or directly from GitHub at https://github.com/JasonLautzenheiser/trizbort/releases/tag/1.5.9.4

As always, let me know if you have any suggestions, requests or bug reports either here or create an issue on GitHub.

Enjoy

Trizbort 1.5.9.1 – August Update – Now different shaped rooms

2015-08-08_13-46-20Time for another Trizbort update.  This update focused on one new feature in particular.  Now rooms can have different shapes.  This is something I’ve wanted to put in for a long time, and it was actually relatively easy to get in.  It has been a bit more difficult to get to work properly.  There is still some work to do especially in regards to how connections  work with the elliptical and rounded corners, but for the most part they aren’t too bad.  Please let me know if you find any issues.

You can grab the latest downloads at https://github.com/JasonLautzenheiser/trizbort/releases/tag/1.5.9.1

New Features

Room Shapes

Room shapes are obviously the biggest new feature (in fact it really is the only new feature).  You now have the abillity to create elliptical rooms (Ctrl-E), rooms with rounded corners (Ctrl-R) and individual rooms can have straight edges (Ctrl-H to toggle), instead of the all or nothing hand-drawn vs straight edges.

You can make the change to selected rooms with the shortcut keys or from the menu (main or 2015-08-08_13-55-03context).  If you go into room properties, you can also adjust the room shape.  Currently the rounded corners room is the only one with some additional properties that can be set.  You can adjust the radius of the each of the 4 corners.  The range is from 1 to 30 for each corner to allow for some differing shapes.

Menu update

Also in this version I cleaned up the menus.  Now instead of the edit menu being incredibly long, I broke out Room and Connection specific items into their own respective menus.  This leaves us with much more manageable menus.  I also updated the context menus so that all the appropriate items would show over the appropriate items on the map.

As usual go to http://www.trizbort.com for the latest released updates or go to the github page for the latest and greatest (or not so greatest) code.

 

Trizbort Update 1.5.8.11 – Now supports ZIL

As the title says, there is a new Trizbort update.  1.5.8.11 is available over on the github release page (along with the code as usual).  This update is rather small in number of changes, though the ZIL support is a pretty cool addition.

  • Text wrapping will now occur on dashes as well as spaces
  • Redact text from map – remove all text so as not to give away spoilers Ctrl+F4
  • Updated link to online help in the help menu
  • History text in map settings will generate an “about” command when exporting code. Currently only I7 and TADS3.

As the title suggests, I’ve also added ZIL support.  If you are not sure what ZIL is, it is essentially the language that Infocom used to write their games (language definition documentation is an interesting read).  Under the code export, menu (File->Export) there are now options for saving your map to ZIL as well as copying the ZIL code to the clipboard.

menu

This will output a simple ZIL file, with code that looks like the following:


"A Trizbort Map main file"

<VERSION ZIP>
<CONSTANT RELEASEID 1>

"Main Loop"

<CONSTANT GAME-BANNER "A Trizbort Map|An interactive fiction by A Trizbort User">
<ROUTINE GO()
    <CRLF> <CRLF>
    <TELL "" CR CR>
    <V-VERSION> <CRLF>
    <SETG HERE ,CAVE>
    <MOVE ,PLAYER ,HERE>
    <V-LOOK>
    <REPEAT()
        <COND (<PARSER>
               <PERFORM, PRSA, PRSO, PRSI>
               <APPLY <GETP, HERE, P?ACTION> ,M-END>
               <OR <GAME-VERB?> <CLOCKER>>)>
        <SETG HERE <LOC ,WINNER>>>>

<INSERT-FILE "parser">

"Objects"

<ROOM CAVE
    (DESC "Cave")
    (IN ROOMS)
    (LDESC "The cave is dark, wet and clammy.  A mist appears to hover inches above the ground.")
    (FLAGS LIGHTBIT)>

<OBJECT FLASHLIGHT
    (LOC CAVE)
    (DESC "Flashlight")
    (SYNONYM FLASHLIGHT)
    (FLAGS TAKEBIT )>

So now I’ve got this cool ZIL language file generated from my map….well now what?

Well here is where the work of Jesse McGrew comes into play. He is currently working on a ZIL compiler and related tools, that will compile this ZIL file and take the resultant file and create a Z8 file from it (or Z3 or Z5)…you can see his work, or just grab the compile to play with on his Bitbucket account (https://bitbucket.org/jmcgrew/zilf/wiki/Home). He has put a lot of effort and done a great deal of work on his project so it’s great to see it progressing to the point of actually being able to create games with it.

I should mention that Jesse is still working on his project so things may and likely will change. I don’t suspect there will be issues, but I will try and make sure that as Jesse puts out new releases, that Trizbort keeps pace.

The ZIL support in Trizbort currently handles rooms and objects as well as I understand them to work in ZIL. I’m still learning the language myself, so there are bound to be issues….but I hope to work them out as well as expand on the way Trizbort handles objects in the future which will pay dividends across all the languages that Trizbort exports to.

This was also a good experiment for me on creating an new language exporter in Trizbort….up to this point, I’ve just worked with what Genstein had originally put into Trizbort, just making minor modifications and fixes….but I’ve discovered that this isn’t really all that hard to put a new language in place, so I hope to not only expand on how Trizbort handles objects (and people and supports / containers and all that entails), but also on expanding into other languages….Alan, Hugo, …. whatever else might fit the bill and lend itself to code generation from a map. This actually sounds like a lot of fun to implement.

Anyway, enjoy this little update and I hope you find it useful. Please feel free to let me know of any issues that you may find.