Game development features

One of the goals for XTads is to aid TADS game development on macOS, and it has several features to this end.

The File | Restart menu item lets you quickly reload the current game file from disk, speeding up the edit/compile/test cycle when working on a game.

In the Preferences panel:

  • In the Misc. tab. check Enable development mode features.
    This will display the Dev. mode tab, where you can select to display broken HTML markup and highlight spelling / grammar errors in the game’s output.
  • Uncheck Ask for confirmation when restarting a game (using menu).
    This will make File | Restart execute without a confirmation dialog.
  • Check Keep command history when starting a new game.

The File | Open for Testing dialog (requires the aforesaid development mode features enabled) lets you start games with:

  • A save-game position
  • Recording/playback of a command script
  • Recording of a full game text transcript

The File | Open Log Console menu item opens macOS’s log viewer,, configured to display log entries from XTads only. For this menu item to work, you’ll need to:

  • Enable the aforesaid development mode features
  • Enable “assistive access” for XTads: go to System Preferences | Security & Privacy | Privacy tab, and add XTads to the list of applications allowed to control you computer.

Note that you can also open from the /Applications/Utilities folder, and configure it manually by setting process XTads and subsystem XTads in the search field: type process:XTads and hit the Return key, then type subsystem:XTads and hit the Return key again.

Also note that is a “live stream” sort of viewer – it doesn’t show log entries from before it was opened, and has a limited time window.

Update 2020-07-23: On macOS 10.15 Catalina, the pre-configured filtering for XTads no longer works, so you’ll have to resort manually setting the process and subsystem fields, as described above.

The Logging table in Preferences | Dev. Mode lets you filter log output on minimum severity level, for each logging part (Logger) of XTads. While the default Warning level is fine if you just want to see log entries for problems, consider setting these Loggers to level Trace to observe game behaviour: XTOutputTextParserHtml, XTResourceFinder, osxtads.