I’m proud/happy/scared to announce the initial release of dgt - the Dialog Tool.
dgt is a tiny, specialized, highly opinionated command line tool used to build, debug, and test interactive fiction created with Dialog.
I’ve been using it while I translate Aaron Reed’s “Sand-dancer” to Dialog, and creating a threaded conversation library. Here’s what it looks like in action:
16:18:45 ~/workspaces/dialog/sanddancer-dialog > dgt test control-center-via-courage ... ✓ 83.734411ms control-center-via-strength ... ✓ 76.634892ms get-flashlight ... ✓ 82.800885ms memories ... ✓ 74.346684ms open-desert ... ✓ 73.358375ms pursuit/first-time ... ✓ 75.075295ms pursuit/lost-and-found ... ✓ 77.340047ms OK 16:18:51 ~/workspaces/dialog/sanddancer-dialog > dgt debug -d dgdebug --quit src/scenes/pursuit.dg src/scenes/rabbits-offer.dg src/scenes/rainstorm.dg src/base-of-tower.dg src/break-room.dg src/burrow.dg src/control-center.dg src/crumbling-concrete.dg src/hints.dg src/knock.dg src/light.dg src/memories.dg src/middle-of-nowhere.dg src/office-interior.dg src/office.dg src/open-desert.dg src/plans.dg src/roof.dg src/sand-dancer.dg src/smoking.dg src/staging-area.dg src/storage-room.dg src/talents.dg src/tower.dg src/weed-strewn-rust.dg src/windows.dg lib/debug/extra-debug.dg /usr/local/share/dialog-if/stddebug.dg lib/location-tracking.dg lib/room-connections.dg lib/scenes.dg lib/stdlib-extensions.dg lib/stdlib-overrides.dg /usr/local/share/dialog-if/stdlib.dg Dialog Interactive Debugger (dgdebug) version 0i/03. Type @help at the game prompt for a brief introduction. Middle of Nowhere (in the pickup truck) The tire tracks from the south stop abruptly here, but where the hell are you? The desert sand and clumps of pale sagebrush are all your dimming headlights pick out before barely reaching the concrete building to the north. Your poor old pickup truck ticks and groans, smashed gracelessly against a tall Saguaro; wiffs of evaporating gasoline linger in the chill air. On the dash you can see a piece of jade. The glove compartment is closed. >
dgt encourages you to break your project up into many small files, and understands that some files must be included for debugging and testing, but not in a released game.
More details are available at: https://github.com/hlship/dialog-tool
I’ve created a Homebrew package for installation on OS X:
brew install hlship/brew/dialog-tool
This will download the tool and its dependencies – hopefully, as it’s my first Homebrew formula.
I suspect the tool will continue to evolve rapidly and big disclaimer backwards compatibility is not an overriding goal, despite the
1.0 version number. However, I don’t expect to introduce anything too disruptive, so have fun kids!