views:

751

answers:

10

I'm looking to write an interactive fiction à la Zork, but with my own silliness...

The question I want to ask is: what are the tools and languages existing to do that and what are the features and advantages of each?

For example what are the differences between TADS 2, TADS 3, Inform 6 and Inform 7, and why use one instead of another? Cross-platform support is highly desirable, but not mandatory.

Tool list:

+1  A: 

http://www.adrift.org.uk/cgi/new/adrift.cgi

This site runs incredibly slowly, but your patience will be rewarded.

You can see: a text-adventure creation toolkit

>_

How does it compare to the others tools ?
edomaur
To know that I would have to compare it. I found it ideal for the casual text adventure builder. It's author-centric rather than programmer centric.
+2  A: 

The tool I'm familiar with, which gave me a lot of entertainment at university (along with lots of sleepless nights and missed classes) is LPMud. This is for multi-player games rather than single-user text adventures, but you could use it single-user if you wanted. And the multi-player aspect adds a huge extra dimension which is very rewarding.

I haven't used it properly for 12-15 years but it is still available, and you can try it out as a player on some of the few remaining muds that are still running.

It has an embedded programming language called LPC which is a bit like Java with looser typing.

Leigh Caldwell
For multi-player IF as opposed to a MUD/MUSH take a look at http://www.guncho.com/
Dave C
LDMud is now state of the art (Lars Duening took over and it is now some kind of OS-project). About the typing - you can enforce strict typing, if you want.There are some MUDlibs, basic library about creating things, having player-shells etc around (a lot of german at least). See MUD in Wiki :)
Leonidas
A: 

I've only looked into Interactive Fiction briefly but as I understand it TADS is more aimed at programmers and (I think) is an object oriented language whereas Inform is aimed at non-programmers with a "natural" programming language that mimics natural English. The version I tried out was Inform 7, Inform 6 just looks like it's just an older version with no particular advantage to using it. Inform 7 can produce Z-machine code (version 5 or 8) and according to this page (http://www.inform-fiction.org/zmachine/interpreters.html):

Versions 1 to 5 of the Z-machine are widely implemented. Higher versions, particularly V6, are rarer.

So distribution shouldn't be a problem with Inform 7 as opposed to Inform 6.

Maikeru
A: 

Having looked into this while at university, my advice is roll your own: you'll be able to innovate your own unique features, and you'll learn a whole lot along the way. Use whatever language you're comfortable with.

Iain
Unless what you are interested in is the exercise of writing a parser etc then absolutely do NOT roll your own. It's like picking perl/ruby/python etc versus writing your own scripting language.
Dave C
Got to agree with Dave on this one. If you're intested in writing a game, do *not* roll your own. The existings systems out there do a truly enormous amount of work for you, leaving you the ability to write your game, not a system.
Beska
Thirding this. Readers of interactive fiction have a ton of accumulated assumptions about how the parser works, shortcuts for commands, what the game will let them do, and so on. If you don't implement them all correctly -- and you won't -- your readers will be frustrated.
mquander
This attitude is probably the reason why nobody plays text adventures anymore. Clearly nobody is innovating. Also, a text adventure engine can only be a few hundred lines, and if you can't write your own, you should probably learn.
Iain
I don't think anyone is saying they couldn't write their own. But why bother? Especially when by using an existing framework like Inform or TADS you'll get a system *FAR* more powerful than something you could write in "a few hundred lines".
Beska
+1  A: 

I'd say Inform 6 is the ‘default’ choice at the moment.

TADS is capable (it is reputedly less customisable as a parser than Inform, but I have little experience with that); however it seems to be slowly becoming less popular judging by numbers of released games.

Inform 7 is not so much an update to Inform 6 as an experimental IDE over the top of it. (Behind the scenes, it is generating code for Inform 6 to compile.) Personally my experience with natural-language attempts to ‘take the programming out of programming’ give me an extremely negative reaction to what it's trying to do, but for someone with a less codey backround it may be worth considering.

bobince
There is no 'default'. Inform 7 and TADS appear to be the most popular right now. Inform 6 and 7 are actually quite different; Inform 7 is quite powerful.
Dave C
+7  A: 

The best place to ask interactive fiction questions is on the rec.arts.int-fiction newsgroup.

The IFWiki also has an authoring system category with lots of information.

Roger Firth has a good web page called Cloak of Darkness which shows a small example game implemented in most of the common (and some not so common) IF languages.

Dave C
+3  A: 

Having looked at this field for several years, I can definitely say that while there are many good aspects to several systems, if you decide to invest time in Inform 7, you will end up with a very powerful system that will likely fill all of your needs, and then some.

As a computer programmer, the English language type syntax seems a bit loose at first, but it is a small price to pay for the ease of design that comes with it. Additionally, it comes with a fantastic IDE that incorporates compilation, help, windows, automated test script generation, and much more. On top of that there are many source code examples, both in the download, and elsewhere on the net that you can use to discover how it works. Finally, there are are also several user created libraries that have been created to handle unusual cases that you may run into in the course of your design.

You can find Inform here, and another great place to check out is the if-archive, where you can find examples, extensions, manuals, etc. Additionally, another great place to check out is Baf's Guide to the IF Archive, which gives various ratings, but also allows you to find Z-code, and download Inform source in many cases.

Beska
I second the recommendation of Inform 7. I was dubious of the pseudo-natural language code, but I spent one or two afternoons with it and got a surprising amount of a toy game working. The language is hugely powerful, and the IDE is fantastic. The IDE should be back-ported to Inform 6 for those who prefer a traditional programmer language.
Adrian McCarthy
@Adrian, actually the IDE works for 6 as well...since 7 just compiles to 6, you can use 6 if you choose (if I'm remembering correctly). On the other hand, some of the fancier features may disappear...though most of the ones that I'm thinking of (windowing, automatic test generation, etc.) should work fine.
Beska
+2  A: 

My preference is Inform 6, and here's why:

  • As a C/C++ programmer, I find the syntax to be most familiar and the easiest to write.
  • The Inform Designers Manual, Fourth Edition (DM4) is the best programming language manual I have ever read, bar none. The essays on design at the end of the manual are also priceless for anyone serious about the IF genre and storytelling in adventure games in general.
  • Inform compiles to the Infocom Z-Machine format, which is publiclly well documented and has interpreters on pretty much every platform known to man. If you code in Inform 6, your game will run on pretty much any system you want.
  • There are a vast array of libraries and game source available in Inform 6. Pretty much anything you may want to do across multiple titles has a library written for it, or has source code that you can inspect.
  • The parser is already written, well understood, and has undergone much refinement. There are also libraries for multiple languages (French, Italian, German).
  • If you're an Infocom afficinado, as I am, being able to easily write games with the same features as their games (status line, score/time formatting, end of game style, etc.) is also a big plus. There are decompilers and some source available for the released infocom titles, so you can see how "The Masters" wrote their games, as well.
  • Inform is the most popular authoring language out there right now, AFAIK. You won't have to go far to find someone who knows Inform and can help out.

Best of luck. I'm always looking forward to exciting new works of IF.

Furious Coder
A: 

If you want a quick comparison among the leading IF languages, check out the Cloak of Darkness sample game. It implements the same game in multiple languages, to give you a (very) quick overview of the simple functions of each.

Note that it's not a very involved game, so it won't show you how to do anything very complex, but it's a starting point.

lacqui
A: 

I'm aware this question is a little old, but there's another IF design language that's usually overlooked: Hugo. If you're entertaining thoughts of creating IF with multimedia (even video is supported with the latest version), definitely give Hugo a try.