My dream interpreter.

G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Having begun to think about interpreters thanks to the Filfre thread,
I thought I'd note down what I'd like from my dream interpreter...

- Universality. Perhaps some sort of modular setup where the basic
interpreter comes packaged with support for z-machine (including v6,
gosh darn it), TADS, glx and other such common formats, and optional
modules to interpret, say, Level 9 games or Magnetic Scrolls games.

- Integrated scrollback.

- Easily-changable fonts and colours.

- Copy-and-paste from the text to the command line so that typing that
NPC's bizarre name is no longer a hassle.

- An optional inventory window, like in Filfre, to prevent me from
typing "i" fifty-odd times every adventure.

- Support for graphics and sound.

- An auto-mapping facility, like some MUD clients have.

It will probably never happen, though...
 

Tor

Distinguished
Nov 16, 2002
23
0
18,510
Archived from groups: rec.games.int-fiction (More info?)

Okay. I'll add to the list my pet peeve: good text layout.

- MARGINS! (I can't say this loud enough)

- User-configurable line spacing.

- Default color and font settings that won't gouge out my eyes.

I like drawing maps with pen and paper, so auto-mapping and inventory
windows will not appear in Gargoyle. Even if it were not for the actual
difficulty in implementing such beasts in a universal interpreter...

While I'm pipe dreaming: a program like iTunes for interactive fiction
where I can organize my downloaded games and save games and read/write
reviews and ratings. Then a browser for the IF Archive, like the iTMS,
with the info from baf's guide, the if ratings site and short blurbs
about each game.
 

Tor

Distinguished
Nov 16, 2002
23
0
18,510
Archived from groups: rec.games.int-fiction (More info?)

Actually, if you do support Glulx that means you support Glk and most
of the terps mentioned (aside from z-code v6 and the html parts of tads
and fancy text and multimedia layout of hugo) already have good and
working Glk ports. So it's mostly a matter of implementing the Glk API
and you get semi-universality for free <shameless-plug> as seen in
Gargoyle </>.

Now if you're really ambitious you make your API a superset of Glk that
is capable of HTML-TADS layout and Hugos wonky display model (and
thereby probably also z-code v6). Then you get the benefit of striking
the "semi-" in semi-universality :)
 

Nathan

Distinguished
Apr 5, 2004
155
0
18,680
Archived from groups: rec.games.int-fiction (More info?)

Arthur Boff wrote:
> Having begun to think about interpreters thanks to the Filfre thread,
> I thought I'd note down what I'd like from my dream interpreter...
>
> - Universality. Perhaps some sort of modular setup where the basic
> interpreter comes packaged with support for z-machine (including v6,
> gosh darn it), TADS, glx and other such common formats, and optional
> modules to interpret, say, Level 9 games or Magnetic Scrolls games.

I don't understand. What's the advantage of having one interpreter for
everything?

> - Integrated scrollback.
>
> - Easily-changable fonts and colours.

What the heck for? If it was good enough for Zork, it's good enough for
me.

> - Copy-and-paste from the text to the command line so that typing that
> NPC's bizarre name is no longer a hassle.

If this is truly a hassle in a given game (and you can't get around
it with pronouns), I blame the author. I might stop playing the game
at this point.

> - An optional inventory window, like in Filfre, to prevent me from
> typing "i" fifty-odd times every adventure.

I didn't like the inventory window in Beyond Zork. I prefer "I".

> - Support for graphics and sound.

Hear, hear! I never could get proper sound for Lurking Horror and
Sherlock under Windows 95.

> - An auto-mapping facility, like some MUD clients have.

I have no use for this.

What I would really like to see in an interpreter is full debugging
features, at least for the Z-machine. I want to be able to manipulate
the object tree, view and change object attributes, global variables,
arbitrary memory locations, etc.
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

On 31 May 2005 22:41:33 -0700, Tor wrote:

> I like drawing maps with pen and paper, so auto-mapping and inventory
> windows will not appear in Gargoyle. Even if it were not for the actual
> difficulty in implementing such beasts in a universal interpreter...

By the way, regarding gargoyle: I can't play Bad Machine on it; I get a
stack overflow error. Bad Machine is a pretty pathological game, granted.
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Tor wrote:
>
> While I'm pipe dreaming: a program like iTunes for interactive fiction
> where I can organize my downloaded games and save games and read/write
> reviews and ratings. Then a browser for the IF Archive, like the iTMS,
> with the info from baf's guide, the if ratings site and short blurbs
> about each game.

You know, thinking about it a common frontend for various IF formats
with these sorts of features could be much more viable than a
universal interpreter... so you'd have one program which, when you
load it, gives you a frontend page similar to the Game Chest in HTML
TADs. When you tell it to load a game, rather than using its own
interpreter it just takes a look at the game file, works out which
interpreter to use, and fires up the appropriate one. (You could even
tell it to use specific interpreters for specific games.)
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Nathan wrote:
>
> Arthur Boff wrote:
>
>>Having begun to think about interpreters thanks to the Filfre thread,
>>I thought I'd note down what I'd like from my dream interpreter...
>>
>>- Universality. Perhaps some sort of modular setup where the basic
>>interpreter comes packaged with support for z-machine (including v6,
>>gosh darn it), TADS, glx and other such common formats, and optional
>>modules to interpret, say, Level 9 games or Magnetic Scrolls games.
>
> I don't understand. What's the advantage of having one interpreter for
> everything?

Simplicity. Rather than having half-a-dozen different icons on my
desktop, or having to plough through a whole bunch of start menu
subsections to find the interpreter I want, I can just have one button
in the quickstart menu I can hit to run a game.

>>- Integrated scrollback.
>>
>>- Easily-changable fonts and colours.
>
> What the heck for? If it was good enough for Zork, it's good enough for
> me.

Some people like to have the option.

>>- Copy-and-paste from the text to the command line so that typing that
>>NPC's bizarre name is no longer a hassle.
>
> If this is truly a hassle in a given game (and you can't get around
> it with pronouns), I blame the author. I might stop playing the game
> at this point.

even long words, though, if you can copy-and-paste with just one click
on a word (like you can in filfre) it makes life easier.

>>- An optional inventory window, like in Filfre, to prevent me from
>>typing "i" fifty-odd times every adventure.
>
> I didn't like the inventory window in Beyond Zork. I prefer "I".

I love inventory windows, myself. I suspect many people would like to
have the option.
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Arthur Boff wrote:
> Having begun to think about interpreters thanks to the Filfre thread, I
> thought I'd note down what I'd like from my dream interpreter...
>
> - Universality. Perhaps some sort of modular setup where the basic
> interpreter comes packaged with support for z-machine (including v6,
> gosh darn it), TADS, glx and other such common formats, and optional
> modules to interpret, say, Level 9 games or Magnetic Scrolls games.
>
> - Integrated scrollback.
>
> - Easily-changable fonts and colours.
>
> - Copy-and-paste from the text to the command line so that typing that
> NPC's bizarre name is no longer a hassle.
>
> - An optional inventory window, like in Filfre, to prevent me from
> typing "i" fifty-odd times every adventure.
>
> - Support for graphics and sound.
>
> - An auto-mapping facility, like some MUD clients have.
>
> It will probably never happen, though...

I want TAB to complete my current word with all the words in lexical
scope, or all the words that have been displayed on the last few pages,
just like in most shells!

Example :
You see a lantern.

> TAKE LAN[TAB] gives TAKE LANTERN

Other example :
You see a communist and a communicator.

> X COM[TAB gives X COMMUNI (common parts)
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Hmmm... I wasn't going to say anything until the project was farther
along, but since it's come up: I've recently begun doing research into
creating just such an application.

My plan is to implement an application using either the Firefox or
XULRunner codebase (depending on how quickly XULRunner matures). This
would allow total customization and extremely easy porting.

Storing of the game library is easy, any XUL-based application has
access to RDF databases, which are ideal for this sort of thing. XUL
applications furthermore have instant web-browsing capabilities, so
Baf's Guide/IF Archive integration should be trivial.

The tricky part is the interpreter plugins. Ideally, I'd like to provide
three display modes: Text mode, HTML mode, and Canvas mode. In text
mode, the plugin would output plain text, which would then be pumped
into Gecko to be displayed just like a regular text file. In HTML mode,
the plugin would again output a text stream that gets pumped into Gecko,
but this time it would be rendered as HTML. Gecko can handle a wide
variety of HTML styles, both standards-compliant and otherwise, so it
should be able to handle most of what multimedia terps can throw at it,
and a simple translation layer in the plugin could strip and internally
handle the really exotic stuff (Mike's planning to replace most of HTML
TADS's nonstandard multimedia-oriented tags with API functions sometime
in the future anyway). The final method would give the plugin full
control of the window, like when you load Acrobat Reader as a browser
plugin. This would be a last resort for interpreters that simply can't
be made to output HTML, and also provide a quick but non-ideal way to
port existing terps. However, I don't really know if this plan is
possible, the documentation on this aspect of Mozilla programming is scarce.

Between XUL and XHTML, a Mozilla-based app should be capable of
recreating any feature that any of the GUI terps currently have,
including HTML TADS banners (emulate with frames, the Netscape LAYER
tag, or even XUL boxes), ADRIFT's automapper and image window, and all
of Glux and Hugo's multimedia features. I just have to figure out how
to create plugins that can send HTML streams to Gecko.

Another feature I'd like to have, but which I'm even less sure how to
implement, is to have the collection manager track which save files go
with which games, and provide the TADS-style ability to start a game and
immediately auto-load a selected save position.

Now as I said, I have just recently begun looking into this, and I've
got a dozen ideas for actual games spinning in my head, so I don't know
if anything will come of it. If I stick with it, I think at the very
least I should be able to make an "IF Bookshelf" application that can
organize collections and launch system-associated interpreters to run
the games.

And incidentally, if anyone's familiar enough with XPCOM and/or Netscape
plugin authoring to help with any the above issues, please feel free to
email me.

--
Ryukage
 

samwyse

Distinguished
Feb 9, 2002
166
0
18,680
Archived from groups: rec.games.int-fiction (More info?)

Arthur Boff wrote:
> Having begun to think about interpreters thanks to the Filfre thread, I
> thought I'd note down what I'd like from my dream interpreter...
>
> - Universality. Perhaps some sort of modular setup where the basic
> interpreter comes packaged with support for z-machine (including v6,
> gosh darn it), TADS, glx and other such common formats, and optional
> modules to interpret, say, Level 9 games or Magnetic Scrolls games.

Hello!!! Remember IFP? It does all of this, and it's already in the
archive: http://www.ifarchive.org/if-archive/programming/ifp/

Admittedly, it *is* only for Linux, but I'd bet it can be ported to
MacOS X easily enough. Windows, though...
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Damian Dollahite wrote:
> My plan is to implement an application using either the Firefox or
> XULRunner codebase (depending on how quickly XULRunner matures). This
> would allow total customization and extremely easy porting.

Although it's not quite the same thing, you might want to take a look at
Gnusto: http://gnusto.mozdev.org/, which is a Javascript Z-Machine for
Firefox, in case you haven't come across it before.

David
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

David Kinder wrote:
> Damian Dollahite wrote:
>
>> My plan is to implement an application using either the Firefox or
>> XULRunner codebase (depending on how quickly XULRunner matures). This
>> would allow total customization and extremely easy porting.
>
>
> Although it's not quite the same thing, you might want to take a look at
> Gnusto: http://gnusto.mozdev.org/, which is a Javascript Z-Machine for
> Firefox, in case you haven't come across it before.
>

Yes, I'm aware of Gnusto. If/when I decide my project is going
somewhere, I'll probably contact the Gnusto developers to coordinate
efforts and share ideas.

--
Ryukage
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Bertrand Augereau wrote:
[snip]
> I want TAB to complete my current word with all the words in lexical
> scope, or all the words that have been displayed on the last few pages,
> just like in most shells!
>
> Example :
> You see a lantern.
>
>> TAKE LAN[TAB] gives TAKE LANTERN
>
>
> Other example :
> You see a communist and a communicator.
>
>> X COM[TAB gives X COMMUNI (common parts)

Frotz does this already, completing against the dictionary.
 

Tor

Distinguished
Nov 16, 2002
23
0
18,510
Archived from groups: rec.games.int-fiction (More info?)

Damian Dollahite wrote:

> My plan is to implement an application using either the Firefox or
> XULRunner codebase (depending on how quickly XULRunner matures). This
> would allow total customization and extremely easy porting.

> And incidentally, if anyone's familiar enough with XPCOM and/or Netscape
> plugin authoring to help with any the above issues, please feel free to
> email me.

Firefox, please :)

Using the browser's text and media layout capabilities sounds like
a cool idea, if you can only get the actual input line editing to
work smoothly.

NPAPI plugins (like Flash and Acrobat) as opposed to XUL-scripting
have a lot more limited capability for interacting with the browser
user interface, but they can be scripted if they expose
some XPCOM functions.

I've written a Mozilla plugin for my PDF viewer, so I have some
experience with NPAPI development. I did briefly consider making
a plugin for Gargoyle :) But I must say I would prefer launching a
helper application. Take a look at my PDF plugin here (Windows only
for now, but I'm working on the Linux port):

http://ghostpdf.com/new.html

If you ever need any help with NPAPI stuff, feel free to drop
me an email.
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

On 1 Jun 2005 07:59:14 -0700, Nathan wrote:

>> - Easily-changable fonts and colours.
> What the heck for? If it was good enough for Zork, it's good enough for
> me.

Back then my eyes were better, and my screen smaller. :)

M.
--
ClamWin, an open source antivirus software for Windows:
http://www.clamwin.com/
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

"Alex Watson" <alexwatson@deadspam.com> a écrit dans le message de news:
429f900e$0$2604$da0feed9@news.zen.co.uk...
> Bertrand Augereau wrote:
> [snip]
>> I want TAB to complete my current word with all the words in lexical
>> scope, or all the words that have been displayed on the last few pages,
>> just like in most shells!
>>
>> Example :
>> You see a lantern.
>>
>>> TAKE LAN[TAB] gives TAKE LANTERN
>>
>>
>> Other example :
>> You see a communist and a communicator.
>>
>>> X COM[TAB gives X COMMUNI (common parts)
>
> Frotz does this already, completing against the dictionary.

The problem is that it does this with so many words that it hardly even
completes anything in a large size game.
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Joseph, who received his answers directly from G-d, was in many ways the
ideal dream interpreter. For those who spurn Divine Providence, there are
always the Egyptians and Akkadians. The latter in particular were renowned
for their eye for any detail that could potentially carry meaning, however
insignificant to a layman. The Babylonians, of course, were in possession of
the best dream catalogues and case histories (which they only consulted when
they ran out of ideas of their own). The Greeks, I think, were a bit of a
let-down since they supplemented their analyses with the divination from the
entrails of sacrificed animals. I'm not saying that the bowels of a dog
won't provide with you with important insights into the interpretation of
your dreams. What I'm saying is that an inter-disciplinary approach often
leads to dilettantism.


--

"I may be an ugly troll, but my hooves are made of gold."
Jacek Pudlo
while under the influence
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

In article <429fffe4$0$3121$8fcfb975@news.wanadoo.fr>,
Bertrand Augereau <baugereau@ifrance.kom> wrote:
>"Alex Watson" <alexwatson@deadspam.com> a écrit dans le message de news:
>429f900e$0$2604$da0feed9@news.zen.co.uk...
>> Bertrand Augereau wrote:
>> [snip]
>>> I want TAB to complete my current word with all the words in lexical
>>> scope, or all the words that have been displayed on the last few pages,
>>> just like in most shells!
>>>
>>> Example :
>>> You see a lantern.
>>>
>>>> TAKE LAN[TAB] gives TAKE LANTERN
>>>
>>>
>>> Other example :
>>> You see a communist and a communicator.
>>>
>>>> X COM[TAB gives X COMMUNI (common parts)
>>
>> Frotz does this already, completing against the dictionary.
>
>The problem is that it does this with so many words that it hardly even
>completes anything in a large size game.

Tabbing "in context" would seem to require interaction with the parser, or at
least the grammar. So "TA[tab] might be able to presume a verb TAKE (but then
what about NPC names like "TABITHA" which could also?), and TAKE LAN[tab]
might be able to presume an object in scope.

Sounds complex to me. Anyone know if it's the least bit possible?
--
"Yo' ideas need to be thinked befo' they are say'd" - Ian Lamb, age 3.5
http://www.cs.queensu.ca/~dalamb/ qucis->cs to reply (it's a long story...)
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

> Tabbing "in context" would seem to require interaction with the parser, or at
> least the grammar. So "TA[tab] might be able to presume a verb TAKE (but then
> what about NPC names like "TABITHA" which could also?), and TAKE LAN[tab]
> might be able to presume an object in scope.
>
> Sounds complex to me. Anyone know if it's the least bit possible?

Yep, I know. But we're in the "dream interpreter" section :)

But with a few heuristics, it might become manageable.
The first word is likely to be a verb.
The more recently a word has been uses, the more probability it has of
being reused.
A word that has never been displayed should not be guessed.
You don't want to complete articles so TH should not give THE if it has
the choice between THE and THEO
And so on...
 
G

Guest

Guest
Archived from groups: rec.games.int-fiction (More info?)

Bertrand Augereau wrote:
>> Tabbing "in context" would seem to require interaction with the
>> parser, or at
>> least the grammar. So "TA[tab] might be able to presume a verb TAKE
>> (but then
>> what about NPC names like "TABITHA" which could also?), and TAKE LAN[tab]
>> might be able to presume an object in scope.
>>
>> Sounds complex to me. Anyone know if it's the least bit possible?
>
>
> Yep, I know. But we're in the "dream interpreter" section :)
>
> But with a few heuristics, it might become manageable.
> The first word is likely to be a verb.
> The more recently a word has been uses, the more probability it has of
> being reused.
> A word that has never been displayed should not be guessed.
> You don't want to complete articles so TH should not give THE if it has
> the choice between THE and THEO
> And so on...

Which makes me think a non-conservative approach just like windows shell
where TAB cycles between the different possibilities would be much
better than UNIX-like common part completion.
We "just" have to assign a probability to each word with some heuristic
and cycle these words in decreasing probability order.