Jetty


What is Jetty?
Jetty is a TADS 2 interpreter written in Java. It's mainly interesting for two reasons. First, it's a demonstration that it's possible to write a TADS 2 interpreter even if you are not Mike Roberts, and second, it can be run as an applet on your Web page to enable you to show off your TADS games.

Where can I see Jetty in action?
I have a few pages up running different games. Take your pick from

  • Mike Roberts' Ditch Day Drifter
  • Dan Shiovitz's (hey, that's me) Bad Machine
  • Mike Armstrong and Jeffrey Rosenthal's Galactic Peace
  • Chris Jacobsen, Matt Keeler, and Ben Racine worked on a modification of Jetty for a class project. They did an exceptional job, adding graphics, sound, and a number of other impressive interface enhancements. You can see their version in action now, although be warned it's a pretty hefty download.
  • Gayla Wennstrom's Finding Martin is a tongue-in-cheek science fiction game available for play both with Jetty and as a download.
(if you put up Jetty on your own page, let me know, and I'll add a link)

Why is it called 'Jetty'?
I started the project by writing a TADS 2 equivalent to the Z-machine txd utility, which was called 'tt'. All Java programs are required to have a name that starts with 'j', so 'Jetty' was an obvious choice.

But wait, I thought Jetty was a popular open source HTTP server and servlet container?
Yeah, um, well, the moral here is to check your project names better before you start using them. Jetty-the-server, developed by Greg Wilkins, has been around for quite some time now and had I done more research I could have avoided the confusion. If you'd like to check it out, follow this link.

What do I need to do to run Jetty on my Web page?
It should be pretty straightforward to get set up. You'll need to download the Jetty jarfile and the regexp jarfile, and stick those both in a directory with your gamefile. Then you just need to stick code to invoke the applet in your webpage. There are a bunch of ways to tweak an applet, but the basic chunk of html probably looks like this:
<APPLET CODE="JettyApplet.class" ARCHIVE="jetty.jar, regexp.jar" HEIGHT="400" WIDTH="600">
<PARAM NAME="file" VALUE="ditch.gam">
</APPLET>
In addition to the file parameter (which is required), you can use any of the following parameters, which do more or less what you expect: statusFont, statusFontSize, statusForegroundColor, statusBackgroundColor, mainFont, mainFontSize, mainForegroundColor, mainBackgroundColor, inputFont, inputFontSize, inputForegroundColor, cursorColor

Where is the source for Jetty?
Right here. Note that this does not include the source for the regexp package, which is by the Jakarta project, not by me. If you want that source (and you'll need it or the jarfile to compile Jetty), you can get it here.

What is the license for Jetty?
Jetty is released with the understanding that people should feel free to modify it, fix bugs, add features, whatever. If you find a bug or make an improvement I would appreciate if you let me know so I can update the main source, but it's not required. The specific license is here.

What is the current version of Jetty?
Release 1.0 went out February 3rd, 2002.
Release 1.1 went out March 3rd, 2002.
Release 1.11 (I dunno, they're getting more minor) went out April 11th, 2002.
Release 1.2 went out December 4th, 2002, and has a higher version number increment only because it's wrapping up a couple smaller fixes.

Who is the author of Jetty?
I'm Dan Shiovitz. I've written a few games, post on the newsgroups occasionally, and hang out on ifMUD. If you want to contact me, you can use email or post on rec.arts/games.int-fiction.

Who else helped in the making of Jetty?
I received considerable help creating the applet interface to Jetty by reading Matthew Russotto's Zplet source. Mike Roberts, of course, is the author of TADS, made the manual and source freely available, and answered a number of my direct questions besides. In addition, Stephen Granade, NK Guy, Iain Merrick, Dan Schmidt, and Emily Short provided beta-testing and suggestions. (Stephen should receive an additional note of praise for making the source for several of his major games available on the IF archive; they made debugging Jetty much, much easier). And post-release, a number of people provided bug reports and suggestions: John Cater, Ricardo Dague, Eric Moon, Jim Nelson, Stephen Newton, Lenny Pitts, Ken Ray, Kent Tessman, Rob Wheeler, and Per Wilhelmsson (and please let me know if you should be listed and aren't).

What other IF-related things have you written?
I could list them myself but it would probably be more convenient to point you at my entry in Baf's guide. I have a more general page of IF stuff that includes comp reviews and so on.

Where should I send my comments/questions/feature requests/bug reports?
Send them to me, please. IMPORTANT NOTE: I am not the author of the Jetty webserver. Do not send bug reports for that to me. Thanks!

Where does the Jetty photo come from?
It was taken one moody afternoon in January 2000 in New Zealand by NK Guy, tela design. He also handled the html design for this page and the pretty formatting, so thanks!