Google Mail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
BAABE - new text adventure interpreter for RISC OS
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  16 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Follow-up To:
Add Cc | Add Follow-up to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers that you hear
 
Andrew  
View profile   Translate to Translated (View Original)
 More options 6 Nov, 21:25
Newsgroups: comp.sys.acorn.games
From: Andrew <n...@email.invalid>
Date: Fri, 06 Nov 2009 21:25:26 GMT
Local: Fri 6 Nov 2009 21:25
Subject: Re: BAABE - new text adventure interpreter for RISC OS
In message <slrnhf3r7n.jn9....@compsoc.dur.ac.uk>
          Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

How much work do you have to do to create an adventure? Do you for
example get bogged down with flags, variables, indexes?

Andrew
--


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 6 Nov, 22:04
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Fri, 06 Nov 2009 22:04:51 GMT
Local: Fri 6 Nov 2009 22:04
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 6 Nov 2009 by Andrew :

[snip]

> How much work do you have to do to create an adventure? Do you for
> example get bogged down with flags, variables, indexes?

You'll have to be more specific than that.  What's a flag, what's a
variable and what's an index?

The main difference in most interpreters is the sophistication of the
adventure you can create solely from data files, without having to write
any script.  While this interpreter is more advanced than some, e.g. in
the sophisticated 'container object' implementation, and the multi-level
hints, you'll still end up writing more or less the same amount of code
that you would in any other system.  There's no 'magic wand' a non-
programmer can wave to instantly create a complicated adventure, I'm
afraid. :-(

--
  __<^>__
 / _   _ \         You always find something in the last place you look.
( ( |_| ) )
 \_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
n...@spam.invalid  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 11:10
Newsgroups: comp.sys.acorn.games
From: n...@spam.invalid
Date: Sat, 07 Nov 2009 11:10:24 GMT
Local: Sat 7 Nov 2009 11:10
Subject: Re: BAABE - new text adventure interpreter for RISC OS
In message <6cf126b650.mar...@blueyonder.co.uk>
          Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

> The following bytes were arranged on 6 Nov 2009 by Andrew :
> [snip]
>> How much work do you have to do to create an adventure? Do you for
>> example get bogged down with flags, variables, indexes?

> You'll have to be more specific than that.  What's a flag, what's a
> variable and what's an index?

In other words, indicators whether specific events have occurred,
variables to hold all the data, indexes for location, inventory etc.

> The main difference in most interpreters is the sophistication of the
> adventure you can create solely from data files, without having to write
> any script.  While this interpreter is more advanced than some, e.g. in
> the sophisticated 'container object' implementation, and the multi-level
> hints, you'll still end up writing more or less the same amount of code
> that you would in any other system.  There's no 'magic wand' a non-
> programmer can wave to instantly create a complicated adventure, I'm
> afraid. :-(

Can you give an example of the script?

Andrew
--


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vince M Hudd  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 11:23
Newsgroups: comp.sys.acorn.games
From: Vince M Hudd <s...@softrock.co.uk>
Date: Sat, 7 Nov 2009 11:23:23 +0000
Local: Sat 7 Nov 2009 11:23
Subject: Re: BAABE - new text adventure interpreter for RISC OS

Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:
> The following bytes were arranged on 6 Nov 2009 by Andrew :
> [snip]
> > How much work do you have to do to create an adventure? Do you for
> > example get bogged down with flags, variables, indexes?

As well as what Martin says below, I'd suggest that the absolute hardest
part of writing an adventure game is the thought and imagination that must
go into the fiction itself; planning the story that will unfold for the
player, mapping it, devising the puzzles, and writing all the descriptions
to go with all of that. All of which should be done before you even think
about the "programming" aspect of it.

This is just one reason why the sequel to Quicksand (It's No Game) still
exists as nothing more than loose, and fairly incoherent notes on my system.
I have some good ideas for the game, but haven't had the time to tie them
together in a way that will enable me to start the [extra] mapping process.

> You'll have to be more specific than that.  What's a flag, what's a
> variable and what's an index?
> The main difference in most interpreters is the sophistication of the
> adventure you can create solely from data files, without having to write
> any script.  While this interpreter is more advanced than some, e.g. in
> the sophisticated 'container object' implementation,

Hmm... how did you go about that? I noted some ideas I had along those lines
on Iconbar at one point. (I was thinking along the lines of making
*everything* an object - even rooms - and giving all objects a container
status, defining how they could hold things; in, on, under, etc)

> and the multi-level hints, you'll still end up writing more or less the
> same amount of code that you would in any other system.  There's no 'magic
> wand' a non- programmer can wave to instantly create a complicated
> adventure, I'm afraid. :-(

Exactly.

The closest you can probably get to that is to provide a very simple script
into which the user can drop his own objects/rooms descriptions (this is
easily achievable with Trellis) - but then, there'd be nothing particularly
special about the result.

I haven't had time to play with BAABE yet - or more specifically, play your
conversion of Pyramid. How faithful a conversion is it?

--
Vince M Hudd - Soft Rock Software
http://www.softrock.co.uk
http://misc.vinceh.com


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
n...@spam.invalid  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 11:42
Newsgroups: comp.sys.acorn.games
From: n...@spam.invalid
Date: Sat, 07 Nov 2009 11:42:30 GMT
Local: Sat 7 Nov 2009 11:42
Subject: Re: BAABE - new text adventure interpreter for RISC OS
In message <gemini.ksqkyz003rpga0420.s...@softrock.co.uk>
          Vince M Hudd <s...@softrock.co.uk> wrote:

> As well as what Martin says below, I'd suggest that the absolute hardest
> part of writing an adventure game is the thought and imagination that must
> go into the fiction itself; planning the story that will unfold for the
> player, mapping it, devising the puzzles, and writing all the descriptions
> to go with all of that. All of which should be done before you even think
> about the "programming" aspect of it.
> This is just one reason why the sequel to Quicksand (It's No Game) still
> exists as nothing more than loose, and fairly incoherent notes on my system.
> I have some good ideas for the game, but haven't had the time to tie them
> together in a way that will enable me to start the [extra] mapping process.

I've only written one but found the hardest part having to keep track
of all the flags for objects, tasks etc. The story you can just flesh
out along the way provided you have a basic set of locations.

>> You'll have to be more specific than that.  What's a flag, what's a
>> variable and what's an index?
>> The main difference in most interpreters is the sophistication of the
>> adventure you can create solely from data files, without having to write
>> any script.  While this interpreter is more advanced than some, e.g. in
>> the sophisticated 'container object' implementation,
> Hmm... how did you go about that? I noted some ideas I had along those lines
> on Iconbar at one point. (I was thinking along the lines of making
> *everything* an object - even rooms - and giving all objects a container
> status, defining how they could hold things; in, on, under, etc)

This is what I mean by becoming bogged down with flags etc.

Andrew

--


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 13:56
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Sat, 07 Nov 2009 13:56:03 GMT
Local: Sat 7 Nov 2009 13:56
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 7 Nov 2009 by n...@spam.invalid:

> In message <gemini.ksqkyz003rpga0420.s...@softrock.co.uk>
>           Vince M Hudd <s...@softrock.co.uk> wrote:

> > This is just one reason why the sequel to Quicksand (It's No Game) still
> > exists as nothing more than loose, and fairly incoherent notes on my system.
> > I have some good ideas for the game, but haven't had the time to tie them
> > together in a way that will enable me to start the [extra] mapping process.
> I've only written one but found the hardest part having to keep track
> of all the flags for objects, tasks etc. The story you can just flesh
> out along the way provided you have a basic set of locations.

Did you write the interpreter part yourself, or did you use an existing
system?

Without a doubt, the only complicated code required is that in the
interpreter.  Most of the script is simple, and even repetitive; an
average line goes, "If the player hasn't done this yet, don't let him do
that".  The main limiting factor is being bothered to cover all
eventualities.  I'm still not sure quite what you mean by 'flags', but
as the flags you'll be using will be BASIC variables of your choice of
name, it can't be that difficult to keep track of them.

For the record, I definitely agree with what Vince says about writing
the fiction part; once you know what you're doing, it's fairly easy, but
you'll have to go to some considerable cognitive effort to work out how
you want your adventure to play.

--
  __<^>__
 / _   _ \  I don't have a problem with God; it's his fan club I can't stand.
( ( |_| ) )
\_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 13:46
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Sat, 07 Nov 2009 13:46:05 GMT
Local: Sat 7 Nov 2009 13:46
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 7 Nov 2009 by n...@spam.invalid:

> In message <6cf126b650.mar...@blueyonder.co.uk>
>           Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

> > The following bytes were arranged on 6 Nov 2009 by Andrew :

> > [snip]

> >> How much work do you have to do to create an adventure? Do you for
> >> example get bogged down with flags, variables, indexes?

> > You'll have to be more specific than that.  What's a flag, what's a
> > variable and what's an index?
> In other words, indicators whether specific events have occurred,
> variables to hold all the data, indexes for location, inventory etc.

'Indicators whether specific events have occurred': I'm not quite sure
how you plan to write any sort of adventure without using those.

'Variables to hold all the data': Sort of.  All game-relevant ones are
taken care of for you; the variables you have to worry about are the
'flags' above.

'Indexes for location, inventory, etc.': Either this is much more
complicated than it sounds, or you're still hoping for a 'magic wand'
solution.

> > The main difference in most interpreters is the sophistication of the
> > adventure you can create solely from data files, without having to write
> > any script.  While this interpreter is more advanced than some, e.g. in
> > the sophisticated 'container object' implementation, and the multi-level
> > hints, you'll still end up writing more or less the same amount of code
> > that you would in any other system.  There's no 'magic wand' a non-
> > programmer can wave to instantly create a complicated adventure, I'm
> > afraid. :-(

> Can you give an example of the script?

Yes - there are three in the download.

--
  __<^>__   "Your pet, our passion." - Purina
 / _   _ \  "Your potential, our passion." - Microsoft, a few months later
( ( |_| ) )
 \_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
n...@spam.invalid  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 16:29
Newsgroups: comp.sys.acorn.games
From: n...@spam.invalid
Date: Sat, 07 Nov 2009 16:29:55 GMT
Local: Sat 7 Nov 2009 16:29
Subject: Re: BAABE - new text adventure interpreter for RISC OS
In message <01077eb650.mar...@blueyonder.co.uk>
          Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

>>> This is just one reason why the sequel to Quicksand (It's No Game) still
>>> exists as nothing more than loose, and fairly incoherent notes on my
>>> system.
>>> I have some good ideas for the game, but haven't had the time to tie them
>>> together in a way that will enable me to start the [extra] mapping process.
>> I've only written one but found the hardest part having to keep track
>> of all the flags for objects, tasks etc. The story you can just flesh
>> out along the way provided you have a basic set of locations.

> Did you write the interpreter part yourself, or did you use an existing
> system?

I wrote the game from scratch in BASIC for the BBC Micro. The
"interpreter" was just breaking down text entered into component parts
and updating the players location and objects status. Another
complication was dialogue with game characters.

> Without a doubt, the only complicated code required is that in the
> interpreter.  Most of the script is simple, and even repetitive; an
> average line goes, "If the player hasn't done this yet, don't let him do
> that".  The main limiting factor is being bothered to cover all
> eventualities.  I'm still not sure quite what you mean by 'flags', but
> as the flags you'll be using will be BASIC variables of your choice of
> name, it can't be that difficult to keep track of them.

e.g. object can be taken: bit in object properties variable set as 1,
can't be taken: set as 0

> For the record, I definitely agree with what Vince says about writing
> the fiction part; once you know what you're doing, it's fairly easy, but
> you'll have to go to some considerable cognitive effort to work out how
> you want your adventure to play.

And spend the time.

Andrew
--


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
n...@spam.invalid  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 16:26
Newsgroups: comp.sys.acorn.games
From: n...@spam.invalid
Date: Sat, 07 Nov 2009 16:26:15 GMT
Local: Sat 7 Nov 2009 16:26
Subject: Re: BAABE - new text adventure interpreter for RISC OS
In message <9b1d7db650.mar...@blueyonder.co.uk>
          Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

> 'Indicators whether specific events have occurred': I'm not quite sure
> how you plan to write any sort of adventure without using those.
> 'Variables to hold all the data': Sort of.  All game-relevant ones are
> taken care of for you; the variables you have to worry about are the
> 'flags' above.
> 'Indexes for location, inventory, etc.': Either this is much more
> complicated than it sounds, or you're still hoping for a 'magic wand'
> solution.

I'm not, I was hoping you could give an idea whether its worth using
or whether its better to spend the same amount of time and effort
writing a BASIC adventure yourself. All I found I had to get around
was the concept of moving around within a map and then realised even
that could be done in different ways.

>>> The main difference in most interpreters is the sophistication of the
>>> adventure you can create solely from data files, without having to write
>>> any script.  While this interpreter is more advanced than some, e.g. in
>>> the sophisticated 'container object' implementation, and the multi-level
>>> hints, you'll still end up writing more or less the same amount of code
>>> that you would in any other system.  There's no 'magic wand' a non-
>>> programmer can wave to instantly create a complicated adventure, I'm
>>> afraid. :-(

>> Can you give an example of the script?

> Yes - there are three in the download.

Ok I'll have a look.

Andrew

--


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 17:39
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Sat, 07 Nov 2009 17:39:19 GMT
Local: Sat 7 Nov 2009 17:39
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 7 Nov 2009 by n...@spam.invalid:

Oh, right - in that case, it sounds as if BAABE was pretty much designed
for you!  The entire thing - script included - is written in
bog-standard BASIC, but all the complicated stuff is already done for
you in the interpreter - player input parsing (with provision for
different grammatical structures), keywords with more than one
word in them, movement between rooms, ready-made versions of the 'put',
'get' and 'drop' keywords, use of pronouns and the 'all' keyword, game
loading and saving, and more obscure features such as more than one
command on the same line and provision for clashes in noun keywords (so
you don't have to have just one of everything in your adventure).

Dialogue with game characters will still have to be implemented on the
script side, but it's a good idea to limit that anyway since it's very
confusing for players to try and work out what needs to be said.
Standard practice is to define a set of dummy noun keywords and check to
see if the player uttered any of them.

It's only when I see the length of the interpreter code that I realise
the benefits to be gained by not having to write or adapt it every time
I wanted to write a new game!

> > Without a doubt, the only complicated code required is that in the
> > interpreter.  Most of the script is simple, and even repetitive; an
> > average line goes, "If the player hasn't done this yet, don't let him do
> > that".  The main limiting factor is being bothered to cover all
> > eventualities.  I'm still not sure quite what you mean by 'flags', but
> > as the flags you'll be using will be BASIC variables of your choice of
> > name, it can't be that difficult to keep track of them.

> e.g. object can be taken: bit in object properties variable set as 1,
> can't be taken: set as 0

Yes, that's more or less exactly how the noun flags work (except it's
string, not numeric, based), but don't worry - under nearly all
circumstances, you will be able to completely ignore them.

--
  __<^>__   "Start off every day with a smile and get it over with."
 / _   _ \  - W.C. Fields
( ( |_| ) )
 \_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 7 Nov, 17:40
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Sat, 07 Nov 2009 17:40:37 GMT
Local: Sat 7 Nov 2009 17:40
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 7 Nov 2009 by n...@spam.invalid:

> In message <9b1d7db650.mar...@blueyonder.co.uk>
>           Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:

> > 'Indexes for location, inventory, etc.': Either this is much more
> > complicated than it sounds, or you're still hoping for a 'magic wand'
> > solution.
> I'm not, I was hoping you could give an idea whether its worth using
> or whether its better to spend the same amount of time and effort
> writing a BASIC adventure yourself. All I found I had to get around
> was the concept of moving around within a map and then realised even
> that could be done in different ways.

Briefly, yes, it's much, much quicker.  And you'll get a more advanced
and user-friendly game for your time as well.

--
  __<^>__
 / _   _ \  I don't have a problem with God; it's his fan club I can't stand.
( ( |_| ) )
\_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vince M Hudd  
View profile   Translate to Translated (View Original)
 More options 8 Nov, 13:26
Newsgroups: comp.sys.acorn.games
From: Vince M Hudd <s...@softrock.co.uk>
Date: Sun, 8 Nov 2009 13:26:39 +0000
Local: Sun 8 Nov 2009 13:26
Subject: Re: BAABE - new text adventure interpreter for RISC OS

n...@spam.invalid wrote:
> In message <gemini.ksqkyz003rpga0420.s...@softrock.co.uk>
>           Vince M Hudd <s...@softrock.co.uk> wrote:
> > As well as what Martin says below, I'd suggest that the absolute hardest
> > part of writing an adventure game is the thought and imagination that
> > must go into the fiction itself; planning the story that will unfold for
> > the player, mapping it, devising the puzzles, and writing all the
> > descriptions to go with all of that. All of which should be done before
> > you even think about the "programming" aspect of it.

[...]

> I've only written one but found the hardest part having to keep track of
> all the flags for objects, tasks etc.

That's largely because you were clearly tackling the _whole_ job. A good
adventure writing system should attempt to take care of as much of this as
possible on your behalf. You'll still need to handle some of this, unless
you want the result to be _very_ basic, because no system can predict what
puzzles _you_ will conceive - but certainly, the basics should be handled
for you, such as tracking the player through the map, dealing with the
player interface, describing things, picking things up, dropping them, etc.

> The story you can just flesh out along the way provided you have a basic
> set of locations.

Ugh!

If you mean fleshing out the descriptions and text, then, yes, fair enough -
changing "A blue room with a table and chair in the middle" to "This room
has light blue walls. The floor is a darker blue, but the bright light in
the middle of the ceiling blinds your view of that, so its particular shade
is harder to determine. There is a small kitchen table in the middle of the
room, with a single chair in front of it." I can accept and agree with.

But if that fleshing out you do _really_ mean the story itself, then "Ugh!"

Modifying it where necessary to fit with unforseen limitations in your
development system - or abilities - is also acceptable (due to necessity).
Or even to mactch your available resources, which I had to do with the final
part of Quicksand; I just couldn't get a photograph to match my original
ideas. But not fleshing out the story. That's making it up as you go along,
and can lead to a weaker, less coherent story.

> > > You'll have to be more specific than that.  What's a flag, what's a
> > > variable and what's an index?
> > > The main difference in most interpreters is the sophistication of the
> > > adventure you can create solely from data files, without having to
> > > write any script.  While this interpreter is more advanced than some,
> > > e.g. in the sophisticated 'container object' implementation,
> > Hmm... how did you go about that? I noted some ideas I had along those
> > lines on Iconbar at one point. (I was thinking along the lines of making
> > *everything* an object - even rooms - and giving all objects a container
> > status, defining how they could hold things; in, on, under, etc)
> This is what I mean by becoming bogged down with flags etc.

What I'm talking about there, though, is stuff that would largely be handled
by the adventure system itself. All you, as the writer of the game, would be
concerned with is the specific objects that the system handles, and which of
the system's flags to assign to it; once that's done, you should be able to
just ignore that aspect unless, as I've said, any of your puzzles require
special treatment, in which case you intervene at the script level in the
appropriate point.

Forgetting what I've said in that quoted paragraph, which was me thinking
about possibilities for a rewrite that will in all likelihood never happen,
and looking at the existing version of Trellis, and taking objects as the
example:

In Trellis, each object has a variable associated with it which is its
location. If the player has picked an object up, that location is zero. If
it's out of play, you can set it to be in a room that doesn't exist. (I tend
to use -1 which is more obvious, and you could of course consider using
_specific_ numbers for specific things; up to you - but again, that's
delving into special cases, which may or may not be necessary).

When you enter a room and your script loops to the point where the
description of the room must be given, Trellis deals with which objects can
be seen there by looking at that variable for each object and determining if
its room number is the one the player is in. (Having not yet looked, I don't
know if that's how Martin has gone about it). So, at the very simplest, your
object handling is to supply Trellis with a list of objects and their
properties - unless you want to intervene with how it handles a particular
object (to make it fit with your puzzles), Trellis will cope with seeing the
object, describing it, picking it up, dropping it, etc with no other effort
from you.

So, instead of writing some source code which basically says:

* Look up the description for room 43 and print it.
* Look up the exits for room 43 and print which ways the player can go.
* Look through the objects and see which ones are in room 43, printing
  their short description.

(but which would be a bit more involved than that) you can instead just
issue a script command (or a small set of them) to do _all_ of that. Your
task as the adventure writer becomes much more simplified.

I think in one of your other posts, you've mentioned using a flag to
indicate whether the player can take a particular object. The way I handled
that in Trellis is to assign each object a weight, and a maximum weight the
player can pick up. That means the system can automatically handle cases of
the player only being able to lift the sack of potatoes if he isn't already
carrying the bag of cement - all you have to do is set these figures
correctly at the start. If you just want a simpler "can or can't pick up",
set the weight of everything he can pick up at zero, set his max to one, and
set the weight of anything you want seen as an object, but which the player
can't take, to two. I use bigger numbers for the max and the weight of
'fixed' objects, to make it more obvious - but as long as the latter are
bigger than the max, Bob's your uncle. You don't have to worry about
handling these things - just about setting the values correctly in the
Object definitions file.

The whole point is so that you can devote considerably more time to the
fiction itself, and how it plays out, and let an already existing system
handle much of the standard work. This is, in fact, not unlike how we go
about developing things in general anyway - rather than keep writing the
same bits of source code over and over again, we re-use it by putting it in
a library, which our programs call; think of a good adventure development
system along those lines: It's a programming library for the adventure
writer.

--
Vince M Hudd - Soft Rock Software
http://www.softrock.co.uk
http://misc.vinceh.com


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 8 Nov, 16:06
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Sun, 08 Nov 2009 16:06:54 GMT
Local: Sun 8 Nov 2009 16:06
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 8 Nov 2009 by Vince M Hudd :

[big snip]

Regarding your points above, and your earlier comments on my conversion
of Pyramid...

When I converted Pyramid, I was determined that it should be as faithful
a conversion as possible - even including original bugs if necessary.
(I seem to remember, for example, that the only two valid synonyms for
the graffiti were 'TEXT' and 'WRIT', which always puzzled me!)  For this
reason, I actually wrote a BASIC program to convert Trellis data files
into BAABE ones - I could let you have it if you like, although it
probably isn't much use for anything else, especially since BAABE
doesn't have a 'weight' system and so it simply treated weight 200 as
the equivalent of the 'do not pick up' flag.  Also, considerably more
work was required to re-implement the script in 'library' rather than
'!RunImage' form - see below.

While writing the converter, I realised there were several ways in which
BAABE differed from Trellis in the most fundemental aspects of its
rationale. To take just one example, you wondered whether I had gone
about object lists in room descriptions the same way you had; no, I
haven't.  In fact, BAABE's system is the complete opposite.  Rather keep
track of which nouns are in which rooms, it keeps track of which rooms
contain which nouns.  I find this considerably simplifies things in
matters of room descriptions, since you only have to read out one list,
rather than scan the entire noun database.  A disadvantage would be that
you can't just easily check to see which room a noun's in, but I find
that, in most circumstances, if you want to do this you already know
which room it should be in and you can use the function (FNhere)
provided for that purpose.

Another thing you mentioned above is that Trellis is fundementally a
library for an interpreted script file.  BAABE, on the other hand, is an
engine of which certain aspects may be readily customised, by means of
filters and handlers the interpreter calls when necessary.

I'm not saying either approach is necessarily better than the other,
except perhaps that my approach doesn't necessitate the writing of an
entire language specification and, under most circumstances, is less
work for the programmer, but that Trellis is more customisable in
certain fundemental aspects (duplicating the eight turns of darkness
- suppressed descriptions - was a nightmare!).

--
  __<^>__   Red sky in the morning: Shepherd's warning
 / _   _ \  Red sky at night: Shepherd's delight
( ( |_| ) ) Mince and potatoes: Shepherd's pie
 \_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vince M Hudd  
View profile   Translate to Translated (View Original)
 More options 11 Nov, 12:55
Newsgroups: comp.sys.acorn.games
From: Vince M Hudd <s...@softrock.co.uk>
Date: Wed, 11 Nov 2009 12:55:00 +0000
Subject: Re: BAABE - new text adventure interpreter for RISC OS

Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:
> The following bytes were arranged on 8 Nov 2009 by Vince M Hudd :

[...]

> Regarding your points above, and your earlier comments on my conversion of
> Pyramid...
> When I converted Pyramid, I was determined that it should be as faithful a
> conversion as possible - even including original bugs if necessary.

Bugs? Those within the adventure, or those within Trellis? (As I discovered
when I worked on Quicksand - it's absolutely full of bugs and some terrible
programming.)

> (I seem to remember, for example, that the only two valid synonyms for the
> graffiti were 'TEXT' and 'WRIT', which always puzzled me!)

Probably just down to a lack of imagination or thought on my part at the
time. The game's own history may be a factor as well, since it has origins
which predate Trellis. I forget the full detail, but the game as written has
gone through several incarnations on more than one platform and programming
environment, since I first learnt to press a key on a computer keyboard.

[...]

--
Vince M Hudd - Soft Rock Software
http://www.softrock.co.uk
http://misc.vinceh.com


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Bazley  
View profile   Translate to Translated (View Original)
 More options 12 Nov, 16:30
Newsgroups: comp.sys.acorn.games
From: Martin Bazley <martin.baz...@blueyonder.co.uk>
Date: Thu, 12 Nov 2009 16:30:17 GMT
Local: Thurs 12 Nov 2009 16:30
Subject: Re: BAABE - new text adventure interpreter for RISC OS
The following bytes were arranged on 11 Nov 2009 by Vince M Hudd :

> Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:
> > When I converted Pyramid, I was determined that it should be as faithful a
> > conversion as possible - even including original bugs if necessary.

> Bugs? Those within the adventure, or those within Trellis? (As I discovered
> when I worked on Quicksand - it's absolutely full of bugs and some terrible
> programming.)

The adventure - I only found one that I know of, that below.

> > (I seem to remember, for example, that the only two valid synonyms for the
> > graffiti were 'TEXT' and 'WRIT', which always puzzled me!)

> Probably just down to a lack of imagination or thought on my part at the
> time. The game's own history may be a factor as well, since it has origins
> which predate Trellis. I forget the full detail, but the game as written has
> gone through several incarnations on more than one platform and programming
> environment, since I first learnt to press a key on a computer keyboard.

It wasn't so much there only being two of them, it was the fact that one
of them was incomplete!  As a result, the only way to read the text was
to type 'READ TEXT', not 'READ WRITING' or 'READ GRAFFITI', etc. - took
me some time when first playing the game to figure that out!

--
  __<^>__   "Your pet, our passion." - Purina
 / _   _ \  "Your potential, our passion." - Microsoft, a few months later
( ( |_| ) )
 \_>   <_/  ======================= Martin Bazley ==========================


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vince M Hudd  
View profile   Translate to Translated (View Original)
 More options 12 Nov, 18:38
Newsgroups: comp.sys.acorn.games
From: Vince M Hudd <s...@softrock.co.uk>
Date: Thu, 12 Nov 2009 18:38:06 +0000
Local: Thurs 12 Nov 2009 18:38
Subject: Re: BAABE - new text adventure interpreter for RISC OS

Martin Bazley <martin.baz...@blueyonder.co.uk> wrote:
> The following bytes were arranged on 11 Nov 2009 by Vince M Hudd :
> > Bugs? Those within the adventure, or those within Trellis? (As I
> > discovered when I worked on Quicksand - it's absolutely full of bugs and
> > some terrible programming.)
> The adventure - I only found one that I know of, that below.
> > > (I seem to remember, for example, that the only two valid synonyms for
> > > the graffiti were 'TEXT' and 'WRIT', which always puzzled me!)

[...]

> It wasn't so much there only being two of them, it was the fact that one
> of them was incomplete!  As a result, the only way to read the text was to
> type 'READ TEXT', not 'READ WRITING' or 'READ GRAFFITI', etc. - took me
> some time when first playing the game to figure that out!

READ WRITING should have worked, unless I did something really stupid to
prevent it.

The way the "WORDS" is that the first word on the line is the keyword that
is used in the script for recognising what the player has entered, with the
rest on each line being seen as synonyms for that word.

So for a line in the words file that reads:

TEXT WRIT

What *should* happen is that if, in the script, there's a line:

IF FNSaid("TEXT") THEN blah-blah-blah

(The actual condition would also check for READ, obviously, but...)

The FNSaid function in Trellis itself should find the line in the words file
that begins with "TEXT" and then use INSTR to check for each item on that
line in the player's input string. "READ WRITING" contains "WRIT" so that
should match. "READ WHAT'S WRITTEN" should also work (which is why I used
"WRIT" instead of "WRITING"), etc.

But if that *didn't* work, then I guess the rest of the first sentence after
"unless" is probably the case. i.e. I did something really stupid at some
point which stopped it working. I probably "fixed" something else. :)

<fires up the Iyonix, in much the same way that Gene Hunt fires up the
Quattro. Or not.>

A quick glance at the words and script files and everything /seems/ fine.
The actual line is:

IF (FNSaid("READ") OR FNSaid("EXAMINE")) AND FNSaid("TEXT") AND Store%(3)=10
THEN

Store%(3) is the player location - 10 being the room with the writing. That
part of the condition is ensuring you can only read the writing if you can
see it - ie if you're there. By checking for (READ OR EXAMINE) AND TEXT
means you should be able to READ or EXAMINE the words.

Rather than play it through (again!), I've just added "WRIT," as a synonym
to "PEDESTAL" in the Words file, and built the modified game. (The pedestal
appears in the opening room). Typing "EXAMINE WRITING" now serves to examine
the pedestal - this suggests that the FNSaid function is working correctly.
(Well, in the latest build of Trellis, anyway - the one used for Quicksand.
OTTOMH, I don't think any changes were made to that area in the program -
mainly it was to do with screen modes and graphics, etc).

--
Vince M Hudd - Soft Rock Software
http://www.softrock.co.uk
http://misc.vinceh.com


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google