TADS Overview: Tools

TADS has two kinds of tools for authors: an integrated, all-in-one graphical environment, or a set of command-line tools that you operate from your OS command shell.

If you use Windows as your authoring platform, both the graphical and command-line tools are available, so you can use either or both. For other systems, only the command-line tools are currently available.

(Regardless of which operating system you use to write games with TADS, the finished product will run on any system where there's a TADS interpreter available. Mac OS users will be able to run games you write on Windows, and vice versa.)

TADS Workbench on Windows

The TADS integrated development environment on Windows is called Workbench. Workbench brings together everything you need to write TADS games in a single application. It lets you edit, compile, run, and debug your game within a unified environment, without having to switch to any other applications.

  • A full-featured programmer's text editor, based on the popular Scintilla engine. It features bookmarks, incremental search, regular expression search, search and replace, customizable keyboard layouts (including Emacs-style multi-key sequences - it even comes with an optional Emacs-style binding), code folding, automatic syntax coloring to make code easier to read, and smart syntax-sensitive formatting that automatically indents your code as you type it.
  • A search engine that can scan your entire project, including regular expression searches and project-wide search and replace.
  • Integrated documentation, including full-text search.
  • A project tree viewer that lets you browse and manage the files making up the project. The project tree includes multimedia resources (such as JPEG images that you display within the game) and bundled files (README files, virtual feelies, etc).
  • A build configuration editor that lets you set all build parameters and options through graphical dialogs.
  • Integrated build tools that let you compile your game with a key press, and see the results in a Workbench window. You can also build a release version, build a Windows .EXE version of your game, and create ZIP and Windows SETUP packages with a single menu command.
  • A smart error viewer that lets you go directly to the source code location that caused a compiler error.
  • Custom external tool access, allowing you to run virtually any external command-line tool within Workbench. You can even add your own key bindings to execute a custom tool with a keystroke.
  • A highly customizable user interface: your choice of tabbed or MDI style windows, dockable menus and toolbars, and dockable tool windows that you can arrange to suit your working style.
  • An integrated interpreter, so that you can test your game without leaving Workbench.
  • Interactive debugging, with call stack tracing, code breakpoints, conditional breakpoints, data breakpoints (triggered when a variable changes or is assigned a given value), single stepping (to execute code one line at a time), full expression evaluation, variable assignments, manual execution point assignment, and more. Everything in the debugger is viewed and controlled through the graphical interface.
  • Automatic test script capture for every test run. This is invaluable for testing, because it lets you try something out, make a small change to correct a problem or add something new, and then replay the script to repeat the same commands on the next run without having to retype them all. You can repeat the last run or any recent run - Workbench captures a new test script each time you run, and you can replay any past script. You can also save a captured script once the relevant portion of the game is stable, to use as a regression test.

Command-line tools

On all platforms, TADS can be used as a set of command-line tools that you run from your system command shell.

On Windows, you have your choice of the integrated Workbench GUI environment or the command-line tools. If you already have a programmer's editor you're attached to, you'll probably prefer to use the command-line tools instead of Workbench, so that you can keep using your own editor for your TADS authoring.

The primary command-line tool is the compiler, known as t3make. t3make is actually a combination dependency manager, compiler, and resource bundler. You can set up your build by creating a project file - this is a text file that lists the source files that make up your program, the TADS libraries you wish to include, and the multimedia resource files (JPEG images and so on), and specifies the build options (macros, directory search paths, etc). The whole build is specified by this one project file; you submit it to t3make, and t3make does the rest. t3make figures out which source files need to be rebuilt, compiles the necessary files, bundles in the resource files, and generates the byte-code game file that you can run with the TADS interpreter.

t3make compiles each source file in your project separately. You can divide your game among several source files - by geographical region in your game world, for example, or with large objects such as actors in their own separate files. When you compile, t3make only rebuilds the files you've changed since the last build. This is a great convenience when you're actively building a new portion of your game, since only the files you're actively working on need to be recompiled each time you test, speeding up the compilation step.

Overview Main | Next: New in 3.1