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, Console.app, 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 Console.app from the /Applications/Utilities folder, and configure it manually by setting process “XTads” and subsystem “XTads” in the search field. Also note that Console.app is a “live stream” sort of viewer – it doesn’t show log entries from before it was opened, and has a limited time window.

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.