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: GitHub - hlship/dialog-tool: Tool to assist in testing and building interactive fiction using Dialog
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!