Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The Mighty Mighty Learning Curve

37 views
Skip to first unread message

Daniel Talsky

unread,
Feb 4, 2002, 4:02:30 AM2/4/02
to
I've always wanted to write IF from way back when I played my first
one. I took a crack at it back in the day (when I was 16 or so), but
didn't know anything about programming. I remember I used AGT and it
wasn't so bad.

Last night I had an inspiration to create one room, populate it with a
couple of objects, and just really flesh it out. One room. Is that
too much to ask?

Now, I have a little bit of programming training and experience and
delved into the Inform manual. After 4 hours of reading the manual
and fussing, I still hadn't really been able to create one damn room.
(About 3 of those hours were spent finding all the components in the
deep reaches of the if-archive, installing them, and learning how to
use the compiler.)

So I thought maybe Inform was just biting off more than I could chew,
and looked at some other languages...like Alan and TADS and Adrift.
Even in adrift, which looked like arguably the easiest way to do it,
it still took me a long time to create my one room with a red chair
and a readble silver plaque on it that says, "Utility".

I have a feeling that adrift games don't really get the same kind of
respect that Inform games do anyway...is this the case?

What would really have helped me would have been an inform template of
a couple of empty rooms one could move between, with a couple of
objects of various kinds in each. Perhaps with some basic foundation
settings set.

I mean, is that manual impenetrable or what?! I accpt the possibility
that I am an utter fool, but I can't imagine everyone who sets out to
write IF is a hard-core coder....isn't there more support out there
for writers who need help with the mechanics? It seems like so much
work just to set up the coding environment and learn about all the
little things like how to set your introductory text, etc. without
having to pore over every inch of that crazy manual...

How did you get started writing IF?

Passenger Pigeon

unread,
Feb 4, 2002, 5:50:16 AM2/4/02
to
In article <7d05e1d8.02020...@posting.google.com>,
daniel...@hotmail.com (Daniel Talsky) wrote:

> I mean, is that manual impenetrable or what?! I accpt the possibility
> that I am an utter fool, but I can't imagine everyone who sets out to
> write IF is a hard-core coder....isn't there more support out there
> for writers who need help with the mechanics? It seems like so much
> work just to set up the coding environment and learn about all the
> little things like how to set your introductory text, etc. without
> having to pore over every inch of that crazy manual...
>
> How did you get started writing IF?

The IF Archive contains the code, thought processes, sweat and
aggravation of a thousand writers. Choose a game you really like,
especially one that was written by a learner themselves, and read
through the code extensively until you figure out what's going on in it.
This is how I learned to code. Hope it helps.

--
William Burke, passeng...@email.com if you say so
"Many people include in their signatures contact information, and perhaps
a joke or quotation." -- Simon Fraser Go Slugs!
http://www.passengerpigeon.net (not com, not org)

Roger Firth

unread,
Feb 4, 2002, 7:22:17 AM2/4/02
to
"Daniel Talsky" <daniel...@hotmail.com> wrote in message
news:7d05e1d8.02020...@posting.google.com...

> I've always wanted to write IF from way back when I played my first
> one. I took a crack at it back in the day (when I was 16 or so), but
> didn't know anything about programming. I remember I used AGT and it
> wasn't so bad.
> [snip]

> What would really have helped me would have been an inform template of
> a couple of empty rooms one could move between, with a couple of
> objects of various kinds in each. Perhaps with some basic foundation
> settings set.

For now, the best suggestion I have to offer is that you visit
the URL below and download "Inform in four minutes". The
title is perhaps a shade over-optimistic, but you'll almost
certainly find it helpful. Expecially the "minimal source file"
on the last page.

Cheers, Roger
--
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
You'll find my Cloak of Darkness, Parsifal, Informary
and more at http://www.firthworks.com/roger/

ally

unread,
Feb 4, 2002, 7:23:03 AM2/4/02
to
On 04 Feb 2002, daniel...@hotmail.com (Daniel Talsky) wrote in
news:7d05e1d8.02020...@posting.google.com:

<...>

> What would really have helped me would have been an inform template of
> a couple of empty rooms one could move between, with a couple of
> objects of various kinds in each. Perhaps with some basic foundation
> settings set.

The "House" tutorial might be a little like what you're looking for:
http://www.iflibrary.org/ifnw/defaultold.asp
It contains several extensively commented incarnations of house??.inf,
each more fleshed out than the previous.

> I mean, is that manual impenetrable or what?! I accpt the possibility
> that I am an utter fool, but I can't imagine everyone who sets out to
> write IF is a hard-core coder....isn't there more support out there
> for writers who need help with the mechanics? It seems like so much
> work just to set up the coding environment and learn about all the
> little things like how to set your introductory text, etc. without
> having to pore over every inch of that crazy manual...

I didn't think it was impenetrable or crazy (no more so than the Inform
language itself *g*), but I soon started consulting tutorials, reference
sheets and FAQs instead. (Not that it did me any good, but that's clearly
been my fault.)

I really recommend you take a look at
http://www.firthworks.com/roger/
--there's so much to be found there.

> How did you get started writing IF?

I think I threw that period into a memory hole. I *believe* I started by
recklessly modifying portions of the TADS 2.5.5 library that I'd never
even used, treating manuals, tutorials, code samples, r.a.i-f snippets,
other people's games and speculative essays as reference material. I did
have some help with syntax issues, though. Lucky me. I've never been much
of a programmer; my Basic and Pascal "IF" was a joke (but I enjoyed doing
it, and I didn't have to analyze other people's near-incomprehensible
genius code)

~ally

Gary Shannon

unread,
Feb 4, 2002, 11:24:50 AM2/4/02
to

"Daniel Talsky" <daniel...@hotmail.com> wrote in message
news:7d05e1d8.02020...@posting.google.com...
> I've always wanted to write IF from way back when I played my first
> one. I took a crack at it back in the day (when I was 16 or so), but
> didn't know anything about programming. I remember I used AGT and it
> wasn't so bad.
>
> Last night I had an inspiration to create one room, populate it with a
> couple of objects, and just really flesh it out. One room. Is that
> too much to ask?

<snip>

I, too, have just started writing IF. I spent a few days digging through
the Inform manual but felt pretty overwhelmed by it. Then I tried ALAN and
found it to be very user-friendly. I spent about a week writing ALAN code
for little examples until I got really comfortable with it. Then I took a
look at TADS. After what I learned using ALAN, TADS made complete sense to
me, and I could appreciate the power of the language. Now, barely a week
later, I've managed to grind out about 2500 lines of TADS code that actually
all works.

My background is C/C++, but I found that ALAN, being nothing like C was a
good was to introduce myself to the basic concepts of writing IF, without
being confused by my C++ preconceptions. I would compare ALAN to BASIC and
TADS to C++. ALAN is a super language for getting familiar with the basics
of IF coding. I'd recommened you work with it for a while. I may even do
everything you want to do with your IF.

--gary


Matthew F Funke

unread,
Feb 4, 2002, 2:14:36 PM2/4/02
to
>How did you get started writing IF?

IF in general or using TADS in particular?
My first programming language was BASIC (a function of getting my
first computer -- a Radio Shack special known as the "Color Computer" --
back in the early 80s). I wrote some simple CYOAs on that thing (and on
the Apple IIes at school), and as my knowledge of the language solidified,
I wrote simple parsers that would pay attention to the first three letters
of each word in a two-word command.
Later, as I grew up, I became entranced with the power of C++. After
working in it for several years, I discovered TADS -- and there is no
small similarity between them, so I had a good headstart. :) Of course,
as a kid, I picked up as many languages (in a cursory way) as I could, so
perhaps my mindset was more adapted to picking up a specialized language.
I dunno. I encourage you to stick with it, though; the tougher languages
offer the greatest control and flexibility, and are seriously worth the
effort put in to understand them.
--
-- With Best Regards,
Matthew Funke (m...@hopper.unh.edu)

S. Kesserich

unread,
Feb 4, 2002, 5:39:13 PM2/4/02
to

"Daniel Talsky" <daniel...@hotmail.com> wrote in message
news:7d05e1d8.02020...@posting.google.com...

> Last night I had an inspiration to create one room, populate it with a


> couple of objects, and just really flesh it out. One room. Is that
> too much to ask?

Not in the least, but Inform and most of the other systems are powerful
tools which require a bit of work to get started.

> What would really have helped me would have been an inform template of
> a couple of empty rooms one could move between, with a couple of
> objects of various kinds in each. Perhaps with some basic foundation
> settings set.

A template of this kind would have given you a fast initial success, true,
but in order to make progress I guess you would have needed additional
explanations about Why This Is Working, which probably would have got you to
back to step one: the manual or some other source of documentation.

As some other posts have pointed out, there are quite a few files in the
archive with useful source code, and you have Roger Firth's excellent
documentation pages. Also, I'd mention Gareth Rees' Alice Tutorial:
http://www.gnelson.demon.co.uk/inform/alice/index.html

I know it helped me to get my bearings, but I think it requires some basic
Inform familiarity.

> I mean, is that manual impenetrable or what?! I accpt the possibility
> that I am an utter fool, but I can't imagine everyone who sets out to
> write IF is a hard-core coder....isn't there more support out there
> for writers who need help with the mechanics? It seems like so much
> work just to set up the coding environment and learn about all the
> little things like how to set your introductory text, etc. without
> having to pore over every inch of that crazy manual...
>
> How did you get started writing IF?

Enthusiasm kept me banging my ole head against it. That, and a lot of
internet resources made by kind souls who understood that the path was a
rocky one.

Cheers,

Sonja.

Ethan Maron

unread,
Feb 4, 2002, 6:15:00 PM2/4/02
to
I'd try TADs again, specifically HTML TADS. A lot of serious game writers
use it, and it does get respect - probably as much as INFORM. It also allows
you to implement graphics, sound, and mouse tricks easily and quickly. The
price you pay is portability - HTML TADS won't run on anything save a Mac or
windows PC, and plain tads is not going to run on a palmpilot.

My first IF game was in TADS, and I had my first room running in a
half-hour. Best advice I can give you: read the examples.
-Ethan Maron


"Daniel Talsky" <daniel...@hotmail.com> wrote in message
news:7d05e1d8.02020...@posting.google.com...

Kevin Forchione

unread,
Feb 4, 2002, 6:46:41 PM2/4/02
to
"Ethan Maron" <mar...@mindspring.com> wrote in message
news:a3n4mm$eg2$1...@slb7.atl.mindspring.net...

> The price you pay is portability - HTML TADS won't run on anything save a
Mac or
> windows PC, and plain tads is not going to run on a palmpilot.

The newly announced Jetty Interpreter should up the portability issue
tremendously. I thought there was a Linux port of TADS...

--Kevin


Benjamin Haines

unread,
Feb 4, 2002, 8:43:05 PM2/4/02
to
On Mon, 04 Feb 2002 23:46:41 GMT, Kevin Forchione <Ke...@lysseus.com> scribbled:

Is there? There's a "regular" TADS interpreter, but I don't think there's
one for HTML TADS. I was curious about that when I was looking for
interpreters on the archive... Is there something about Linux that makes it
impossible/unreasonably difficult?

-ben

Jim Fisher

unread,
Feb 4, 2002, 9:19:45 PM2/4/02
to
> What would really have helped me would have been an inform template of
> a couple of empty rooms one could move between, with a couple of
> objects of various kinds in each. Perhaps with some basic foundation
> settings set.

There's a beginners article at OnyxRing, complete with a game template.
Sounds exactly like what you've been describing:

http://www.onyxring.com/informguide.asp?article=6


--
Jim (AT) OnyxRing (DOT) com
Visit "An Inform Developer's Guide" or browse the
"ORLibrary" extensions to the standard library at
www.OnyxRing.com
----------------------
Some days you eat the code; some days the code eats you

Jim Aikin

unread,
Feb 4, 2002, 10:51:40 PM2/4/02
to
Daniel Talsky wrote:


> I mean, is that manual impenetrable or what?!


Actually, the main reason I chose Inform was because Graham's manual was
not only straightforward but literate.

> I accpt the possibility
> that I am an utter fool, but I can't imagine everyone who sets out to
> write IF is a hard-core coder....isn't there more support out there
> for writers who need help with the mechanics?


Just the fact that you're looking for answers (and humble enough to do
so in public!) proves you're not a fool. There's a growing amount of
support, yes.

I'm certainly not a hard-core coder, but I've found that understanding
the nuts and bolts is the only way I can really make a game do what I
want it to do. Every time my imagination comes up with a puzzle, my
codehead side takes a close look at what's involved and goes, "Oh,
shit." In developing the first puzzle for a new IF story I'm poking at,
I quickly realized that the "simple" object I needed to create could get
itself into no less than 18 different states. (Assuming I haven't missed
a few....) The code is now full of switch statements, if tests, and OO
properties. Urggh. But when it's done, it will be SOOOO COOOOOOLLL ...
and the reader/player will never need to worry about all that stuff.

> It seems like so much
> work just to set up the coding environment and learn about all the
> little things like how to set your introductory text, etc. without
> having to pore over every inch of that crazy manual...


I agree, also, that starting simple is highly desirable. Code up one
room, put a couple of objects in it, and then make one of the objects
slippery so it's hard to pick up. But what's your hurry? If it takes you
a week to get your one room coded, that's actually _good_, in my
opinion, because during that week you'll have learned a lot!


> How did you get started writing IF?


I was minding my own business one fine summer evening when the window
flew open and a troll with a sword leaped in.

>x sword

The sword is dripping fresh gore.

What happened after that is a story for another time.

--Jim Aikin

Kevin Forchione

unread,
Feb 4, 2002, 11:34:35 PM2/4/02
to
"Jim Aikin" <kill_spammers@kill_spammers.org> wrote in message
news:3C5F56D1.7@kill_spammers.org...

> I agree, also, that starting simple is highly desirable. Code up one
> room, put a couple of objects in it, and then make one of the objects
> slippery so it's hard to pick up. But what's your hurry? If it takes you
> a week to get your one room coded, that's actually _good_, in my
> opinion, because during that week you'll have learned a lot!

True. Coding the first room object is a monumental task, because you're
learning to coding ratio is 100%. At no other time will the ratio be so high
as it will with the first few objects or that first game.

A set of templates would get you started quicker, but there's no escaping
the necessity to learn the vocabulary ... to learn the elementary patterns,
the thousands and thousands of patterns, that make up mastery of any
language, any art, any craft.

--Kevin


Plugh!

unread,
Feb 5, 2002, 3:24:10 AM2/5/02
to
daniel...@hotmail.com (Daniel Talsky) wrote in message news:<7d05e1d8.02020...@posting.google.com>...

> I've always wanted to write IF from way back when I played my first
> one. I took a crack at it back in the day (when I was 16 or so), but
> didn't know anything about programming. I remember I used AGT and it
> wasn't so bad.
>
> Last night I had an inspiration to create one room, populate it with a
> couple of objects, and just really flesh it out. One room. Is that
> too much to ask?
I'm not sure that it's totally on-topic, but I've been busy coding a
GUI based front end to allow you to 'draw' your map, add rooms, NCPs,
items, etc. The aim is to have it handle all of the routine
housekeeping chores & free you to do the actual planning, while still
allowing you 100% control over generated code.

You can see some snapshots at http://plugh.cjb.net - I'd really
appreciate some feedback. Although I could keep adding fucntionality,
I've decided to call it code complete for the first version and am now
giving it an alpha test of my own & trying to implement some test i-f
like Cloak of Darkness & Ditch Day Drifter. Beta test should start
'real soon now'.

Now, back, to your regular programming...

Sam Dennis

unread,
Feb 5, 2002, 7:55:32 AM2/5/02
to

Maybe it's just that the HTML TADS interpreter works nearly perfectly under
WINE, so there hasn't been enough motivation.

Of course, it would help if the source to HTML TADS was available.

--
r@,,+2 'a,kd"

nigelthezebra

unread,
Feb 5, 2002, 8:27:13 AM2/5/02
to
I'm new to Inform myself, and while I don't really have any sort of
handle on routines or NPCs or anything like that, I've been able to
create a few simple rooms and am starting from there. I found the
game Inform School to be quite helpful...it features a stripped-down
version of Inform built into the game; it compiles your code as soon
as you're done with each object so you know right away if there's an
error. I found it very helpful to just blunder my way through and
copy down the code of the sample objects it had there; after you do
similar tasks for a while, you start to get the hang of things.

Andy Sithers

unread,
Feb 5, 2002, 8:31:36 AM2/5/02
to
> I mean, is that manual impenetrable or what?! I accpt the possibility
> that I am an utter fool, but I can't imagine everyone who sets out to
> write IF is a hard-core coder....isn't there more support out there
> for writers who need help with the mechanics? It seems like so much
> work just to set up the coding environment and learn about all the
> little things like how to set your introductory text, etc. without
> having to pore over every inch of that crazy manual...

<#inc asbestos underpants>

I agree that the manual isn't, err, a typical manual. I think this is
by design:
<quote>
In trying to be both a tutorial and reference work, this book aims
itself in style halfway between the two extremes of manual, Tedium and
Gnawfinger's Elements of Batch Processing in COBOL-66, third edition,
and Mr Blobby's Blobby Book of Computer Fun. (This makes some sections
both leaden and patronising.)
</quote>

However, I've often thought that a pure language reference - in the
style of an O'Reilly book for example - would be valuable.

If anyone want's to have a crack at this, check out the handy-dandy
cover-o-matic:

http://www.ilbbs.com/oracovers/

Andy

Stephen Granade

unread,
Feb 5, 2002, 8:56:01 AM2/5/02
to
s...@malfunction.screaming.net (Sam Dennis) writes:

> Benjamin Haines wrote:
> > On Mon, 04 Feb 2002 23:46:41 GMT, Kevin Forchione <Ke...@lysseus.com> scribbled:
> >> "Ethan Maron" <mar...@mindspring.com> wrote in message
> >> news:a3n4mm$eg2$1...@slb7.atl.mindspring.net...
> >

> > There's a "regular" TADS interpreter, but I don't think there's
> > one for HTML TADS. I was curious about that when I was looking for
> > interpreters on the archive... Is there something about Linux
> > that makes it impossible/unreasonably difficult?
>
> Maybe it's just that the HTML TADS interpreter works nearly perfectly under
> WINE, so there hasn't been enough motivation.
>
> Of course, it would help if the source to HTML TADS was available.

Lucky for us it is, and has been since the early versions. At the IF
Archive in the programming/tads2/source directory
(http://ifarchive.org/indexes/if-archiveXprogrammingXtads2Xsource.html)
is htads_src_255.zip, which is the source code for HTML TADS 2.5.5.

Stephen

--
Stephen Granade
sgra...@phy.duke.edu
Duke University, Physics Dept

Benjamin Haines

unread,
Feb 5, 2002, 12:28:32 PM2/5/02
to
On Tue, 5 Feb 2002 12:55:32 +0000 (UTC), Sam Dennis <s...@malfunction.screaming.net> scribbled:

>> Is there? There's a "regular" TADS interpreter, but I don't think there's
>> one for HTML TADS. I was curious about that when I was looking for
>> interpreters on the archive... Is there something about Linux that makes it
>> impossible/unreasonably difficult?
>
> Maybe it's just that the HTML TADS interpreter works nearly perfectly under
> WINE, so there hasn't been enough motivation.
>

Hey, didn't think of that! I'll give it a try...

-ben

Fredrik Ramsberg

unread,
Feb 5, 2002, 3:49:45 PM2/5/02
to
"Kevin Forchione" <Ke...@lysseus.com> wrote in message news:<vhJ78.22364$S06.74578@rwcrnsc53>...

> A set of templates would get you started quicker, but there's no escaping
> the necessity to learn the vocabulary ... to learn the elementary patterns,
> the thousands and thousands of patterns, that make up mastery of any
> language, any art, any craft.

A template game is part of the material needed to learn Inform, if you ask
me. You need the manual to learn how to code as well, but having a small
example to start with will at least (1) give you a look at what a working
Inform program looks like and what it must contain and (2) give you a test
bed that will compile into an explorable game. You can then create your
first objects by copying existing ones and making small, incremental
changes, being able to test that it compiles and have a look at it
in-game at every step.

/Fredrik

0 new messages