t3sketch - turn flowcharts into tads code!

Hello. My name is Dustin and I am new to the intfiction forums and well TADS and IF in general. I fell in love with TADS when I was a kid and I remember I had the entire System Manual printed out in binders the I would take to school and study. I wasn’t much of a programmer back then and I don’t think I ever stood much chance. I don’t think I even played much IF (I can’t recall any); I was just fascinated with the system. Anyhow, I somehow started playing IF recently and have also been studying TADS again and I thank Eric and Jim and Emerald for their help so far. As a result I have built some tooling to help facilitate TADS work on linux.

What if you could prototype a new area for your game visually and have all the boilerplate for Rooms and Doors rendered out for you in a buildable state? Imagine prototyping the image below and being able to instantly build it into a TADS game:

Well with t3sketch you can! If you have linux, python and frobtads you can use t3sketch. I’ve released the rudiments of this project on github here: github.com/dustinlacewell/t3sketch There are some preliminary instructions about how to install it, and how to bootstrap the example map shown above.

Basically, by designing a floorplan, and specifying the classes of your objects like Rooms and Doors, t3sketch can render out all the bare-bones code required to represent those objects. It allows you to quickly draw up the skeleton of code for you to then edit. It is not “managed” or “dynamic”. Once you render out the area, that’s it. If you edit the code, you’re past the stage where t3sketch can assist you.

In addition, it comes with a handy wrapper around t3make. Point it at a directory full of code and it will generate reasonable makefiles and optionally build and run the game file.

I have created a termcast demonstrating how to perform the demonstration described in the Github README.


What do you all think?

Well thanks to Eric and Jim I now have windows working correctly. If you build the example, you should now see windows connecting each of the rooms connected by dashed-lines in the floorplan.


EDIT: After git pull and then reinstalling with sudo python setup.py install, you’ll then need to regenerate the area with t3map.

pokes the TADS community

By the way, it’d be super great if I could have a volunteer try out t3sketch on windows!

well done! (even though I don’t use tads, it’s a nice way to create maps)

I had the impression from the initial post that it was Linux-only. What are the requirements to run it? My Windows computer is old and creaky. :slight_smile:

Regardless, I intend to try this tool eventually (on Linux if my Windows computer isn’t up to it), but I know I’m not going to have time for quite a while.

Your interest is welcome! :slight_smile:

To run this on Windows I imagine you would need: Python >= 2.6, lxml, frobtads, and git

If you don’t want to mess with git, you can get a direct download of t3sketch by downloading: github.com/dustinlacewell/t3ske … master.zip

Just ask me for help along the way if you get stuck, I’m checking this thread constantly… :slight_smile:

Someone asked me how t3sketch compares to Trizbort. Here was my reply:

This is awesome, a really cool idea! Sadly, I don’t use TADS. :frowning:

Theoretically I should be able to render out the same kind of code for Inform however, I know absolutely nothing about Inform and so someone with both Python and Inform knowledge would have to help me out. Basically, how do you write rooms in Inform and how do you compile them.

In other news, I am investigating whether or not yEd a crossplatform diagraming tool is a good replacement for draw.io/ It appears to support the editing of arbitrary metadata and so would allow t3sketch to truly mirror trizbort in that respect.

That would be awesome! I think it’s a cool idea, so if someone more tech-savvy than me agrees then hopefully they’ll jump in. If you’re keen to do it, you might want to post on the I7 forum as I doubt many Informers make it over here.

I have no idea what this means! Arbitrary metadata sounds delicious.

By arbitrary metadata, I mean being able to edit properties of each node (room, door, window) right in the diagram editor, so that information can be rendered out when you export the map to source-code.

Aha. When I plan out a world, I always start by drawing a map and then translate it into Informanese. A program to do it for me would be great and I can see it being a widely-used tool. It’s just a shame I don’t have the skills to help!

Well… you could use trizbort.genstein.net/index.php#overview

:blush: I’ve heard Trizbort mentioned, but assumed it was just designed to map IF as you played! Thanks for the pointer.