How do you go about designing an IF?

18 views
Skip to first unread message

Slybok

unread,
Nov 14, 2005, 8:49:39 PM11/14/05
to
I'm starting to re-enter IF again and after a long laspse of time, I've
decided to head in the way of Inform as a language. What my question
is, how do you go about designing an IF? I ask this question, mainly,
because I am interested in Game Design myself and would like to
approach my programming in an organized manner. Any ideas or info on
how you design for your IF?

aph...@altavista.com

unread,
Nov 14, 2005, 10:08:24 PM11/14/05
to
Yes.
First drop Inform, Tads is better.

Second, start with a map. A map helps create ideas and game flow.

Third, harp on NPC's and allow them to make the world come alive.

Lastly, saturate the landscape with animate objects the PC's can use.

Also remember that the PC's are hero's and should be treated as such,
but don't make it easy.

I would also add some wisdom from The Brass Lantern: The player always
gets it wrong: What does that mean, well, it pretty much sums up the
fact that gamers are idiots. Well, to the extent that they breeze by
code you spent 506 hours on, and spin in circles in an empty room you
only spent 2 minutes coding. If you want to spend 506 hours coding
something, do so because you want to only.

Thats my two cents,
A.P. Hill
-I shaved my balls to look like a professional pornstar.

Jon Rosebaugh

unread,
Nov 15, 2005, 12:13:07 AM11/15/05
to

To my mind, the best introduction on the subject is Graham Nelson's The
Craft of Adventure. It's chapter 8 of the Inform Designer's Manual, and
can be read here: http://www.inform-fiction.org/manual/html/ch8.html

There isn't really One True Way to design a work of IF. Some authors
start with the storyline, others start with a specific character, or a
gimmick, or even just the title. And some authors change what they start
with depending on the game. It's a lot like normal writing in this
respect. The most memorable IF games (in my opinion, anyhow) are those
which either involve solid descriptive prose (these are often, but not
always, genre games), those which take advantage of the interactivity to
do things not possible in normal fiction, and, of course, those which do
both. The normal advice about "show, don't tell" applies, but it can
often be extended to include "let the player figure it out on his own
from the world, instead of explicitly showing it".

In addition, you may find it informative to read essays by authors of
particularly-well received games, although you should probably play the
games first to avoid spoilers and get the maximum benefit from their
discussion of the development process. Here's a few off the top of my head:
http://www.adamcadre.ac/content/phaq.txt - Adam Cadre, Photopia
http://www.adamcadre.ac/content/remains.txt - Adam Cadre, Shrapnel
http://raddial.com/if/theory/make_if_fast.html - J. Robinson Wheeler,
several games

Brass Lantern is also a good place to visit
(http://www.brasslantern.org/writers/iftheory/) as is XYZZYNews.com,
although the latter site appears to be having some 404 difficulties, so
you may wish to make judicious use of archive.org

The Interactive Fiction Wiki is a wiki specific to our medium, at
http://www.ifwiki.org/ Currently, though, organization seems a bit
lacking, so it may be difficult to find useful information.

Lastly, ignore AP Hill. Inform is just fine.

Dan Shiovitz

unread,
Nov 15, 2005, 12:32:50 AM11/15/05
to
In article <oIGdnQX4n8_X8-Te...@bright.net>,
Jon Rosebaugh <jonathan....@mnsu.edu> wrote:
[..]

>The Interactive Fiction Wiki is a wiki specific to our medium, at
>http://www.ifwiki.org/ Currently, though, organization seems a bit
>lacking, so it may be difficult to find useful information.

I definitely agree with the rest of what you said, but the wiki is
actually pretty good, and (it being a wiki) people are working on
improving it. For new players I'd point especially to the topics
linked from the front page -- Craft, Theory, and "Past raif topics"
(this last is collected by David Fisher, and is likely to be extremely
valuable if you're wondering why people do things a particular way, or
if anyone's thought of doing something).

--
Dan Shiovitz :: d...@cs.wisc.edu :: http://www.drizzle.com/~dans
"He settled down to dictate a letter to the Consolidated Nailfile and
Eyebrow Tweezer Corporation of Scranton, Pa., which would make them
realize that life is stern and earnest and Nailfile and Eyebrow Tweezer
Corporations are not put in this world for pleasure alone." -PGW


Tail Kinker

unread,
Nov 15, 2005, 1:18:35 AM11/15/05
to
On Mon, 14 Nov 2005 19:08:24 -0800, aphill wrote:

> Yes.
> First drop Inform, Tads is better.

This is a matter of preference. Personally, I prefer Inform.

> Second, start with a map. A map helps create ideas and game flow.

Not to mention really helpful later when you go back over your source
code, and think, "Where exactly can I get to from here?"

> Third, harp on NPC's and allow them to make the world come alive.

Vivid descriptions of locations and things also help. Remember, you are
working in a text-only environment (unless you try out V6Lib or
TADS-HTML), so description = life. :)


> Lastly, saturate the landscape with animate objects the PC's can
use.

> I would also add some wisdom from The Brass Lantern: The player always


> gets it wrong: What does that mean, well, it pretty much sums up the
> fact that gamers are idiots. Well, to the extent that they breeze by
> code you spent 506 hours on, and spin in circles in an empty room you
> only spent 2 minutes coding. If you want to spend 506 hours coding
> something, do so because you want to only.

I also agree. I've seen a player trying out one of my games (I gotta get
around to finishing one, so I can release it!) spend six hours trying to
figure out the significance of a single object - a wallet - in one of my
games. The significance of the wallet was that it was empty, and that was
about that. :)

OTOH, the same player breezed through a puzzle I'd spent many hours
coding. Did it in about three seconds.

Short form of the above, players will always do something unexpected. Try
to expect it.

Hope any/all of the above is helpful.

--
ICQ#66022322 http://tailkinker.contrabandent.com
"Cows fly like clouds but they are never quite successful."
--MegaHAL

Victor Gijsbers

unread,
Nov 15, 2005, 5:12:46 AM11/15/05
to

I want to stress one _essential_ piece of design advice that is rarely
given.

Think about the interactive aspects of your piece. Why is it that your
piece works better as an interactive piece than as a written story? Make
sure you know what kind of choices you want the player to make. Then,
start thinking about two questions: 1, How do I make interesting choices
of such kinds? 2. How do I make clear to the player what kind of choices
he is supposed to make?

What do I mean by this? Well, in some pieces, the player has to solve
puzzles. Therefore, he has to explore the world, judge which actions
will allow him to overcome the fictional obstacles and thus arrive at
the right solution. You want the player to search for a right solution.
What you will have to do is create interesting puzzes, and make clear to
the player that he has to solve them.

Other pieces (though they are more rare) ask the player to make moral
choices. In this case, when the player faces a multiplicity of possible
actions, the question is not which is the right solution of the problem,
the question is what the player believes to be the morally best action.
You need to make this is clear to the player; if he believes he has to
search for the right solution, he's missing the point of the game. Also,
try to think up good ways to create interesting moral dilemma's in an IF
piece. (Among the pieces that are about moral choices, 'Slouching
towards bedlam' and 'Whom the telling changed' come to mind.)

But your piece could also be about merely exploring a world or a
character; or about aesthetic choices; or whatever. Reflect on the
nature of the interactivity you want to achieve. Once that is clear,
you'll be in a much better position to start the rest of the development.

Have fun!,
Victor

James Mitchelhill

unread,
Nov 15, 2005, 7:16:14 AM11/15/05
to
On Tue, 15 Nov 2005 06:18:35 +0000, Tail Kinker wrote:

> On Mon, 14 Nov 2005 19:08:24 -0800, aphill wrote:
>
>> Yes.
>> First drop Inform, Tads is better.
>
> This is a matter of preference. Personally, I prefer Inform.

<snip>

I don't want this to turn into a mass of flames, but I've recently been
learning inform and I'm fairly mystified by why it's still the language
of choice for so many IF authors.

I see that there's a fair few advantages to it (vast portability, large
selection of contributed libraries, etc), but the difficulty of actually
doing anything complicated seems huge. Obviously people manage, and
there's been great games written using it. But I'm a fairly competent
amateur programmer and I know that I'd be struggling against the
language if I attempted anything more complicated than the standard
features.

So, why is inform so popular and is this just me?

--
James Mitchelhill
ja...@disorderfeed.net
http://disorderfeed.net

Jon Rosebaugh

unread,
Nov 15, 2005, 8:48:56 AM11/15/05
to
James Mitchelhill wrote:
> I don't want this to turn into a mass of flames, but I've recently been
> learning inform and I'm fairly mystified by why it's still the language
> of choice for so many IF authors.
>
> I see that there's a fair few advantages to it (vast portability, large
> selection of contributed libraries, etc), but the difficulty of actually
> doing anything complicated seems huge. Obviously people manage, and
> there's been great games written using it. But I'm a fairly competent
> amateur programmer and I know that I'd be struggling against the
> language if I attempted anything more complicated than the standard
> features.
>
> So, why is inform so popular and is this just me?

It may not be "just you"; after all, TADS is still duking it out with
Inform for the top spot.

But, I tried learning TADS first. And while its advantages are different
("HTML TADS makes multimedia games much easier than in Inform" -- this
was before Glulx, incidentally), my perceptions about TADS were
remarkably similar to your perceptions about Inform.

I know that Z-Machine abuses aren't really IF at all, but I think
they're proof that Inform is capable of doing complicated things. I
can't speak for how easy they are to do, myself, as I've never done one,
but zarf has made the source code for some of his more interesting
pieces (Lists & Lists: a Scheme interpreter and tutorial, and also
Freefall: tetris in z-machine, and also for some more conventional IF
games) available. http://www.eblong.com/zarf/if.html

Mike Snyder

unread,
Nov 15, 2005, 9:00:08 AM11/15/05
to
"Jon Rosebaugh" <jonathan....@mnsu.edu> wrote in message
news:mqmdnRyq3cmyeuTe...@bright.net...
> James Mitchelhill wrote:

> It may not be "just you"; after all, TADS is still duking it out with
> Inform for the top spot.

New IF authors should give Hugo a look, too. A few days ago, I was talking
with a TADS2 author, and it was interesting how much Hugo does in its
default libraries that has to be coded for in TADS2: Items with an initial
description shown only before the item is moved, exclude_from_all,
parse_rank (for making some disambiguation automatic), overriding default
verb messages (such as "Taken"), etc. It's worth a look. It *should* get a
lot more use than it does...

---- Mike.


Depresiv

unread,
Nov 15, 2005, 11:21:26 AM11/15/05
to
By the way, is Hugo as easy to translate to another language (such as
german, spanish or french) as Inform is?

Mike Snyder

unread,
Nov 15, 2005, 11:56:24 AM11/15/05
to
"Depresiv" <pablo...@yahoo.es> wrote in message
news:1132071686.0...@g47g2000cwa.googlegroups.com...

> By the way, is Hugo as easy to translate to another language (such as
> german, spanish or french) as Inform is?

You would just need to translate what's in the library files. I don't know
that it would be *easy* since some messages are constructed (a couple words,
then his/hers, then more words), but I think it's do-able.

--- Mike.


James Mitchelhill

unread,
Nov 15, 2005, 2:07:44 PM11/15/05
to
On Tue, 15 Nov 2005 07:48:56 -0600, Jon Rosebaugh wrote:

> James Mitchelhill wrote:
>> I don't want this to turn into a mass of flames, but I've recently been
>> learning inform and I'm fairly mystified by why it's still the language
>> of choice for so many IF authors.
>>
>> I see that there's a fair few advantages to it (vast portability, large
>> selection of contributed libraries, etc), but the difficulty of actually
>> doing anything complicated seems huge. Obviously people manage, and
>> there's been great games written using it. But I'm a fairly competent
>> amateur programmer and I know that I'd be struggling against the
>> language if I attempted anything more complicated than the standard
>> features.
>>
>> So, why is inform so popular and is this just me?
>
> It may not be "just you"; after all, TADS is still duking it out with
> Inform for the top spot.
>
> But, I tried learning TADS first. And while its advantages are different
> ("HTML TADS makes multimedia games much easier than in Inform" -- this
> was before Glulx, incidentally), my perceptions about TADS were
> remarkably similar to your perceptions about Inform.

Did you have any programming experience before you started writing IF? I
can see how Inform would make more sense than TADS if that was the case.

> I know that Z-Machine abuses aren't really IF at all, but I think
> they're proof that Inform is capable of doing complicated things. I
> can't speak for how easy they are to do, myself, as I've never done one,
> but zarf has made the source code for some of his more interesting
> pieces (Lists & Lists: a Scheme interpreter and tutorial, and also
> Freefall: tetris in z-machine, and also for some more conventional IF
> games) available. http://www.eblong.com/zarf/if.html

I'm not really talking of abuses, display capabilities or multimedia.
Complicated things are definitely possible with Inform (Galatea and
Varicella both do some incredibly clever things, as does Lists & Lists).
I don't think it makes complicated things easy, though.

I would be entirely comfortable using inform to write a simple game -
its basic capabilities are really good for this. My problems came when I
started thinking about conversation systems. In TADS 2, I'd have been
entirely comfortable writing my own system. I haven't looked at TADS 3
in this respect, but I suspect it would be even easier. In Inform, I'd
be lost, because the language doesn't provide me with the tools I need.
If I really wanted to, I could write the tools, but this would take more
time than I'd like to spend on something other languages provide.

Built-in string handling would be nice, for example. (I'm aware there
are libraries for this). More powerful arrays would be even better. Not
ever having to care what the byte representation of something is would
be great.

There's things I dislike about TADS as well. It seems to me that both
languages have their ideal domains. Inform seems great for writing
simple games quickly. TADS seems better at handling complexity. I
suspect other people's milage varies with this, but I'd be interested in
knowing why.

Andrew Plotkin

unread,
Nov 15, 2005, 3:29:09 PM11/15/05
to
Here, James Mitchelhill <ja...@disorderfeed.net> wrote:
>
> There's things I dislike about TADS as well. It seems to me that both
> languages have their ideal domains. Inform seems great for writing
> simple games quickly. TADS seems better at handling complexity. I
> suspect other people's milage varies with this, but I'd be interested in
> knowing why.

One point is that there are many forms of "complexity". You
(correctly) referred to display abuses and string-handling as two
different realms, but there are more beyond that.

I'd say that Inform's action-handling model is particularly good. It
lets you do easy things easily. The deeper-down details are eccentric,
but it still scales well into fairly complicated game models -- you
can do hard things with only a moderate amount of work.

(Then you hit a wall and start having to rewrite large parts of the
library. But the wall is really quite high up. _Shade_ hit it.
_Hunter_ didn't.)

The complexity-realm I am talking about is the handling of different
kinds of action customizations -- special conditions you might want to
put on certain actions, certain objects, certain locations, and so on.
And making sure that the right one happens in the right situation.
*Most* IF spends a lot of time on these issues, and I'd say that's why
Inform stays high in the polls.

--Z

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*
I'm still thinking about what to put in this space.

Mike Rozak

unread,
Nov 15, 2005, 3:42:31 PM11/15/05
to
> Second, start with a map. A map helps create ideas and game flow.

You might also want to start from the top and work your way down...

Figure out what the players do and why the players (not the player's
character) are doing it. Then deal with the details about rooms, objects,
specific puzzles, etc.

For some information about "why the players are doing it", see
http://www.mxac.com.au/drt/FableAnalysis.htm.

--

Mike Rozak
http://www.mxac.com.au


Jon Rosebaugh

unread,
Nov 15, 2005, 5:06:56 PM11/15/05
to
James Mitchelhill wrote:
> On Tue, 15 Nov 2005 07:48:56 -0600, Jon Rosebaugh wrote:
>>But, I tried learning TADS first. And while its advantages are different
>>("HTML TADS makes multimedia games much easier than in Inform" -- this
>>was before Glulx, incidentally), my perceptions about TADS were
>>remarkably similar to your perceptions about Inform.
>
>
> Did you have any programming experience before you started writing IF? I
> can see how Inform would make more sense than TADS if that was the case.

I'd done some work in QuickBasic. I don't especially think that counts.
IF was my first use of object orientation, anyhow. I actually tried
Inform first, got annoyed at the arrow syntax for the object tree, then
went to TADS and discovered that while it lacked the quirkiness of the
arrow syntax, it made up for it in spades with other annoyances.

> I would be entirely comfortable using inform to write a simple game -
> its basic capabilities are really good for this. My problems came when I
> started thinking about conversation systems. In TADS 2, I'd have been
> entirely comfortable writing my own system. I haven't looked at TADS 3
> in this respect, but I suspect it would be even easier. In Inform, I'd
> be lost, because the language doesn't provide me with the tools I need.
> If I really wanted to, I could write the tools, but this would take more
> time than I'd like to spend on something other languages provide.

That depends entirely on what you mean by "conversation system".
If you're looking for something like the classic >ASK MONKEY ABOUT
BANANA, Inform has built-in support for that. See
http://www.inform-fiction.org/manual/html/s17.html
If you want something else, menu-based, say, there are plenty of
easy-to-use extension libraries available:
http://www.inform-fiction.org/extensions/npc.html

Many of them are simple in concept, and are mainly complex in execution
due to covering all the abnormal cases.

> There's things I dislike about TADS as well. It seems to me that both
> languages have their ideal domains. Inform seems great for writing
> simple games quickly. TADS seems better at handling complexity. I
> suspect other people's milage varies with this, but I'd be interested in
> knowing why.

In my opinion, there's three stages of IF complexity, the Simple case,
the Complex case, and the Case the System Creator Never Thought of. As
far as I can tell, TADS may be better at the Complex case, but Inform is
better at the other two. It also happens to be more fun for me, so I use
it for all three cases happily.

David Fisher

unread,
Nov 15, 2005, 5:19:29 PM11/15/05
to
"Dan Shiovitz" <d...@cs.wisc.edu> wrote in message
news:dlbru2$48f$1...@cascadia.drizzle.com...

> In article <oIGdnQX4n8_X8-Te...@bright.net>,
> Jon Rosebaugh <jonathan....@mnsu.edu> wrote:
> [..]
>>The Interactive Fiction Wiki is a wiki specific to our medium, at
>>http://www.ifwiki.org/ Currently, though, organization seems a bit
>>lacking, so it may be difficult to find useful information.
>
> I definitely agree with the rest of what you said, but the wiki is
> actually pretty good, and (it being a wiki) people are working on
> improving it. For new players I'd point especially to the topics
> linked from the front page -- Craft, Theory, and "Past raif topics"
> (this last is collected by David Fisher, and is likely to be extremely
> valuable if you're wondering why people do things a particular way, or
> if anyone's thought of doing something).

... in particular:

http://www.ifwiki.org/index.php/Past_raif_topics%3A_IF_Theory%3A_part_1#Game_design

By the way, what would help make it easier to find things in the IFWiki for
people (ie. make it seem more organised) ? I'm sure the maintainers are open
to suggestions. Lately one of the main thrusts has been to put every page in
at least one a category - see:

http://www.ifwiki.org/index.php/Category%3ABasics

David Fisher


Victor Gijsbers

unread,
Nov 15, 2005, 6:30:07 PM11/15/05
to
Jon Rosebaugh wrote:

> I'd done some work in QuickBasic. I don't especially think that counts.
> IF was my first use of object orientation, anyhow. I actually tried
> Inform first, got annoyed at the arrow syntax for the object tree, then
> went to TADS and discovered that while it lacked the quirkiness of the
> arrow syntax, it made up for it in spades with other annoyances.

You know, I have a 300+k Z-file sitting here, and I never once used an
arrow. It's not mandatory to build your object tree that way. You can
also write:

Object first "first object";

Object second "second object" first;


With the great advantage that you can actually move your code around
without worrying. You probably know this, but I thought it couldn't hurt
mentioning it.

Greetings,
Victor

Jon Rosebaugh

unread,
Nov 15, 2005, 5:43:25 PM11/15/05
to
Victor Gijsbers wrote:
> You know, I have a 300+k Z-file sitting here, and I never once used an
> arrow. It's not mandatory to build your object tree that way. You can
> also write:
>
> Object first "first object";
>
> Object second "second object" first;
>
>
> With the great advantage that you can actually move your code around
> without worrying. You probably know this, but I thought it couldn't hurt
> mentioning it.

Yeah, I figured that out the second time I looked at Inform. I don't
know how I missed it the first time.

Poster

unread,
Nov 15, 2005, 5:51:02 PM11/15/05
to
Hear, hear! The arrow syntax is totally confusing, which is why I used
it just a few times early on when I was still feeling my way around the
language.

~Poster
www.intaligo.com Inform extensions and more
www.intaligo.com/building Dark IF

James Mitchelhill

unread,
Nov 15, 2005, 7:07:55 PM11/15/05
to
On Tue, 15 Nov 2005 20:29:09 +0000 (UTC), Andrew Plotkin wrote:

> Here, James Mitchelhill <ja...@disorderfeed.net> wrote:
>>
>> There's things I dislike about TADS as well. It seems to me that both
>> languages have their ideal domains. Inform seems great for writing
>> simple games quickly. TADS seems better at handling complexity. I
>> suspect other people's milage varies with this, but I'd be interested in
>> knowing why.
>

> I'd say that Inform's action-handling model is particularly good. It
> lets you do easy things easily. The deeper-down details are eccentric,
> but it still scales well into fairly complicated game models -- you
> can do hard things with only a moderate amount of work.

I haven't learnt enough Inform to appreciate the action handling model
fully, but I do like what I've seen of it.


> (Then you hit a wall and start having to rewrite large parts of the
> library. But the wall is really quite high up. _Shade_ hit it.
> _Hunter_ didn't.)

I'd have guessed it would be the other way around. Just out of interest,
what was it in Shade that didn't fit the library?

Andrew Plotkin

unread,
Nov 15, 2005, 7:14:34 PM11/15/05
to
Here, James Mitchelhill <ja...@disorderfeed.net> wrote:
> On Tue, 15 Nov 2005 20:29:09 +0000 (UTC), Andrew Plotkin wrote:
>
> > (Then you hit a wall and start having to rewrite large parts of the
> > library. But the wall is really quite high up. _Shade_ hit it.
> > _Hunter_ didn't.)
>
> I'd have guessed it would be the other way around. Just out of interest,
> what was it in Shade that didn't fit the library?

The zone system, where multiple "rooms" were visible from each other,
and an action could cause you to automatically move to a different
part of the game.

(The source code is on the Archive if you want to look.)

I didn't wind up *actually* rewriting large parts of the Inform
library. But it required deep-hacking knowledge of the library to
craft the (localized) changes that I did put in.

_Hunter_, in contrast, only required some tweedling around with
compass directions. The Inform library is comfortable with that.

Samwyse

unread,
Nov 15, 2005, 10:37:45 PM11/15/05
to
Jon Rosebaugh wrote:

> In my opinion, there's three stages of IF complexity, the Simple case,
> the Complex case, and the Case the System Creator Never Thought of. As
> far as I can tell, TADS may be better at the Complex case, but Inform is
> better at the other two. It also happens to be more fun for me, so I use
> it for all three cases happily.

Heh, heh. That quote needs to go into the wiki somewhere.

futab...@yahoo.com

unread,
Nov 15, 2005, 10:51:54 PM11/15/05
to
aph...@altavista.com wrote:
> Yes.
> First drop Inform, Tads is better.

First, stick with Inform; many players won't install a new runtime to
play your game, but may have an Infocom Z-code interpreter lying around
to play the classics of the genre.

> Second, start with a map. A map helps create ideas and game flow.

Second, forget the map, and concentrate on creating good interactive
drama first. Once you have the broad structure of your plot laid out,
the map will practically write itself.

> Third, harp on NPC's and allow them to make the world come alive.

Third, harp on NPCs, and allow them to make the world come alive.

> Lastly, saturate the landscape with animate objects the PC's can use.

Fourth, eschew puzzles that focus on fiddling with moving objects
around, and lean on your NPCs (and your characterization of the PC) to
drive your drama.

Fifth, make sure that all first-order nouns (i.e. everything referred
to in the text that you present to the user) is understood by the
parser.

> Also remember that the PC's are hero's and should be treated as such,
> but don't make it easy.

Sixth, create a believable PC with good characterization, but don't
make the PC Superman.

> I would also add some wisdom from The Brass Lantern: The player always
> gets it wrong: What does that mean, well, it pretty much sums up the
> fact that gamers are idiots.

Seventh, remember that the chief pitfall of writing IF is turning the
game into a "guess what I'm thinking" exercise. Be prepared to accept
a variety of inputs from clever gamers, and don't try to shoehorn them
into your own fixed idea of what to do. Good beta testers will help.

Most importantly, stick with what you start, and see your project
through to completion. For every game uploaded to ifarchive.org, there
are at least ten half-finished projects lying around on would-be
authors' hard drives, some for years....

-- Sue --
(still plugging away at her entry for the 1995 Interactive Fiction
Competition....)

--
Susan Davis <futab...@yahoo.com>

Samwyse

unread,
Nov 15, 2005, 11:02:51 PM11/15/05
to
James Mitchelhill wrote:

> I'm not really talking of abuses, display capabilities or multimedia.
> Complicated things are definitely possible with Inform (Galatea and
> Varicella both do some incredibly clever things, as does Lists & Lists).
> I don't think it makes complicated things easy, though.

The vast majority of "good" programming languages tend to make easy
things easy to do, and complicated things complicated. Languages that
try to make complicated things easy tend to enjoy brief popularity, but
they eventually fall by the wayside.

> I would be entirely comfortable using inform to write a simple game -
> its basic capabilities are really good for this. My problems came when I
> started thinking about conversation systems. In TADS 2, I'd have been
> entirely comfortable writing my own system. I haven't looked at TADS 3
> in this respect, but I suspect it would be even easier. In Inform, I'd
> be lost, because the language doesn't provide me with the tools I need.
> If I really wanted to, I could write the tools, but this would take more
> time than I'd like to spend on something other languages provide.

From what I've seen, TADS 3 seems to have its syntax designed to make
it easy to code conversation trees; at least I haven't been able to come
up with a better scheme. You see, I've always approached complex
problems by inventing a language that best describes what needs to be
done, then writing a translator from that language into something more
mainstream. Emily Short did this for the conversation trees in some of
her programs, I've done it for rooms and furniture in mine. Especially
with one of the many templating systems around today, tools like that
are pretty easy to write.

If you aren't familar with templating systems, you could start here:
http://www.unix.org.ua/orelly/perl/advprog/ch17_01.htm
(BTW, the above link is almost certainly not authorized by O'Reilly. I
strongly urge you to buy the book if you find it useful.)

Most templating systems are used for web-page design, but the majority
of them can be used to generate things other than HTML. With that in
mind, here's a comparison of several popular one from the point of view
of a web developer:
http://perl.apache.org/docs/tutorials/tmpl/comparison/comparison.html

Lastly, let me leave you with one of my favorite quotes, which is used
in the Jeeves documentation mentioned above:

I'd rather write programs to write programs than write programs.
- Programming Pearls, Communications of the ACM, Sept. 1985

Sophie Fruehling

unread,
Nov 16, 2005, 8:56:26 AM11/16/05
to
futab...@yahoo.com writes:

>aph...@altavista.com wrote:
>> Yes.
>> First drop Inform, Tads is better.
>
>First, stick with Inform; many players won't install a new runtime to
>play your game, but may have an Infocom Z-code interpreter lying around
>to play the classics of the genre.

I was going to disagree with you here, so I did extensive research,
i.e. I had a look at how many people voted for what comp games, and
the result is this (if I've got the numbers right, that is):

System Average number of votes
---------------------------------
Z-Code 88.47
Hugo 71
Glulx 69
Tads 2 68.67
Adrift 66.2
Tads 3 62
Windows 61.33
Alan 45

These are highly scientific numbers, of course. ;)

Still, I think most people who have a Z-Code interpreter will also
have a Tads terp.

--
Sophie Frühling

The cube tastes like sugar. You are suddenly surrounded by a herd
of moose. They start talking to you about a moose-load of things.

Richard Bos

unread,
Nov 16, 2005, 12:52:59 PM11/16/05
to
Sophie Fruehling <sfrue...@LOVELY-SPAM.aon.at.invalid> wrote:

> futab...@yahoo.com writes:
>
> >First, stick with Inform; many players won't install a new runtime to
> >play your game, but may have an Infocom Z-code interpreter lying around
> >to play the classics of the genre.
>
> I was going to disagree with you here, so I did extensive research,
> i.e. I had a look at how many people voted for what comp games, and
> the result is this (if I've got the numbers right, that is):
>
> System Average number of votes
> ---------------------------------
> Z-Code 88.47
> Hugo 71
> Glulx 69
> Tads 2 68.67
> Adrift 66.2
> Tads 3 62
> Windows 61.33
> Alan 45
>
> These are highly scientific numbers, of course. ;)
>
> Still, I think most people who have a Z-Code interpreter will also
> have a Tads terp.

From those numbers, yes. Over 77%. But just to add another data point:
for many years I did have a ZCode 'terp on my computer, but not a TADS
'terp. When I play IF on my Revo (i.e., when I'm not at home), I still
don't.
However, popularity of a 'terp should perhaps be a point, but certainly
not an important point, in your decision. Go with what works for you.
For me, that's Inform.

Richard

Reply all
Reply to author
Forward
0 new messages