Bridging The Gap (was "Inform For Dummies")

16 views
Skip to first unread message

burn...@cs.lafayette.edu

unread,
Dec 14, 1997, 3:00:00 AM12/14/97
to

For the last few days I've been following the "Inform For Dummies" thread
and it has brought to mind something I have been saying to people all
along about interactive fiction.

The reason I write interactive fiction is because it brings together my
two loves: Creative Writing and Computer Science. In fact interactive
fiction is perhaps the only creative artistic medium I can ever hope to
excel. You see, I can never be completely a writer because my story
ideas come to me as groupings of discrete scenes. Each of these scenes I
write very well but I can never provide the links between them. This is
why interactive fiction is ideal -- because I don't HAVE to provide the
links. That is what the player is for.

On the other hand, I can never be a pure programmer either because I
always feel that practical projects lack a certain creative flare that I
long for. I am a story teller trapped in the body of a computer
scientist.

The point is that I have bridged "the gap" that was mentioned in a
previous post. I am also not afraid to come out and say that this gap
MUST be bridge to write quality interactive fiction. People have been
hinting at this in the previous posts but I'm going to come out and say
it:

You don't write a novel without knowing a language. You don't paint a
portrait without knowing how to use a brush and canvas. You don't carve
a sculpture without knowing how to use a hammer and chisel. You don't
write a piece of music without knowing composition. You don't write a
poem without knowing rhyme and meter.

AND....

You don't write interactive fiction without knowing how to program!

There I've said it. My e-mail box now open to death threats. I'm sorry
but I just got tired of hearing people complain that they want to write
interactive fiction but they don't want to learn to program.

I'm going to make another bold statement. TADS and Inform DO solve the
problem. They are fully functional programming languages geared towords
writing interactive fiction and they do exactly what any program language
designed for a single purpose should do. They remove the tedious work.

That doesn't mean that you no longer have to understand the tedious work.
It just means that you don't have to do it yourself. You see, I also
think it's wrong for people to use tools without knowing how the tool
works at least in a conceptual manner. I've worked to understand how the
Inform parser works to the best of my ability. Granted, I'm not an
expert. I can't answer detailed nit picking questions. But when someone
looks at my code and asks, "How does your program know that the TAKE
action will pick up this object?" I can give them a lot better answer
than, "Oh the library takes care of that."

Oh, and one last point. There's been this idea floating around of having
a library with a stock pile of preprogrammed objects like desks with
drawers and things like that. Libraries are indeed wonderful things but
this one bothers me. Again, the idea of a library is to aleviate tedium.
Libraries like Center.h and Menus.h are wonderful because they contain
code that I would write over and over again anyway. Again, I understand
how they work. (I hate using libraries I don't understand.) To have a
library filled with stock pile objects would be handing weaker
programmers a crutch and most likely they will never get beyond that
crutch. I think such a library would only cause harm to the interactive
fiction community in the long wrong.

In summary, if you want to write interactive fiction, learn to program.
I'll be the first person willing to help you. Believe me, I love helping
people learn Inform because I respect people who are willing to put in
the time and effort.

Alright, I'm done with my ranting and ravings. Fire at will.

~Jesse Burneko~
http://www.cs.lafayette.edu/~burnekoj

-------------------==== Posted via Deja News ====-----------------------
http://www.dejanews.com/ Search, Read, Post to Usenet

Lovecraft

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

>
>You don't write interactive fiction without knowing how to program!

Right. The problem is that most other programming languages have good beginners
books to learn from wheras Inform has a rather complicated tome. It's like the
original computers in the early '80s. There was really a high learning curve
and that is what stunted the growth of the industry. I know 'cause I was there.
When Microsoft copied the GUI idea from Apple and made Windows, the PC market
slowly opened up again.

Go into a big bookstor chain today and look at the computer section. There are
always a lot of people looking books on C+ and C++ and JAVA etc. People want to
program. But we need a lesson plan.

The thread that has been going on started as "Inform fo Beginners". That should
be self explanatory. Nobody said write program that does it for me, just ease
me into learning, like school does. You start with adding and subtracting and
eventually your doing algebra.

Nick

Chris Marriott

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

In article <19971215054...@ladder02.news.aol.com>, Lovecraft
<love...@aol.com> writes

>Right. The problem is that most other programming languages have good beginners
>books to learn from wheras Inform has a rather complicated tome. It's like the
>original computers in the early '80s. There was really a high learning curve
>and that is what stunted the growth of the industry.

Purely as a matter of semantics, I've always found the expression
"steep/high learning curve" rather curious.

Assuming that, as is conventional, one plots time on the X-axis and
(presumably) "amount learned" on the Y-axis, a "steep learning curve"
implies that you learn a lot in a short time - ie it's easy to learn!

Chris

----------------------------------------------------------------
Chris Marriott, Microsoft Certified Solution Developer.
SkyMap Software, U.K. e-mail: ch...@skymap.com
Visit our web site at http://www.skymap.com

Magnus Olsson

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

In article <0XkUpkAF...@chrism.demon.co.uk>,

Chris Marriott <ch...@chrism.demon.co.uk> wrote:
>In article <19971215054...@ladder02.news.aol.com>, Lovecraft
><love...@aol.com> writes
>>Right. The problem is that most other programming languages have good beginners
>>books to learn from wheras Inform has a rather complicated tome. It's like the
>>original computers in the early '80s. There was really a high learning curve
>>and that is what stunted the growth of the industry.
>
>Purely as a matter of semantics, I've always found the expression
>"steep/high learning curve" rather curious.
>
>Assuming that, as is conventional, one plots time on the X-axis and
>(presumably) "amount learned" on the Y-axis, a "steep learning curve"
>implies that you learn a lot in a short time - ie it's easy to learn!

The reasoning behind the expression must be that you *have* to learn
a lot in a short time, i.e. that it's hard work!

Or think of it like climbing: it's harder to climb a steep slope.

--
Magnus Olsson (m...@df.lth.se, zeb...@pobox.com)
------ http://www.pobox.com/~zebulon ------
Not officially connected to LU or LTH.

John Francis

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

In article <0XkUpkAF...@chrism.demon.co.uk>,
Chris Marriott <ch...@chrism.demon.co.uk> wrote:
>In article <19971215054...@ladder02.news.aol.com>, Lovecraft
><love...@aol.com> writes
>>Right. The problem is that most other programming languages have good beginners
>>books to learn from wheras Inform has a rather complicated tome. It's like the
>>original computers in the early '80s. There was really a high learning curve
>>and that is what stunted the growth of the industry.
>
>Purely as a matter of semantics, I've always found the expression
>"steep/high learning curve" rather curious.
>
>Assuming that, as is conventional, one plots time on the X-axis and
>(presumably) "amount learned" on the Y-axis, a "steep learning curve"
>implies that you learn a lot in a short time - ie it's easy to learn!

But the expression assumes that the X-axis is the amount learned,
while the Y-axis represent the effort invested. a steep learning
curve thus means you have to invest a lot of additional effort in
order to make a small advance in overall knowledge.
--
John Francis jfra...@sgi.com Silicon Graphics, Inc.
(650)933-8295 2011 N. Shoreline Blvd. MS 43U-991
(650)933-4692 (Fax) Mountain View, CA 94043-1389
Unsolicited electronic mail will be subject to a $100 handling fee.

Chris Marriott

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

In article <6742fc$4c...@fido.asd.sgi.com>, John Francis <jfrancis@dunge
on.engr.sgi.com> writes

>But the expression assumes that the X-axis is the amount learned,
>while the Y-axis represent the effort invested. a steep learning
>curve thus means you have to invest a lot of additional effort in
>order to make a small advance in overall knowledge.

You *never* put the dependent variable - the "result" - on the X-axis of
a graph.

The independent variable - the effort in this case - always goes on the
X-axis; the *result* of that effort - the knowledge gained - goes on the
Y-axis. A steep learning curve therefore implies a great deal of
knowledge gained for very little effort, hence the reason for my
original message!

Rhodri James

unread,
Dec 15, 1997, 3:00:00 AM12/15/97
to

In article <19971215054...@ladder02.news.aol.com>,

Lovecraft <love...@aol.com> wrote:
> Right. The problem is that most other programming languages have
> good beginners books to learn from wheras Inform has a rather
> complicated tome. It's like the original computers in the early
> '80s. There was really a high learning curve and that is what
> stunted the growth of the industry. I know 'cause I was there.
> When Microsoft copied the GUI idea from Apple and made Windows,
> the PC market slowly opened up again.

Ahem. Speaking as someone who was also there in the early 80s, I must beg
to disagree about most of that paragraph!

The original original personal computers, things like the PET and
Apple ][ in the late 70s, and later the BBC micro and all of that lot,
were very simple souls and as such were "not well served by a big book" to
quote K&R. They were quite easy to use, and the manuals generally took
you through life without too much pain. The Apple Mac was then one of the
first home devices designed to separate programmer from user; you couldn't
do anything on it without going out and buying a compiler, and even then
you suddenly had to know about all these window thingies before you could
do much. The IBM PC, when it appeared, was already half a step towards
this without the benefits of pretty graphics: the combination of DOS and
BIOS would get in your way more often than not if you tried anything
remotely complicated. Windows merely completed that step of alienation.

Yes, there are huge number of "Dummies" books out, on everything from the
very latest version of C++ with MFC widgetry to Word. There are two basic
reasons why these sell. First, the manuals supplied with the software are
poorly written. Second, the manuals aren't supplied with the software any
more but cost more than the "Dummies" books. Third, people are gullible
(Three! Three reasons why these books sell... :-) In my not even
slightly humble opinion, the books sell because the manuals are lousy, not
because there is a deep need for books written from a non-technical
viewpoint. When the manual is well written, it shouldn't matter whether
it was written from a technical or non-technical viewpoint, because it
should explain itself!

> Nobody said write program that does it for me, just ease me into
> learning, like school does.

Actually, this was *exactly* what someone said.

--
Rhodri James *-* Wildebeeste herder to the masses
If you don't know who I work for, you can't misattribute my words to them

... I'm sure I had a life around here somewhere

Lovecraft

unread,
Dec 16, 1997, 3:00:00 AM12/16/97
to

>> Nobody said write program that does it for me, just ease me into
>> learning, like school does.
>
>Actually, this was *exactly* what someone said.

Not in the original post. Which is what I was refering to. And why, pray tell,
do you insist on finding "fault" with a post that was trying to find the
positive?

As for the 80's I had an Atari 800 and I had a very hard time understanding the
disk drive, formating, etc. as it was my first introduction to computers. It
took me a week just to be able to play a game. I didn;t know what I was doing
and the manuals wern't helpful. Now I help my friends with their PC's.

I guess this makes you smarter. I'll go hide my head in the sand now. Fell
better?

Nick

Jeff Hatch

unread,
Dec 16, 1997, 3:00:00 AM12/16/97
to

burn...@cs.lafayette.edu wrote:
> You don't write interactive fiction without knowing how to program!

[snip]


> I'm going to make another bold statement. TADS and Inform DO solve the
> problem. They are fully functional programming languages geared towords
> writing interactive fiction and they do exactly what any program language
> designed for a single purpose should do. They remove the tedious work.

Not all of it. No system can remove all the tedium from programming, of
course. But it's silly to think they can't be improved upon at least a
little bit. For instance, TADS would be a slightly better language if
it had some version of Inform's "or" operator, since that would reduce
the amount of typing needed to write many "if" expressions.

The oft-mentioned and ill-defined "Visual Inform" could (theoretically)
alleviate more tedium.


[snip]


> Oh, and one last point. There's been this idea floating around of having
> a library with a stock pile of preprogrammed objects like desks with
> drawers and things like that. Libraries are indeed wonderful things but
> this one bothers me. Again, the idea of a library is to aleviate tedium.
> Libraries like Center.h and Menus.h are wonderful because they contain
> code that I would write over and over again anyway. Again, I understand
> how they work. (I hate using libraries I don't understand.) To have a
> library filled with stock pile objects would be handing weaker
> programmers a crutch and most likely they will never get beyond that
> crutch. I think such a library would only cause harm to the interactive
> fiction community in the long wrong.

[snip]


> Alright, I'm done with my ranting and ravings. Fire at will.


Perhaps I'm misinterpreting your statement, but it seems to me that
you're saying, in essence:
Weak programmers who write IF may be too stupid to recognize their own
need to learn to program. If we supply pre-built objects, they will use
these objects, therefore they won't learn to program, and won't be able
to write quality IF.

My response: People who are that stupid will never write quality IF
anyway. Let's cater to intelligent people who know their own
limitations. If they are weak programmers, they'll be likely to rely on
pre-built objects in making their games, and the better the pre-built
objects they have access to are, the better their games will be! If
they do need to learn to program to create a decent game, they'll be
smart enough to recognize that they should hone their programming skills
on simple problems, like desks with drawers.

So I don't see any reason to deprive the weak programmers of their
crutches. Experienced programmers would waste less time if desks with
drawers were pre-coded, too. If somebody else has made a perfectly good
desk with a drawer, why waste your time coding it? ESPECIALLY if you're
a good programmer; then you're not even improving your programming
skills with this effort!


You don't write interactive fiction without knowing how to program. I
agree. But "programming" is not a skill you either have or don't.
There are degrees of programming ability. All IFs I've ever played are
trivial programming problems, when compared to the difficulty of writing
a DOS windowing interface or coding an IF authoring system. Why not
make them even more trivial?

-Rúmil

Drone

unread,
Dec 16, 1997, 3:00:00 AM12/16/97
to

Chris Marriott wrote:
>
> In article <6742fc$4c...@fido.asd.sgi.com>, John Francis <jfrancis@dunge
> on.engr.sgi.com> writes
> >But the expression assumes that the X-axis is the amount learned,
> >while the Y-axis represent the effort invested. a steep learning
> >curve thus means you have to invest a lot of additional effort in
> >order to make a small advance in overall knowledge.
>
> You *never* put the dependent variable - the "result" - on the X-axis of
> a graph.
>
> The independent variable - the effort in this case - always goes on the
> X-axis; the *result* of that effort - the knowledge gained - goes on the
> Y-axis. A steep learning curve therefore implies a great deal of
> knowledge gained for very little effort, hence the reason for my
> original message!

The relationship of "independent variable" to "result" is purely a matter of
grammar. For example, I could plot the amount of knowledge desired on X, and the
effort required to get there on Y. So the independent variable is how much to
learn, and the dependent variable is how hard it turns out to be to get there. In
fact, just about all X-Y plots are susceptible to this switcheroo, depending on how
you see the problem. In order to see your irony about the learning curve, you have
to assume a certain way of framing that problem. You must admit, there is another
way.

Drone.

Jeff Johnson

unread,
Dec 16, 1997, 3:00:00 AM12/16/97
to

Chris Marriott <ch...@chrism.demon.co.uk> wrote:
>Purely as a matter of semantics, I've always found the expression
>"steep/high learning curve" rather curious.
>
>Assuming that, as is conventional, one plots time on the X-axis and
>(presumably) "amount learned" on the Y-axis, a "steep learning curve"
>implies that you learn a lot in a short time - ie it's easy to learn!

How about this: plot Productivity on the x-axis and Amount Learned on the
Y-axis. Now you'll see that you have to learn a lot to even be slightly
productive!

Den of Iniquity

unread,
Dec 16, 1997, 3:00:00 AM12/16/97
to

On Mon, 15 Dec 1997, Chris Marriott wrote:
>Purely as a matter of semantics, I've always found the expression
>"steep/high learning curve" rather curious.
>
>Assuming that, as is conventional, one plots time on the X-axis and
>(presumably) "amount learned" on the Y-axis, a "steep learning curve"
>implies that you learn a lot in a short time - ie it's easy to learn!

Nah - space given and explanation devoted to on X-axis, material covered
on Y-axis.


Rhodri James

unread,
Dec 17, 1997, 3:00:00 AM12/17/97
to

In article <19971216054...@ladder01.news.aol.com>,

Lovecraft <love...@aol.com> wrote:
> And why, pray tell, do you insist on finding "fault" with a post
> that was trying to find the positive?

Because I believed it to be incorrect.

> As for the 80's I had an Atari 800 and I had a very hard time
> understanding the disk drive, formating, etc. as it was my first
> introduction to computers. It took me a week just to be able to
> play a game. I didn;t know what I was doing and the manuals wern't
> helpful. Now I help my friends with their PC's.

Evidently I didn't make myself very clear. By the early 80s, the rot (in
terms of computer complexity and and poor manuals) had already set in, so
your problems with the Atari are completely natural. If disc drives are
involved, and aren't the size of washing machines, then understanding your
computer had become rather involved by that stage.

Things have got worse. You, on the other hand, have got better. You
climbed the learning curve on the Atari, then the string of curves
associated with the PC as it evolved. The level of knowledge now needed
to "know what you are doing" with a PC is very high, but since you've been
acquiring it over the last decade and a half you don't seem to realise
quite how good you've got. As someone who first had to do anything out of
the ordinary with a PC about a year ago, I have found that there's a hell
of a lot to absorb; segmented addressing (why?), having to be careful
which version of the compiler and which memory model I use for which
purpose (on the same machine), and so on and so forth.

> I guess this makes you smarter. I'll go hide my head in the sand
> now. Fell better?

No, actually. (You decide which statement that is a response to. I'm too
tired to bother at the moment).

--
Rhodri James *-* Wildebeeste herder to the masses
If you don't know who I work for, you can't misattribute my words to them

... but that's a herring of a different colour

Reply all
Reply to author
Forward
0 new messages