Trizbort & Map-based Adventure Creation?

Hey,

There have been a few threads lately that reawakened the creative urge. I have a fairly traditional adventure written out with pen-and-paper. In August 2020 I also had the first chapter all finished on my computer. And then my motherboard short-circuited…

Now I want to rewrite it and finish it.

I had chosen ADRIFT as my system for the intuitive and visual way you can create huge parts of your game straight from the map view. @tayruh pointed out to me that a lot of this stuff is possible with Trizbort too, with the added advantage that you can export the Trizbort map+objects+etc to Inform, TADS, and several other languages.

I’d like to hear your thoughts, comments, pros and cons, pitfalls to watch out for or heavenly praise for Trizbort. (And for using Trizbort as the main tool for creating the map, creating objects and writing the room and object {and PC/NPC?} descriptions.)

Another more immediately practical question: I downloaded Trizbort 1.7.2.0. from here: Trizbort by Jason Lautzenheiser. However, when I look at the browser-based version ( [Trizbort.io), it looks and behaves differently (much more mouse/touch-action).

Is there a more recent downloadable version I am missing?

1 Like

I use Trizbort on a regular basis, but I only use its mapping/flowchart capability since it is particularly suited to IF games and standard cardinal point directions. Everything else I do manually.

1 Like

Regarding the immediate question: The desktop app Trizbort and the online trizbort.io are separate projects by different people.

The desktop app is written in C# and is maintained by Jason Lautzenheiser, and the web version was based on the desktop version, but is written in TypeScript and is maintained by Alexander van Oostenrijk. I haven’t followed the development closely, but I think there are no plans to keep the versions strictly in sync. So, it might be well worth trying out both, to see if one of them offers features, usability, export capabilities that best suit your needs.

Personally, I’ve only used the desktop app up to now, since I’m on Windows and like to do stuff offline if possible, but maybe I’ll check out the web version some time.

I’ve used Trizbort to create a map while designing an I7 game, but I haven’t used its export functions yet. I think there were two reasons for that:

Reason 1

Inform 7, despite its natural language syntax, does not have much “boilerplate code”, or so it seems to me. The source code definitions which are used in I7 to define rooms (and the things in them) do not contain much superfluous text beyond the room and object names themselves:
The Corridor is a room. The Library is east of the Corridor. The Kitchen is west of the Corridor. Colonel Windermere is a man in the Library. The mahogany table is a supporter in the Library.

What I mean is that Trizbort’s export would not save much typing here, or at least not so much that it would be a compelling reason to use it (for me).

It would be different if we considered a language such as Java, which can tend to be quite verbose and has lots of boilerplate code (constructor, getters and setters, stuff like that for each and every class). If we attempted to write a text adventure in pure Java or a Java-like language, then I think Trizbort would really shine, because it could generate all that boilerplate code automatically. (IDEs for Java development, like Eclipse and IntelliJ, offer precisely that.) (Edit: Obviously, we would not turn each room into a class of its own, anyway. But I think it’s clear what I mean.)

Reason 2

The second reason is that the versions (in Trizbort and in I7) are bound to get out of sync after a short time. You’ll add rules in I7 to describe the behaviour of NPCs and objects, and in the course of that, you’ll probably also change the locations or names of some objects.

If you then decide to add a region with several more rooms and items, you can of course do that in Trizbort, but what next? You can export the map to a new I7 project, and merge the contents with a diff tool and an editor, but that would surely eliminate any time savings.

So, it might work well if you create the complete map and most of the items upfront in Trizbort (or just don’t care about the items), then export the map and switch over completely to I7 (or the language you’re developing in, of course). After that, only update the geography in Trizbort if you want to see a nice-looking map, but don’t use the export again. That’s of course a possible workflow, but then a) you need to do a lot of design work upfront to really gain something from the export function, or b) your map is not yet very big, then we’re back at point 1 - it does not save much typing.

I absolutely don’t want to sound negative here, I like Trizbort a lot and think it’s an impressive and really cool program! Just wanted to describe how, for me personally, the export functions did not become important. But maybe your workflow and preferences are different, so it’s definitely worth a try (maybe I’ll try it myself again).

I wish you the best of luck for your adventure! I remember reading about it on the Adrift forum, I thought that it sounded like fun and had a charming setting!

3 Likes

To repeat what has been said earlier, the out-of-synch issue is real.

The map part of coding any game is usually the simplest part of the whole code. After you add anything atop of that, you have to be able to extract just the map data from the source code to pass it back into Trizbort. Things are complicated in the case of conditional links, barriers, non rational directions, mazes, etc.

Trizbort really requires plugins it doesn’t have. I contributed an “Adventuron” export function to it a while back, but it’s rather primitive, and a one-way-trip. I doubt it’s a net time-saver.

Map driven game development is fine (I like it), but if done with Trizbort has to be a one-shot deal, or you need to spend more effort (than you are saving) to stay in synch.

1 Like

Trizbort is very useful if your game is map-heavy and you would like to do a lot of tinkering with its structure visually. It will let you get everything where it needs to be, rough in some descriptions and perhaps some important objects, then export a block of code to handle implementing all that.

I don’t know if I’d want to write the entire game using Trizbort, but it can give you a great head start if you need to do a lot of tricky initial map and setting work.

1 Like

Well, taking into account my tendency to write overly elaborate proze, I’m not worrying about typing time. (I’m not really worrying about time at all. It’s not like there are text-adventure competitions, right? :smile: )

I am looking for the visual, hands-in-map approach to creating that ADRIFT allows.

Yeah, that worries me more. Going back and forth between programs would seriously confuse things for me.

Yes, that’s the whole attraction I have with ADRIFT. Just do everything in the map. (Well, no. You need to declare groups of objects or rooms, declare dark rooms,… outside of the map, but you know what I mean.)

Yeah, but ADRIFT already gives me that. It’s the exporting that got me interested.
From the comments here, it seems that might be more trouble than it’s worth.

Looks like I’ll download the latest ADRIFT version and @Denk 's new library and go from there. Or I might prolong the entire project even more while I learn I7…

I used it most successfully for Transparent which had a complicated map layout. I was able to get the entire map done in Trizbort, then export the code to set it up in I7. It saved a lot of “this room is west from this room…south from this room is nothing” typing, and I also got the main room descriptions baked in. After that I was all in I7 doing rules and scenes and game events. So depending on your workflow and chosen system it can be a good starting place depending on how you’ve planned the game. I wouldn’t want to keep jumping back and forth between Trizbort and I7 though the entire process though (and did any further map corrections manually once the bulk of it was pasted in.) If ADRIFT does that - and I believe it does let you point-click to create rooms - Trizbort may not be as useful.

Just wanted to add that I totally see the appeal of map-driven game development. Having a direct visual overview over everything is great, and it’s also the way I’d do it on paper, which is fun. Sketching out a map, imagining the game world, making some notes next to the rooms where NPCs and items can be found, doodling a dragon in the corner… :dragon_face: :slightly_smiling_face:

1 Like

(My emphasis)

Exactly! My maps for my own game-ideas or static fiction stories are exactly like this! Sometimes I go a bit overboard. The map can easily become its own story.

This started as a simple map for a children’s fantasy story. I’m halfway through writing it.

6 Likes

Ooooooh! That’s great! I love all those details.

Lighthouses, mysterious shrines in the woods, volcanoes, imposing clifftop castles… that is promising to be an epic story!

It would also be a great setting for an IF game to accompany the story! Nudge nudge, hint hint :wink:

1 Like

The monks in the abbey on the top-right island speak only in quotes from their Holy Book and the Commentaries thereupon.

–Brother Bill was furious. “Dortoxon 8:15!” he bellowed.
–Father Norton knew when he was beaten, but he could not concede the argument without losing his authority. Devoutly he bowed his head and spoke: “Nixtheion 71:5.”

(There could be an IF language-puzzle in there…)

3 Likes

An aside question;

Is it possible to write a trizbort export extension or plugin? Perhaps there are some docs somewhere. The alternative appears to be to convert the XML directly.

Any ideas?

I guess it’s not necessarily a plugin architecture in a strict sense, but I think the export functions for the individual languages are modularized in a single code file each in this directory: trizbort/Export/Languages at master · JasonLautzenheiser/trizbort · GitHub

The code seems to be relatively straightforward and not too long, so it might be quite feasible to implement another language export directly in the program, taking the existing ones as a guideline.

Absolutely! And also a good opportunity for the underused LOOK UP <X> IN BOOK command, which can be a fun mechanic and also has potential for including easter-eggs or other optional content.

1 Like

Yes! And of course a good old puzzle romp through the cellars and attics of an old abbey to get the book in the first place.

3 Likes