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

Do you need to know how to any programming...

2 views
Skip to first unread message

timsim

unread,
Nov 20, 1999, 3:00:00 AM11/20/99
to
<lorax...@my-deja.com> wrote in message
news:817oqe$es6$1...@nnrp1.deja.com...
> Do you need to know any programming languages to use TADS? The truth is
> I don't really know any programming languages and was wondering what
> program I could use to write a text adventure which I could enter in
> next years Competition.

Hi,

You should know a little of either C or Pascal syntax but even if you
didn't, you could still learn TADS enough to write a game by working on some
tutorials and reading the TADS author's manual. But having previous
experience in some language is a big help. The IF archive probably has some
example code you can compile, run and check out. go to
http://ftp.gmd.de/if-archive.

Tim

lorax...@my-deja.com

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
Do you need to know any programming languages to use TADS? The truth is
I don't really know any programming languages and was wondering what
program I could use to write a text adventure which I could enter in
next years Competition.


Sent via Deja.com http://www.deja.com/
Before you buy.

David Glasser

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
<lorax...@my-deja.com> wrote:

> Do you need to know any programming languages to use TADS? The truth is
> I don't really know any programming languages and was wondering what
> program I could use to write a text adventure which I could enter in
> next years Competition.

Yes, you do need to know a programming language: TADS itself. But
that's pretty easy to learn.

By the way, entering a game in the competition isn't the only thing to
do with it; you can just release it at any time and many should play it.

If you want more information on writing IF, I recommend the
rec.arts.int-fiction Frequently Asked Questions list which I maintain at
http://www.davidglasser.net/raiffaq/.

--
David Glasser | gla...@iname.com | http://www.davidglasser.net/
rec.arts.int-fiction FAQ: http://www.davidglasser.net/raiffaq/
"Maybe Glulxification will cause people to start using Scheme for IF. Or
maybe not. Anyhow, I just like saying 'Glulxification'." -andyf on ifMUD

Preben Randhol

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
lorax...@my-deja.com writes:

| Do you need to know any programming languages to use TADS? The truth is
| I don't really know any programming languages and was wondering what
| program I could use to write a text adventure which I could enter in
| next years Competition.

Why don't you use Inform instead ? It is free and has nice
documentation and used by a lot of text adventure writers.

See homepage at this URL:

http://www.gnelson.demon.co.uk/inform.html

--
Preben Randhol "Marriage is when you get to keep
[ran...@pvv.org] your girl and don't have to give
[http://www.pvv.org/~randhol/] her back to her parents." (Eric, 6)

Joseph Yarrow

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to

lorax...@my-deja.com wrote in message <817oqe$es6$1...@nnrp1.deja.com>...

>Do you need to know any programming languages to use TADS?

Not really. I mean, it helps to have a basic knowledge of how everything is
structured and all, but as long as you read the manual on the TADS website,
you shouldn't have too many problems. Hey, when I started TADS, all I knew
was BASIC! :-)

Eric Mayer

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
On Sun, 21 Nov 1999 03:27:13 GMT, lorax...@my-deja.com wrote:

>Do you need to know any programming languages to use TADS? The truth is
>I don't really know any programming languages and was wondering what
>program I could use to write a text adventure which I could enter in
>next years Competition.
>

You might also consider ALAN. You don't need to know any programming
language whatsoever, or even have any experience with any kind of
programming language to learn ALAN sufficiently within a few months to
enter a decent game in the Comp. At least that was my experience.
Some considered mine a decent game :)

My experience was also, if you really want to learn a language and put
a game in the Comp and have all the bugs out -- well, you'd better
start last week...

--
Eric Mayer
Web Site: <http://home.epix.net/~maywrite>
=====================================================
co-author of ONE FOR SORROW
A "John the Eunuch" mystery from Poisoned Pen Press
<http://www.poisonedpenpress.com/html/sorrow.html>
=====================================================
"The map is not the territory." -- Alfred Korzybski

Dan Schmidt

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
Preben Randhol <ran...@pvv.org> writes:

| lorax...@my-deja.com writes:
|
| | Do you need to know any programming languages to use TADS? The truth
| | is I don't really know any programming languages and was wondering
| | what program I could use to write a text adventure which I could
| | enter in next years Competition.
|

| Why don't you use Inform instead ? It is free and has nice
| documentation and used by a lot of text adventure writers.

TADS is also free and has nice documentation and is used by a lot of
text adventure writers.

To answer the original question, both TADS and Inform have been used
to create games by people with no previous programming experience,
though I'm sure it's a lot easier if you do have some experience.

I've read through both manuals, and I think they're pitched at around
the same level.

--
Dan Schmidt | http://www.dfan.org

Roger Firth

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
lorax...@my-deja.com wrote:

> Do you need to know any programming languages to use TADS? The truth is
> I don't really know any programming languages and was wondering what
> program I could use to write a text adventure which I could enter in
> next years Competition.

You might glance at the Annotated Adventures at
http://homepages.tesco.net/~roger.firth/cloak/index.html, where you'll
find examples of seven authoring systems all implementing the same
tiny game. With any luck, one of those systems will 'feel right' for you.

Cheers, Roger

========================================================================
Roger Firth

Andrew Plotkin

unread,
Nov 21, 1999, 3:00:00 AM11/21/99
to
Preben Randhol <ran...@pvv.org> wrote:

> lorax...@my-deja.com writes:
>
> | Do you need to know any programming languages to use TADS? The truth is
> | I don't really know any programming languages and was wondering what
> | program I could use to write a text adventure which I could enter in
> | next years Competition.
>
> Why don't you use Inform instead ? It is free and has nice
> documentation and used by a lot of text adventure writers.

This is a peculiar response. I mean, I like Inform more than TADS too, but
TADS is *also* free, has nice documentation, and is used by a lot of text
adventure writers.

--Z

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the
borogoves..."

Preben Randhol

unread,
Nov 22, 1999, 3:00:00 AM11/22/99
to
Andrew Plotkin <erky...@netcom.com> writes:

| Preben Randhol <ran...@pvv.org> wrote:
|
| > Why don't you use Inform instead ? It is free and has nice
| > documentation and used by a lot of text adventure writers.
|
| This is a peculiar response. I mean, I like Inform more than TADS too, but
| TADS is *also* free, has nice documentation, and is used by a lot of text
| adventure writers.

Hmm. Sorry I though TADS was still shareware. I cannot get into the TADS
homepage, but I see the rec.arts.int-fiction lists it as Freeware.

Neil K.

unread,
Nov 22, 1999, 3:00:00 AM11/22/99
to
Preben Randhol <ran...@pvv.org> wrote:

> Hmm. Sorry I though TADS was still shareware. I cannot get into the TADS
> homepage, but I see the rec.arts.int-fiction lists it as Freeware.

FWIW, TADS has been available free of charge for over 3 years.

http://tela.bc.ca/tela/tads/about/

- Neil K.

--
t e l a computer consulting + design * Vancouver, BC, Canada
web: http://www.tela.bc.ca/tela/ * email: tela @ tela.bc.ca

Preben Randhol

unread,
Nov 22, 1999, 3:00:00 AM11/22/99
to
fake...@anti-spam.address (Neil K.) writes:

| Preben Randhol <ran...@pvv.org> wrote:
|
| > Hmm. Sorry I though TADS was still shareware. I cannot get into the TADS
| > homepage, but I see the rec.arts.int-fiction lists it as Freeware.
|
| FWIW, TADS has been available free of charge for over 3 years.

Which is probably a shorter time than last I looked at it and
dismissed it as shareware :-), but it is nice that it is Freeware
now!!

Magnus Olsson

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
In article <819cda$3sk$1...@nntp1.atl.mindspring.net>,

Andrew Plotkin <erky...@netcom.com> wrote:
>Preben Randhol <ran...@pvv.org> wrote:
>> lorax...@my-deja.com writes:
>>
>> | Do you need to know any programming languages to use TADS? The truth is
>> | I don't really know any programming languages and was wondering what
>> | program I could use to write a text adventure which I could enter in
>> | next years Competition.
>>
>> Why don't you use Inform instead ? It is free and has nice
>> documentation and used by a lot of text adventure writers.
>
>This is a peculiar response. I mean, I like Inform more than TADS too, but
>TADS is *also* free, has nice documentation, and is used by a lot of text
>adventure writers.

To answer the original question: You don't *have* to know any
programming languages beforehand, as the manual explains everything
you need to know, but it helps a lot if you know. TADS is pretty
similar to C, so if you've programmed in C beforehand you'll recognize
a lot of things.

The same holds for Inform.

If you don't know any programming langauges now, I'd suggest you start
with TADS or Inform anyway, and if you run into problems with basic
programming things (such as "how does a for loop realy work") you might
want to consult a general programming text, preferably one geared at C.

But beware: there are plenty of really bad "teach yourself C" (or
Basic, or whatever) books out there. Perhaps somebody who's more up to
date on the field than I am could recommend some good books?

--
Magnus Olsson (m...@df.lth.se, zeb...@pobox.com)
------ http://www.pobox.com/~zebulon ------

Preben Randhol

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
m...@bartlet.df.lth.se (Magnus Olsson) writes:

| But beware: there are plenty of really bad "teach yourself C" (or
| Basic, or whatever) books out there. Perhaps somebody who's more up to
| date on the field than I am could recommend some good books?

I'll recommend "The C Programming Language" by Brian W. Kernighan

ISBN: 0131103628

http://www.amazon.com/exec/obidos/ASIN/0131103628/o/qid=943442582/sr=8-2/102-0184755-0474415

kar...@fermi2.chem.yale.edu

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
Preben Randhol <ran...@pvv.org> wrote:
: m...@bartlet.df.lth.se (Magnus Olsson) writes:

: | But beware: there are plenty of really bad "teach yourself C" (or
: | Basic, or whatever) books out there. Perhaps somebody who's more up to
: | date on the field than I am could recommend some good books?

: I'll recommend "The C Programming Language" by Brian W. Kernighan


Really? It's a great book, but I'm not sure it's the best for
someone who's never programmed before. I'm not saying programming books
need to be 1000 pages, especially since C is a compact language, but
[reaches up to bookshelf] 189 pages plus an appendix with the full language
in it might not be quite enough. I personally would go to the bookstore (or
amazon.com, or cprog.oreilly.com) and look for an O'reilly book on C. There'll
be several, so I'd look for one for beginners.

-Amir

timsim

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to

Preben Randhol <ran...@pvv.org> wrote in message
news:m37lj86...@kiuk0156.chembio.ntnu.no...

> m...@bartlet.df.lth.se (Magnus Olsson) writes:
>
> | But beware: there are plenty of really bad "teach yourself C" (or
> | Basic, or whatever) books out there. Perhaps somebody who's more up to
> | date on the field than I am could recommend some good books?
>
> I'll recommend "The C Programming Language" by Brian W. Kernighan
>
> ISBN: 0131103628
>
>
http://www.amazon.com/exec/obidos/ASIN/0131103628/o/qid=943442582/sr=8-2/102
-0184755-0474415

That's a safe bet. Who'd argue against the author(s) of C?

Tim


Preben Randhol

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
kar...@fermi2.chem.yale.edu writes:

| : I'll recommend "The C Programming Language" by Brian W. Kernighan

|
|
| Really? It's a great book, but I'm not sure it's the best for

Yepp really.

Fraser

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
paene lacrimavi postquam Preben Randhol <ran...@pvv.org> scripsit:

>I'll recommend "The C Programming Language" by Brian W. Kernighan

And Dennis M Ritchie, though for some reason the Amazon database
doesn't come up with him, and you'd only know by looking carefully
at the fuzzy cover scan.

I wouldn't reccommend this to a non-programmer though. Indeed, I
wouldn't reccommend C at all to a non-programmer.

Fraser.
(nor to an actual programmer, but that's another story)
(and what's with all the middle initials?)

Magnus Olsson

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
In article <81h6b4$ar2$1...@kimba.whitelion.org>,

Fraser <blanc...@blancolioni.org> wrote:
>paene lacrimavi postquam Preben Randhol <ran...@pvv.org> scripsit:
>
>>I'll recommend "The C Programming Language" by Brian W. Kernighan
>
>And Dennis M Ritchie, though for some reason the Amazon database
>doesn't come up with him, and you'd only know by looking carefully
>at the fuzzy cover scan.
>
>I wouldn't reccommend this to a non-programmer though. Indeed, I
>wouldn't reccommend C at all to a non-programmer.

Neither would I. C is not an ideal first language since it offers
too many opportunities to shoot yourself in the foot, and is rather
low-level in some ways.

I'd say that if you can already program, but don't know C, then
K&R (the canonical name for the book referred to above) will give
not only teach you C, but will also give you a background which will
facilitate learning TADS or Inform.

If you haven't programmed before, I doubt very much that K&R will do
you very much good.

Nat Lanza

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
m...@bartlet.df.lth.se (Magnus Olsson) writes:

> Neither would I. C is not an ideal first language since it offers
> too many opportunities to shoot yourself in the foot, and is rather
> low-level in some ways.

I'm actually pretty surprised that nobody's mentioned Java yet -- you
get the debatable benefits of a C-like structure without the extra
pain of dealing with all of the low-level details.

> If you haven't programmed before, I doubt very much that K&R will do
> you very much good.

Handing someone a copy of K&R in an effort to teach them to program is
kind of like handing someone a dictionary in an effort to teach them
to read. There are much better introductory books out there.

Also, you might consider a brief intro programming course -- your
local community college probably offers one. Academic freak that I am,
I think the best way to learn something like this is to have someone
teach you, so you have a better chance of covering all the important
bases.


--nat

--
nat lanza --------------------- research programmer, parallel data lab, cmu scs
ma...@cs.cmu.edu -------------------------------- http://www.cs.cmu.edu/~magus/
there are no whole truths; all truths are half-truths -- alfred north whitehead

David Thornley

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
In article <3837ade...@newsserver.epix.net>,

Eric Mayer <mayw...@epix.net> wrote:
>On Sun, 21 Nov 1999 03:27:13 GMT, lorax...@my-deja.com wrote:
>
>>Do you need to know any programming languages to use TADS? The truth is
>>I don't really know any programming languages and was wondering what
>>program I could use to write a text adventure which I could enter in
>>next years Competition.
>>
>You might also consider ALAN. You don't need to know any programming
>language whatsoever, or even have any experience with any kind of
>programming language to learn ALAN sufficiently within a few months to
>enter a decent game in the Comp. At least that was my experience.
>Some considered mine a decent game :)
>
I'm not familiar with Alan, but it seems to me that the example chapters
of the TADS manual should tell any novice how to write something simple.
Just copy the examples and fiddle with them. It's easy to write
TADS games in which you walk around and look at things. For more
complicated stuff, it seems to me that it would be complicated in
any language. It looks like much the same is true of Inform, but
I've hardly touched it. (I've been noodling at TADS off and on
since I registered TADS 2.0 - not that I've ever finished anything.)

The nice things about TADS and Inform are that they can be played on
a lot of platforms (Inform more than TADS), and there's a lot of canned
code out there for both of them. I'd recommend going with one of them.
(Maybe somebody should write sort of a "Learning Perl" type manual
for them. I think I'll have the time to do it about 2015, myself.)


--
David H. Thornley | If you want my opinion, ask.
da...@thornley.net | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-

Matthew T. Russotto

unread,
Nov 24, 1999, 3:00:00 AM11/24/99
to
In article <81h3id$5ff$1...@news.laserlink.net>,

timsim <tim...@gateway.net> wrote:
}
}Preben Randhol <ran...@pvv.org> wrote in message
}news:m37lj86...@kiuk0156.chembio.ntnu.no...
}> m...@bartlet.df.lth.se (Magnus Olsson) writes:
}>
}> | But beware: there are plenty of really bad "teach yourself C" (or
}> | Basic, or whatever) books out there. Perhaps somebody who's more up to
}> | date on the field than I am could recommend some good books?
}>
}> I'll recommend "The C Programming Language" by Brian W. Kernighan
}>
}> ISBN: 0131103628
}>
}>
}http://www.amazon.com/exec/obidos/ASIN/0131103628/o/qid=943442582/sr=8-2/102
}-0184755-0474415
}
}That's a safe bet. Who'd argue against the author(s) of C?

Well, it predates dejanews, but I've heard about a nice
little argument in comp.lang.c about a fine point of the language
between one pompous fool and someone sporting an email address of
d...@bell-labs.com.

--
Matthew T. Russotto russ...@pond.com
"Extremism in defense of liberty is no vice, and moderation in pursuit
of justice is no virtue."

Martijn

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
I'm also considering to learn to write in either Tads or Inform. At the
moment I only know some BASIC. One person in the thread mentioned he was
familiar with only BASIC before he started to program in TADS. I also
read in the thread Tads and Inform are about on the same difficulty
level.

- However, is one these languages easier to learn when you're already
familiar with BASIC?
- Tads is said to be a lot like C. What program language is Inform like?
- Is C a little like BASIC? More difficult? Easier?

Thanks,
Martijn

Magnus Olsson

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
In article <383CF793...@palm.a2000.nl>,

Martijn <m.r.e...@palm.a2000.nl> wrote:
>I'm also considering to learn to write in either Tads or Inform. At the
>moment I only know some BASIC. One person in the thread mentioned he was
>familiar with only BASIC before he started to program in TADS. I also
>read in the thread Tads and Inform are about on the same difficulty
>level.
>
>- However, is one these languages easier to learn when you're already
>familiar with BASIC?

Yes, since once you know BASIC, you know the basics (no pun intended)
of programming. You don't have to learn concepts like "variable" or
"if-statement" from scratch.

>- Tads is said to be a lot like C. What program language is Inform like?

C as well.

>- Is C a little like BASIC? More difficult? Easier?

Well, it depends on what you compare with. C is like BASIC in that it's
a procedural language (as opposed to, say, a functional language).

It depends on what kind of BASIC you're talking about, of course.
Old BASICs lacked a lot of features (such as procedures, local variables,
structured programming constructs) that C has, but modern BASICs have
them.

C is generally considered more difficult to learn than BASIC, but also
more powerful and convenient once you've learned it.

Preben Randhol

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
Martijn <m.r.e...@palm.a2000.nl> writes:

| - Is C a little like BASIC? More difficult? Easier?

It is more difficult. And the first thing you need to learn (should
you learn it) is to _not_ use GOTO :-)

Preben Randhol

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
blanc...@blancolioni.org (Fraser) writes:

| I wouldn't reccommend this to a non-programmer though. Indeed, I

I would recommend this book to learn C, to learn programming in
general one should probably find some other book.


| wouldn't reccommend C at all to a non-programmer.

I agree with you there, but the question was about a good C book.

If you want to learn a language, you should probably learn Ada 95,
Scheme, Lisp or Python depending on what you need/want.

Martijn

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
Magnus Olsson wrote:
>
> In article <383CF793...@palm.a2000.nl>,
> Martijn <m.r.e...@palm.a2000.nl> wrote:
> >I'm also considering to learn to write in either Tads or Inform. At the
> >moment I only know some BASIC. One person in the thread mentioned he was
> >familiar with only BASIC before he started to program in TADS. I also
> >read in the thread Tads and Inform are about on the same difficulty
> >level.
> >
> >- However, is one these languages easier to learn when you're already
> >familiar with BASIC?
>
> Yes, since once you know BASIC, you know the basics (no pun intended)
> of programming. You don't have to learn concepts like "variable" or
> "if-statement" from scratch.

Thanks for the answers, to the other questions as well, but what I
really meant to ask with the above question is whether one of these
languages is easier to learn *than the other*, given that you're
familiar with BASIC.

Well, since you told me both Tads and Inform are like C, I think the
answer will be *no*

Martijn

David Given

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
In article <383CF793...@palm.a2000.nl>,

Martijn <m.r.e...@palm.a2000.nl> writes:
> - However, is one these languages easier to learn when you're already
> familiar with BASIC?

Depends what sort of Basic.

If you're used to Microsoft Basic, that is GOSUB and GOTO, then you'll
have to start from scratch. If you're used to structured Basic, that is
IF...ENDIF and SUB..ENDSUB that you'll have a good basis.

> - Tads is said to be a lot like C. What program language is Inform like?

It's like C, too. Tads and Inform are very similar.

> - Is C a little like BASIC? More difficult? Easier?

Different. C is a much smaller language than Basic is. It's got far fewer
keywords.

Another thing you won't be used to is the concept of statement lists. In
C, all the programming structures look like this:

if (expression)
<statement>
else
<statement>

as opposed to in Basic:

IF (expression) THEN
<statement>
<statement>...
ELSE
<statement>
<statement>...
END IF

Each <statement> refers to exactly *one* statement.

So, for example:

if (x == 2)
printf("Two!");
else
printf("Not two!");

What happens if you want more than one statement in each clause? Well, in
C, you can replace a single statement with a list of statements in braces
{...}. So:

if (x == 2)
{ printf("The answer is:"); printf("Two!"); }

You're still following the if with a single statement. That statement just
happens to be a list.

Both Tads and Inform both follow this pattern. It makes for a much sparser
language, and one that's easier to compile. It's also, once you get used
to it, more elegant to program in.

The other major difference that you'll probably come across, though, is
string handling. C (and Tads and Inform) have very, very basic string
manipulation code. In Basic you can do:

A$ = "Hello"
B$ = "world"
C$ = A$ + ", " + B$

...and the interpreter will handle allocating space for A$ and B$, working
out the final length of C$, allocating space for it, constructing the
contents, and so on. C doesn't do this. C has exactly one string
operation:

"foo"

This returns the address of a constant area of memory containing the
string "foo". (In the examples above, printf() just takes as a parameter
the address of the string to display.) If you want to do *anything* to a
string, you have to allocate memory for it manually.

However, don't be alarmed. For most IF this isn't necessary; you only ever
want to deal with constant strings. And if you do need to do any string
manipulation, it's not hard once you get the knack; many of us do string
manipulation in C every day, and we're only slightly insane.

--
+- David Given ---------------McQ-+
| Work: d...@tao-group.com | "It pays to increase your word power." ---
| Play: dgi...@iname.com | Diana Wynne Jones, _Archer's Goon_
+- http://wired.st-and.ac.uk/~dg -+

Preben Randhol

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
d...@pearl.tao.co.uk (David Given) writes:

| Each <statement> refers to exactly *one* statement.
|
| So, for example:
|
| if (x == 2)
| printf("Two!");
| else
| printf("Not two!");
|
| What happens if you want more than one statement in each clause? Well, in
| C, you can replace a single statement with a list of statements in braces
| {...}. So:
|
| if (x == 2)
| { printf("The answer is:"); printf("Two!"); }

I would recommend using the latter even though you have a single
statement until you become experienced enough.

That is:


if (x == 2) {
printf("Two!");
}
else {
printf("Not two!");
}

The reason is that it is easy to make mistakes otherwise.

Magnus Olsson

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
In article <383D2C0B...@palm.a2000.nl>,
Martijn <m.r.e...@palm.a2000.nl> wrote:

>Magnus Olsson wrote:
>>
>> In article <383CF793...@palm.a2000.nl>,
>> Martijn <m.r.e...@palm.a2000.nl> wrote:
>> >- However, is one these languages easier to learn when you're already
>> >familiar with BASIC?
>>
>> Yes, since once you know BASIC, you know the basics (no pun intended)
>> of programming. You don't have to learn concepts like "variable" or
>> "if-statement" from scratch.
>
>Thanks for the answers, to the other questions as well, but what I
>really meant to ask with the above question is whether one of these
>languages is easier to learn *than the other*, given that you're
>familiar with BASIC.
>
>Well, since you told me both Tads and Inform are like C, I think the
>answer will be *no*

I think that's correct, yes.

Dan Shiovitz

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
In article <b9aj18...@127.0.0.1>, David Given <d...@pearl.tao.co.uk> wrote:
[..]

>The other major difference that you'll probably come across, though, is
>string handling. C (and Tads and Inform) have very, very basic string
>manipulation code. In Basic you can do:
>
> A$ = "Hello"
> B$ = "world"
> C$ = A$ + ", " + B$
>
>...and the interpreter will handle allocating space for A$ and B$, working
>out the final length of C$, allocating space for it, constructing the
>contents, and so on. C doesn't do this. C has exactly one string

Actually, one of the nice things about TADS is it *does* have strings
as a first-class type. The equivalent of the above is
local a, b, c;
a := 'hello';
b := 'world';
c := a + ', ' + b;

And you can also do all the usual string-length, substring, etc
operations you'd expect.

>+- David Given ---------------McQ-+
--
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

David Librik

unread,
Nov 26, 1999, 3:00:00 AM11/26/99
to
lorax_mark2 writes:
>Do you need to know any programming languages to use TADS?

Not at all. There's a great deal of nonsense slung around about this
subject, much of it in this thread. TADS is, in fact, exactly as simple
as any of the ballyhooed "easy" adventure creators. It's only because it
optionally lets you do *more* that it gets a reputation for complexity.

90% of what you'll be doing in writing a simple adventure is stuff like
this -- some room descriptions:

terminal: room
sdesc = "Terminal"
ldesc = "You are in the airport's main terminal. To the east, you
see some ticket counters; to the north is the main concourse."
east = ticketCounter
north = securityGate
;
securityGate: room
sdesc = "Security Gate"
ldesc = "You are at the security gate leading into the main concourse
and boarding gate areas. The concourse lies to the north,
through a metal detector. The terminal is back to the south."
north = concourse
south = terminal
;

... and so on. This is the pattern. You learn the pattern, you write
all your rooms this way. Item descriptions are similar. No system really
makes this any simpler (what could be simpler, anyway?). Of course, a lot
of people think that if their application uses Windows, pull-down menus, dialog
boxes, and all that stuff, that everything is just so totally obvious that
they're under no obligation to provide any manual beyond a Windows Help file.
Such an adventure-writing package is harder to use than a text-based one with
a detailed printed manual, like TADS.

What you do have to learn about are the types of things you can have in
your game -- these are the built-in TADS object types, or "classes" --
such as rooms and items, and their "sub-classes," or more specific types,
like keys, buttons, lights, foodItems, etc. The TADS manual will explain
this to you. Each of these things has built-in "properties." For instance,
rooms have short descriptions (sdesc's), long descriptions (ldesc's), and
possible exits (north, south...). You set these to be what you want, as
you can see in the example above.

So far this is nothing you couldn't do in a stripped-down "easy" system like
AGT. Where TADS makes things better is the ability to create your own item
types by adding more specialized properties to existing ones, or by combining
two existing types. For instance, in the game "Unkuulian Unventure", Dave
Leary made a "cheez key" by combining a key item with a food item. Or in
my port of "Dog Star Adventure", I decided to make a FlightDeckRoom, which
is a kind of room whose description is always "You're out on the flight deck,
which stretches away in all directions." Then I could create a bunch of
flight deck rooms -- it's kind of a maze -- and not have to specify the
description on each one. Here's my FlightDeckRoom specification:

/* This is a general "class" of rooms; a template to knock off copies from.
This sort of thing is very useful for mazes and other confusing identical
bunches of rooms -- to help the confusion, it's a "verboseRoom", which
means that it always prints the full description every time you enter it,
making it harder to figure out. */
class FlightDeckRoom: verboseRoom /* somewhere on the flight deck */
outondeck = true // out on the flight deck (possibly airless)
sdesc = "Out on the Flight Deck"
ldesc = "You're on the Flight Deck of General Doom's battle cruiser,
which stretches away in all directions. "
;

This is getting close to programming. But it's not programming in the
sense of BASIC or Pascal or C. There's no coding of algorithms, variables,
or any of that. However, notice that I did get to invent a new property,
"outondeck", which is "true" for these sorts of rooms.

When people say that "TADS is like C," what they're actually talking about
is syntax. For instance, in both TADS and C or C++, comments are written
/* inside these slash-star symbols */ or // after two slashes. But TADS
discards all the things about C that make C hard: there are no pointers,
there is no memory allocation, there is no typedef, etc. And it definitely
avoids all the C++ garbage except for the idea of classes. It also uses as
many syntax features from Pascal (a more readable language) as from C. You
don't need to know any Pascal or C or C++ to use TADS for basic game writing.

Now, the more complicated you want your game to be -- the more complex its
behavior -- the more you're going to inch closer to programming. The strength
of TADS is that, when you need it, programming fits in neatly into the whole
system. After all, *programming* is really nothing more than *detailed
specification of behavior*, described so simply and mechanically that a
computer can carry out the instructions. As an author of interactive fiction,
you are gonna run up against this sooner or later -- NOBODY gets to write
these games like novels, because their structure is different: player types
something, game responds. You have to tell your story by having the game
give good responses, and that requires taking care of allll the picky details.

So, here's a picky detail to add. Somewhere else in my game "Dog Star
Adventure", let's suppose I have an item I call "FlightDeckWindow".
Suppose the FlightDeckWindow could be either open or closed. I do this
by giving FlightDeckWindow a _property_, "isopen", which can be either true
(it's open) or false (it's closed). I won't show that. But, given all that,
here's how I could rewrite the FlightDeckRoom I listed above, so it shows the
stars if the FlightDeckWindow is open.

class FlightDeckRoom: verboseRoom
outondeck = true
sdesc = "Out on the Flight Deck"
ldesc = {
"You're on the Flight Deck of General Doom's battle cruiser,
which stretches away in all directions. ";
if (FlightDeckWindow.isopen)
"Overhead, you can see a million unblinking stars. ";
}
;

The string that was the ldesc is now replaced with a little program block,
enclosed in { braces }. That's the pattern that you'll follow when writing
your own bits of programming. Also, you can see that every line of code in a
program block ends with a semicolon (;), whereas ordinary property definitions
(like the sdesc above) don't.

To be honest, I don't think any interactive fiction writing system is going
to let you do all that TADS does, but somehow be "easier." If you want to
be able to do generally powerful things in describing your game, you have
to have some sort of generally powerful programming language. If you don't
want to do anything beyond the adventure basics, you could use a simple system
like AGT -- but you could also use TADS without any complicated constructs,
just as easily.

What about INFORM? That's TADS' main rival. I've never written a game in
it, but you can't help seeing snippets of code. It looks like it wouldn't
take you any longer to learn it than to learn TADS, and it seems to have a
nice tutorial, something TADS doesn't have so well. But the reason I prefer
TADS games as a player is that the interface is so much nicer (and the author
gets it for free just by using TADS):
1. TADS has multiple-level UNDO built right into the system.
2. TADS has a scrollback buffer in its text mode interpreter.
3. There's just one TADS, so you don't have to muck about with Frotz
and Zip, z3 and z5 and z8. Mike Roberts comes out with TADS version X,
complete with compiler, interpreter (runtime) for PC and Macintosh,
debugger, blah blah, and everybody upgrades. Nobody writes TADS 1.2
games just for the hell of it.

Of course, there's an implied priority judgement being made here. Inform
creates games that are compatible with the original Infocom stuff, and run
on Infocom's "Z-Machine" interpreters (and various successors that people
have written). The goal of Infocom's Z-Machine was to "put a large game on
a small computer." So you can play Infocom and Inform games on Palm Pilots,
Gameboys, Apple 2's, etc. Inform tends to show the quirky ribs of the
original 8-bit Z-machine underneath, although a lot of effort has been spent
on making the Z-machine into a full-fledged "Virtual Machine" that you can
play Tetris on.

On the other hand, TADS has a different goal. Mike Roberts created a system
that lets you create and play Infocom-type games on 1990s PCs and Macs.
He can come out with new, better, and more comprehensive versions of TADS
and not care about hitting the memory limits of a Nintendo. The only machines
that count are modern machines, and he provides full-power runtime TADS systems
for them, so as long as everybody upgrades, they get all the new stuff
guaranteed for free. Tetris is not an issue; the TADS Virtual Machine is
hidden away and useful only for playing TADS adventure games.

I guess the message I have for you, and for everyone else who asks, is
"just pick up TADS and start writing your game." There aren't any easier
systems, not really, not for what you want to do. I could certainly give
some suggestions to make getting started easier:
1. Start with the Ditch Day Drifter game source code you get with TADS,
2. Rip out its guts and start writing your game inside it,
3. Look back at the DDD sample code whenever you want to look up
how to do something. (It helps to have played DDD, of course.)
4. Remember that you'll probably have to "build one to throw away."

You could also pick up INFORM and do much the same thing. But it's less
likely that I'll play the finished result. :-)

- David Librik
lib...@netcom.com

kar...@fermi2.chem.yale.edu

unread,
Nov 26, 1999, 3:00:00 AM11/26/99
to
David Librik <lib...@netcom.com> wrote:

: lorax_mark2 writes:
:>Do you need to know any programming languages to use TADS?

[great yet concise description snipped]

Someone (e.g. David) should edit this a bit and release it as a
"look at how simple TADS is" document. I think you make a good point that
people talk all about how TADS is so much like C, but a lot of that is the
surface features, like comments, break'ing out of while loops, etc. And
saying something is like C is probably really scary to the more
prose-oriented folk who think about making a game. Your post gave a sense
of what TADS does and how it does it, including some (authentic) sample
code, without being the least bit scary.

This way, we can hook them before they find out about verIo, roomAction,
and isVisible. (Just kidding: the great thing about TADS is that that stuff
only matters if you want it to.) You can't deny that you'll have to learn
more TADS if you want to put any interesting puzzles in (or even
interesting prose, probably), but 90% of the game is pretty simple.

-Amir

David Given

unread,
Nov 26, 1999, 3:00:00 AM11/26/99
to
In article <s3r7fq...@corp.supernews.com>,
d...@cs.wisc.edu (Dan Shiovitz) writes:
[...]

>> A$ = "Hello"
>> B$ = "world"
>> C$ = A$ + ", " + B$
>>
>>...and the interpreter will handle allocating space for A$ and B$, working
>>out the final length of C$, allocating space for it, constructing the
>>contents, and so on. C doesn't do this. C has exactly one string
>
> Actually, one of the nice things about TADS is it *does* have strings
> as a first-class type. The equivalent of the above is
> local a, b, c;
> a := 'hello';
> b := 'world';
> c := a + ', ' + b;

Oo! I didn't know that. I think I may have to get a copy...

--
+- David Given ---------------McQ-+

| Work: d...@tao-group.com | FNORD
| Play: dgi...@iname.com |
+- http://wired.st-and.ac.uk/~dg -+

Thomas Nilsson

unread,
Nov 29, 1999, 3:00:00 AM11/29/99
to

Don't you ever get tired on these language wars? They have flamed not
just in the IF community, but in all other areas as long as there has
been languages to fight over.


David Librik wrote:
>
<snip>


>
> 90% of what you'll be doing in writing a simple adventure is stuff like
> this -- some room descriptions:
>
> terminal: room
> sdesc = "Terminal"
> ldesc = "You are in the airport's main terminal. To the east, you
> see some ticket counters; to the north is the main concourse."
> east = ticketCounter
> north = securityGate
> ;
> securityGate: room
> sdesc = "Security Gate"
> ldesc = "You are at the security gate leading into the main concourse
> and boarding gate areas. The concourse lies to the north,
> through a metal detector. The terminal is back to the south."
> north = concourse
> south = terminal
> ;
>
> ... and so on. This is the pattern. You learn the pattern, you write
> all your rooms this way. Item descriptions are similar. No system really
> makes this any simpler (what could be simpler, anyway?).

Exactly. Since all IF has the same pattern, so does the special
purpose languages, libraries and what have you. That is the whole
point of adapting to an application area.

I could easily duplicate the above code in Alan and others in any of
their favourite language and they'd all show the same pattern. The
difference would be minimal syntactic sugar. This is because *any*
tool to create IF requires the same basic elements. So I would suggest
that we all agree that most languages are more or less equal at this
level.

It is not until you have used a language for a while that you come to
understand its innermost workings, its soul if you will. As long as
you are not debating the difference between languages at this level
you are not adding anything to *my* understanding of the differences
between the languages.

This is of course not to say that it might not entertain others. YMMV.

thomas.nilsson.vcf

SteveG

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
On Thu, 25 Nov 1999 09:47:15 +0100, Martijn
<m.r.e...@palm.a2000.nl> wrote:

>I'm also considering to learn to write in either Tads or Inform. At the
>moment I only know some BASIC. One person in the thread mentioned he was
>familiar with only BASIC before he started to program in TADS. I also
>read in the thread Tads and Inform are about on the same difficulty
>level.
>

>- However, is one these languages easier to learn when you're already
>familiar with BASIC?

>- Tads is said to be a lot like C. What program language is Inform like?

>- Is C a little like BASIC? More difficult? Easier?

As well as looking at TADS and Inform I suggest you look at Hugo
(which also has some resemblances to C) and Alan (which is nothing
like C nor Basic.)

(See the FAQ for URLs for info on these IF systems --
http://www.davidglasser.net/raiffaq/ )


--
SteveG
(Please remove erroneous word from address if emailing a reply)

Jonadab the Unsightly One

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
m...@bartlet.df.lth.se (Magnus Olsson) wrote:

> But beware: there are plenty of really bad "teach yourself C" (or
> Basic, or whatever) books out there. Perhaps somebody who's more up to
> date on the field than I am could recommend some good books?

Oh, heavens, yes. Cosmically bad, most of them. Never pay
good money for anything with either "21 days" or "for Dummies"
in the title, for starters...


"Virtual Reality has nothing on Calvin." -- Susie Derkins

Jonadab the Unsightly One

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
Preben Randhol <ran...@pvv.org> wrote:

> If you want to learn a language, you should probably learn Ada 95,
> Scheme, Lisp or Python depending on what you need/want.

I'm finding the Gnu Emacs Lisp Reference Manual to be wonderful and
intuitive and straightforward and helpful.

But I'm weird.

The *painful* way to learn to program is to study the source
code for gcc.

SteveG

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
On Tue, 30 Nov 1999 10:30:32 GMT, jon...@bright.net (Jonadab the
Unsightly One) wrote:

>m...@bartlet.df.lth.se (Magnus Olsson) wrote:
>
>> But beware: there are plenty of really bad "teach yourself C" (or
>> Basic, or whatever) books out there. Perhaps somebody who's more up to
>> date on the field than I am could recommend some good books?
>
>Oh, heavens, yes. Cosmically bad, most of them. Never pay
>good money for anything with either "21 days" or "for Dummies"
>in the title, for starters...

I borrowed Learn C in 24 Hours, Tom Zhang, Sams Publishing from the
library recently.

I was pleased I didn't pay good money for it as I thought it was
astoundingly bad. It read like a first draft, rushed into publication.
I also didn't like the way if introduced the features of C but never
really explained when or why to use such features.

I think its aimed at programmers who need to learn C in a hurry but I
don't think its the best way to do that. I certainly wouldn't
recommend it to someone who didn't know about programming in other
languages. And if someone *did* know about programming then K&R's 'The
C Programming Language' seems a better bet.

I still haven't seen a good C programming book for non-programmers.
Take a look at the FAQ or the Dejanews back-posts for
comp.lang.c.moderated or comp.lang.c. I'm sure the question has been
asked, and answered, hundreds of times on those groups.

Though, in reality, its probably not the best programming language to
use when learning about the basic concepts of programming languages
anyway. Actually, if you're interested in writing IF, learning TADS,
Inform or Hugo would be more fun and relevant to your interests as
well as providing useful experience if you ever need to use C in the
future.

Philip W. Darnowsky

unread,
Dec 1, 1999, 3:00:00 AM12/1/99
to
Magnus Olsson (m...@bartlet.df.lth.se) wrote:

: But beware: there are plenty of really bad "teach yourself C" (or
: Basic, or whatever) books out there. Perhaps somebody who's more up to
: date on the field than I am could recommend some good books?

For learning languages, I recommend the texts written by the father and
son team of Deitel and Deitel. Once you've got that under your belt,
check out _Practical C Programming_, published by O'Reilly and
Associates--a little dated, but it will still help you form good habits.
After that, _Expert C Programming_ by Peter van der Linden will put some
polish on and give you a good laugh. And at some point you'll want
Kernighan and Ritchie's _The C Programming Language_, which you should
read every day of your life and keep under your pillow at night. Be sure
to get a recent edition, though--an older one will pre-date ANSI C and
lead to confusion.

HTH.

--
--
---------------------------------------------------------------
Phil Darnowsky pdar...@spameggsbaconandspam.qis.net
Remove spam, eggs, bacon, spam, and dot to reply.

"When I'm caging the souls of the damned in Hell, I make sure
to use the most painful cages of rotting flesh, filled with
fire and locusts. Your fish would probably not be comfortable
in such a cage."
--David Neilsen, "Satan On Goldfish"

David Thornley

unread,
Dec 2, 1999, 3:00:00 AM12/2/99
to
In article <38381863...@tesco.net>,

Roger Firth <roger...@tesco.net> wrote:
>lorax...@my-deja.com wrote:
>
>> Do you need to know any programming languages to use TADS? The truth is
>> I don't really know any programming languages and was wondering what
>> program I could use to write a text adventure which I could enter in
>> next years Competition.
>
>You might glance at the Annotated Adventures at
>http://homepages.tesco.net/~roger.firth/cloak/index.html, where you'll
>find examples of seven authoring systems all implementing the same
>tiny game. With any luck, one of those systems will 'feel right' for you.
>
When I looked there, it seemed to me that all the systems (except SUDS)
looked pretty much equivalent. I really don't think there's all that
much difference between textual IF systems on the simple stuff, and
I wouldn't recommend picking one just on the basis of having slightly
more attractive syntax.

I'd recommend asking some other questions.

- If I get really ambitious, will the system keep up with me?
- Is there good documentation for getting started?
- When I run into trouble, can I get help easily on rec.arts.int-fiction?
- How easy is it to incorporate other people's work?
- How much of other people's work is there available to swipe?
- Can I get source code to some well-written games?

Based on these, I'd suggest TADS or Inform would be the best choices.
Hugo is getting more popular, but it doesn't seem to be there yet.

Roger Firth

unread,
Dec 2, 1999, 3:00:00 AM12/2/99
to
David Thornley wrote:

> David H. Thornley | If you want my opinion, ask.
> da...@thornley.net | If you don't, flee.
> http://www.thornley.net/~thornley/david/ | O-

Just so; I wouldn't argue the point for a minute. Though you will perhaps
agree that having the various Cloak implementations to hand has made it
somewhat easier to perform that throwaway "all ... looked pretty much
equivalent"
comparison? And that, if you look a little closer, the ability of the Tier 1
systems
to keep up when the going gets ambitious actually shines through fairly
clearly?
I certainly found that to be so; YMMV. My phrase "feel right" was meant to
imply rather more than syntactic trivia, but probably failed miserably to do
so.

However, you're right about the other questions to ask, and I've recently been

contemplating what other sorts of guidance to offer. Part of my thinking
parallels your
recommendations; in contrast with the studied neutrality (:-) of the other
pages
I've added a rambling piece of subjective advice which came, no great
surprise,
to the same conclusions as you did.

Cheers, Roger

========================================================================
Roger Firth

Pia Mukherji

unread,
Dec 2, 1999, 3:00:00 AM12/2/99
to
We used a good beginning C book in an intro class at school -- "The Art and
Science of C," by Eric Roberts. Not intimidating at all, and it has clear and
easy-to-follow explanations.

In terms of C vs. Java, I think if all you're worried about is stuff like "what's
a for loop" and "how do conditionals work" and so on, they're pretty much
equivalent.

-Pia

mik...@ix.netcom.com

unread,
Dec 20, 1999, 3:00:00 AM12/20/99
to
This is off topic but since you asked...

This two texts below will teach you the fundamentals of Programming
using C or C++ as a tool.

C How to Program
http://www.amazon.com/exec/obidos/ASIN/0132261197/productlink

C++ How to Program (How to Program Series)
http://www.amazon.com/exec/obidos/ASIN/135289106/productlink

In article <m3n1s2e...@kiuk0156.chembio.ntnu.no>,


Preben Randhol <ran...@pvv.org> wrote:
> blanc...@blancolioni.org (Fraser) writes:
>
> | I wouldn't reccommend this to a non-programmer though. Indeed, I
>
> I would recommend this book to learn C, to learn programming in
> general one should probably find some other book.
>
> | wouldn't reccommend C at all to a non-programmer.
>
> I agree with you there, but the question was about a good C book.
>

> If you want to learn a language, you should probably learn Ada 95,
> Scheme, Lisp or Python depending on what you need/want.
>

> --
> Preben Randhol "Marriage is when you get to keep
> [ran...@pvv.org] your girl and don't have to give
> [http://www.pvv.org/~randhol/] her back to her parents." (Eric,
6)
>


Sent via Deja.com http://www.deja.com/
Before you buy.

Arcum Dagsson

unread,
Dec 20, 1999, 3:00:00 AM12/20/99
to
In article <83lgtf$e8$1...@nnrp1.deja.com>, mik...@ix.netcom.com wrote:

>This is off topic but since you asked...
>
>This two texts below will teach you the fundamentals of Programming
>using C or C++ as a tool.
>
>C How to Program
>http://www.amazon.com/exec/obidos/ASIN/0132261197/productlink
>
>C++ How to Program (How to Program Series)
>http://www.amazon.com/exec/obidos/ASIN/135289106/productlink
>

This is even more offtopic, but http://www.fatbrain.com will save you $4
on each of those titles...

--
--Arcum Dagsson
Playing tonight live at Milliways, it's the Transfinite Cardinals.
Let's give them a big hand as they perform their first number,
'Multiple Orders Of Infinity'

0 new messages